=== Oxyplug Prefetch & Prerender ===
Contributors: oxyplug
Tags: prerender, prefetch, core web vitals, speculationrules, oxy
Requires at least: 5.3
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 3.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Faster loading next pages by prerendering/prefetching all links a user hovers or addresses you prefer. It improves UX and Core Web Vitals score.

== Description ==
* Supported only on Chromium-based browsers since version 121+
* In the post/product category pages, first X items will be prefetched before the user clicks. The default value for X is **4** items and can be adjusted via the plugin settings.
* If a user hovers over a link, the destination page will be prefetched before click. Please note that this option is disabled by default and can be enabled via the plugin settings.
* It is also possible to prefetch some custom links on posts/products by entering preferred URLs.
* Similar actions can be applied with prerender.

== Installation ==
Install and Activate it.
For better result, customize the settings as you wish.

== Screenshots ==
1. You have the option to determine the number of pages to be prefetched automatically. (immediate)
2. Prefetch links on mouse hover. (moderate)
3. You have the option to determine the number of pages to be prerendered automatically. (immediate)
4. Prerender links on mouse hover. (moderate)
5. Excluding with specifying hrefs if needed.
6. Specify URLs to be prerendered when on specific pages.
7. Specify URLs to be prefetched when on specific pages.
8. The speculationrules that contain the list of the urls to be prefetched and prerendered immediately.
9. The speculationrules that contain all the urls to be prefetched and prerendered moderately excluding the ones that are the values for "not" keys.

== Changelog ==
= 3.1.0 =
*Integrate with WordPress core Speculative Loading (WP 6.8+): feed default exclusions into core and suppress core output when our features are active to avoid duplicate rules*
*Add No-Vary-Search support so prefetch/prerender entries still match URLs that differ only by tracking/sort query params (configurable)*
*Make eagerness (conservative/moderate/eager) configurable per feature for prefetch and prerender*
*Broaden default exclusions to protect state-changing GET links (wp-login, wp-admin, comments, checkout/my-account, add-to-cart, remove_item, undo_item, _wpnonce, _wp_http_referer)*
*Add CSS opt-out via selector_matches (.no-prefetch/.no-prerender/.no-speculation and rel="nofollow")*
*Add a prerender + analytics caveat note in the settings UI*
*Add oxy_prefetch_immediate_rules / oxy_prefetch_moderate_rules filters (e.g. to deliver rules via the Speculation-Rules HTTP header) and exclusion filters*
*Tested up to 6.8*

= 3.0.2 =
*Add str_starts_with() polyfill for PHP 7.4 compatibility*
*Fix same-host validation for custom prefetch/prerender URLs*
*Add capability checks to settings and notice AJAX handlers*
*Use wp_update_post() instead of direct DB writes*
*Add uninstall cleanup of options, transients and post meta*
*Load admin assets only on relevant screens*
*Tested up to 7.0*

= 3.0.1 =
*Fix metabox getting hidden*
*Fix metabox undefined error if not exist*
*Set --md-outlined-button-outline-color*

= 3.0.0 =
*Remove selector*
*Apply Material Design 3 design*

= 2.1.1 =
*Revamp to speculation rules for prerender and prefetch instead of link tag*
*Fix minor bugs*
*Tested up to 6.5.2*

= 2.0.1 =
*Fix Prerender/Prefetch on hover*
*Tested up to 6.4.2*

= 2.0.0 =
*Prerender added, similar to prefetch*

= 1.3.0 & 1.4.0 =
*The menu moved to Tools menu as a submenu*
*Some unnecessary Headsup! removed*
*Tested up to 6.1*

= 1.2.0 =
*Some strings that were static got dynamic to be translated*
*French translation added*

= 1.1.0 =
*Prefetch a static url when in a page*
*Fix `save_post` hook error*

= 1.0.1 =
*Add default value for hover delay*
*Add `Settings` link in plugin list*

= 1.0.0 =
*Release Date - 18 January 2022*
