Speculative Loading
by WordPress Performance Team 5 (18 reviews)

Speculative Loading

Enables browsers to speculatively prerender or prefetch pages to achieve near-instant loads based on user interaction.

Compatible with WP 7.0.1
v1.6.0 Current Version v1.6.0
Updated 1 month ago Last Update on 20 May, 2026
Refreshed 10 hours ago Last Refreshed on
View on WordPress.org
Rank
#601
No change
Active Installs
70K+
-6.4%
KW Avg Position
9.4
No change
Downloads
433.6K
+152 today
Support Resolved
100%
No change
Rating
100%
Review 5 out of 5
5 (18 reviews)

Next Milestone 80K

Total Progress 49.2%
70K+ 80K+
32
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 5,080 more installs to reach 80K+

Rank Changes

571 586 601 616 631 10-07-2026 11-07-2026 12-07-2026 13-07-2026 14-07-2026 15-07-2026 16-07-2026 17-07-2026
571 586 601 616 631 02-07-2026 03-07-2026 04-07-2026 05-07-2026 06-07-2026 07-07-2026 08-07-2026 09-07-2026 10-07-2026 11-07-2026 12-07-2026 13-07-2026 14-07-2026 15-07-2026 16-07-2026 17-07-2026
571 586 601 616 631 17-06-2026 18-06-2026 19-06-2026 20-06-2026 21-06-2026 22-06-2026 23-06-2026 24-06-2026 25-06-2026 26-06-2026 27-06-2026 28-06-2026 29-06-2026 30-06-2026 01-07-2026 02-07-2026 03-07-2026 04-07-2026 05-07-2026 06-07-2026 07-07-2026 08-07-2026 09-07-2026 10-07-2026 11-07-2026 12-07-2026 13-07-2026 14-07-2026 15-07-2026 16-07-2026 17-07-2026
571 586 601 616 631 18-04-2026 19-04-2026 20-04-2026 21-04-2026 22-04-2026 23-04-2026 24-04-2026 25-04-2026 26-04-2026 27-04-2026 28-04-2026 29-04-2026 30-04-2026 01-05-2026 02-05-2026 03-05-2026 04-05-2026 05-05-2026 06-05-2026 07-05-2026 08-05-2026 09-05-2026 10-05-2026 11-05-2026 12-05-2026 13-05-2026 14-05-2026 15-05-2026 16-05-2026 17-05-2026 18-05-2026 19-05-2026 20-05-2026 21-05-2026 22-05-2026 23-05-2026 24-05-2026 25-05-2026 26-05-2026 27-05-2026 28-05-2026 29-05-2026 30-05-2026 31-05-2026 01-06-2026 02-06-2026 03-06-2026 04-06-2026 05-06-2026 06-06-2026 07-06-2026 08-06-2026 09-06-2026 10-06-2026 11-06-2026 12-06-2026 13-06-2026 14-06-2026 15-06-2026 16-06-2026 17-06-2026 18-06-2026 19-06-2026 20-06-2026 21-06-2026 22-06-2026 23-06-2026 24-06-2026 25-06-2026 26-06-2026 27-06-2026 28-06-2026 29-06-2026 30-06-2026 01-07-2026 02-07-2026 03-07-2026 04-07-2026 05-07-2026 06-07-2026 07-07-2026 08-07-2026 09-07-2026 10-07-2026 11-07-2026 12-07-2026 13-07-2026 14-07-2026 15-07-2026 16-07-2026 17-07-2026
Current #601
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

100 150 200 250 300 350 10-07-2026 11-07-2026 12-07-2026 13-07-2026 14-07-2026 15-07-2026 16-07-2026 17-07-2026
50 100 150 200 250 300 350 400 02-07-2026 03-07-2026 04-07-2026 05-07-2026 06-07-2026 07-07-2026 08-07-2026 09-07-2026 10-07-2026 11-07-2026 12-07-2026 13-07-2026 14-07-2026 15-07-2026 16-07-2026 17-07-2026
0 100 200 300 400 500 600 17-06-2026 18-06-2026 19-06-2026 20-06-2026 21-06-2026 22-06-2026 23-06-2026 24-06-2026 25-06-2026 26-06-2026 27-06-2026 28-06-2026 29-06-2026 30-06-2026 01-07-2026 02-07-2026 03-07-2026 04-07-2026 05-07-2026 06-07-2026 07-07-2026 08-07-2026 09-07-2026 10-07-2026 11-07-2026 12-07-2026 13-07-2026 14-07-2026 15-07-2026 16-07-2026 17-07-2026
0 100 200 300 400 500 600 700 18-04-2026 21-04-2026 24-04-2026 27-04-2026 30-04-2026 03-05-2026 06-05-2026 09-05-2026 12-05-2026 15-05-2026 18-05-2026 21-05-2026 24-05-2026 27-05-2026 30-05-2026 02-06-2026 05-06-2026 08-06-2026 11-06-2026 14-06-2026 17-06-2026 20-06-2026 23-06-2026 26-06-2026 29-06-2026 02-07-2026 05-07-2026 08-07-2026 11-07-2026 14-07-2026 17-07-2026
0 5K 10K 15K 20K 17-07-2025 29-07-2025 10-08-2025 22-08-2025 03-09-2025 15-09-2025 27-09-2025 09-10-2025 21-10-2025 02-11-2025 14-11-2025 26-11-2025 08-12-2025 20-12-2025 01-01-2026 13-01-2026 25-01-2026 06-02-2026 18-02-2026 02-03-2026 14-03-2026 26-03-2026 07-04-2026 19-04-2026 01-05-2026 13-05-2026 25-05-2026 06-06-2026 18-06-2026 30-06-2026 12-07-2026 17-07-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

5.0
18 reviews
Overall 100%
5
18 (100%)
4
0 (0%)
3
0 (0%)
2
0 (0%)
1
0 (0%)

Tracked Keywords

Showing 5 of 5
Keyword Position Change Type Updated
prerender 1 Tag 1 day ago
speculation rules 1 Tag 1 day ago
prefetch 4 Tag 1 day ago
javascript 19 Tag 1 day ago
performance 22 Tag 1 day ago

Unlock Keyword Analytics

Track keyword rankings, search positions, and discover new ranking opportunities with a Pro subscription.

  • Full keyword position tracking
  • Historical ranking data
  • Competitor keyword analysis
Upgrade to Pro

Support Threads Overview

Resolved
Unresolved
1
Total Threads
1
Resolved
0
Unresolved
100%
Resolution Rate

Track This Plugin

Get detailed analytics, keyword tracking, and position alerts delivered to your inbox.

Start Tracking Free

Plugin Details

Version
1.6.0
Last Updated
May 20, 2026
Requires WP
6.6+
Tested Up To
7.0.1
PHP Version
7.2 or higher

Support & Rating

Rating
★ ★ ★ ★ ★ 5
Reviews
18
Support Threads
1
Resolved
100%

Keywords

Upgrade to Pro

Unlock keyword rankings, search positions, and detailed analytics with a Pro subscription.

Upgrade Now

Frequently Asked Questions

Common questions about Speculative Loading

Not every URL can be reasonably prerendered. Prerendering static content is typically reliable, however prerendering interactive content, such as a logout URL, can lead to issues. For this reason, certain WordPress core URLs such as /wp-login.php and /wp-admin/* are excluded from prefetching and prerendering. Additionally, any URLs generated with wp_nonce_url() (or which contains the _wpnonce query var) and nofollow links are also ignored. You can exclude additional URL patterns by using the plsr_speculation_rules_href_exclude_paths filter. The following example ensures that URLs like https://example.com/cart/ or https://example.com/cart/foo are excluded from prefetching and prerendering: <?php add_filter( 'plsr_speculation_rules_href_exclude_paths', function ( array $exclude_paths ): array { $exclude_paths[] = '/cart/*'; return $exclude_paths; } ); Keep in mind that sometimes it may be useful to exclude a URL from prerendering while still allowing it to be prefetched. For example, a page with client-side JavaScript to update user state should probably not be prerendered, but it would be reasonable to prefetch. For this purpose, the plsr_speculation_rules_href_exclude_paths filter receives the current mode (either "prefetch" or "prerender") to provide conditional exclusions. The following example ensures that URLs like https://example.com/products/... cannot be prerendered, while still allowing them to be prefetched: <?php add_filter( 'plsr_speculation_rules_href_exclude_paths', function ( array $exclude_paths, string $mode ): array { if ( 'prerender' === $mode ) { $exclude_paths[] = '/products/*'; } return $exclude_paths; }, 10, 2 ); As mentioned above, adding the no-prerender CSS class to a link will prevent it from being prerendered (but not prefetched). Additionally, links with rel=nofollow will neither be prefetched nor prerendered because some plugins add this to non-idempotent links (e.g. add to cart); such links ideally should rather be buttons which trigger a POST request or at least they should use wp_nonce_url().
For safety reasons, the entire speculative loading feature is disabled by default for logged-in users and for sites that do not use pretty permalinks. The latter is the case because plugins often use URLs with custom query parameters to let users perform actions, and such URLs should not be speculatively loaded. For sites without pretty permalinks, it is impossible or at least extremely complex to differentiate between which query parameters are Core defaults and which query parameters are custom. If you are running this plugin on a site without pretty permalinks and are confident that there are no custom query parameters in use that can cause state changes, you can opt in to enabling speculative loading via the plsr_enabled_without_pretty_permalinks filter: <?php add_filter( 'plsr_enabled_without_pretty_permalinks', '__return_true' );
Prerendering can affect analytics and personalization. For client-side JavaScript, is recommended to delay these until the prerender is activated (for example by clicking on the link). Some solutions (like Google Analytics) already do this automatically, see Impact on Analytics. Additionally, cross-origin iframes are not loaded until activation which can further avoid issues here. Speculating with the default moderate eagerness decreases the risk that the prerendered page will not be visited by the user and therefore will avoid any side effects of loading such a link in advance. In contrast, eager speculation increases the risk that prerendered pages may not be loaded. Alternatively, the plugin offers to only speculate on mouse/pointer down (conservative) which reduces the risk even further and is an option for sites which are concerned about this, at the cost of having less of a lead time and so less of a performance gain. A prerendered page is linked to the page that prerenders it, so personalisation may already be known by this point and changes (e.g. browsing other products, or logging in/out) often require a new page load, and hence a new prerender, which will then take these into account. But it definitely is something to be aware of and test! Prerendered pages can be canceled by removing the speculation rules <script> element from the page using standard JavaScript DOM APIs should this be needed when state changes without a new page load.
Feedback is encouraged and much appreciated, especially since this plugin may contain future WordPress core features. If you have suggestions or requests for new features, you can submit them as an issue in the WordPress Performance Team's GitHub repository. If you need help with troubleshooting or have a question about the plugin, please create a new topic on our support forum.
The Performance team and WordPress community take security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions. To report a security issue, please visit the WordPress HackerOne program.
Contributions are always welcome! Learn more about how to get involved in the Core Performance Team Handbook.

Sign In / Register

You need to sign in or register to use this feature.