Speculative loading is a performance feature introduced to WordPress Core in version 6.8 that quietly speeds up page navigation by using the browser’s Speculation Rules API to start loading the next page just before the user reaches it. Developed and shepherded into core by Felix Arntz—Senior Software Engineer at Google and a long-time WordPress Core contributor—speculative loading seeks to shave milliseconds off navigations by acting on browser signals like clicks and hovers.
How it works
When a user clicks a link there’s a small but meaningful delay between the click and when the browser begins fetching the new page’s resources. Speculative loading uses that interval to begin loading the destination page early. It relies on heuristics provided by the Speculation Rules API and different “eagerness” settings:
– Conservative (WordPress default): Speculative loading occurs on click only. This is the safest option and avoids unnecessary network use while still capturing the milliseconds between click and navigation.
– Moderate: Uses hover signals on desktop to preload a link if the user hovers over it before clicking. This can result in near-instant loads and can even produce an LCP (Largest Contentful Paint) of zero in some cases.
– Pre-fetch vs Pre-render: The API supports two loading modes. Pre-fetch retrieves the HTML so the page loads faster when visited. Pre-render goes further—loading HTML, CSS, JavaScript, images and rendering the page invisibly—yielding the fastest perceived navigation but potentially more wasted network work if the link isn’t ultimately followed.
Browser support and progressive enhancement
The Speculation Rules API is available in Chromium-based browsers (Chrome, Edge, Opera) and not yet in Safari or Firefox. Because speculative loading is implemented as a progressive enhancement, sites serving browsers without support see no change or penalty. WordPress Core’s conservative, click-only approach reduces risk and unnecessary bandwidth usage across the diverse WordPress ecosystem.
From plugin to core
Speculative loading was first released as a plugin and accumulated real-world data from tens of thousands of sites (the plugin currently has around 50,000 installs). That experience helped the performance team refine defaults and gain confidence to ship the feature in core. The plugin still exists and offers a UI and more aggressive defaults—moderate eagerness with pre-rendering—so site owners who want to experiment or fine-tune behavior can install it. The plugin’s UI also allows reverting to the conservative core defaults.
Safety, exclusions and customization
WordPress Core intentionally offers no UI for this feature to keep defaults that work for most sites; the project follows a “decisions not options” philosophy. However, developers can modify behavior through hooks and filters. Sites can exclude specific URLs or URL patterns from speculative loading, and exclusions may be applied to pre-rendering while allowing pre-fetching when appropriate.
Core also includes sensible defaults to avoid potential side effects: for example, it excludes URLs with query parameters because plugins are more likely to use query strings for actions that change server state. Pre-rendering poses a slightly higher risk if visiting a URL triggers state changes (an anti-pattern such as a URL that empties a shopping cart on visit). Conservative pre-fetching minimizes those risks at scale.
Measuring impact with public datasets
The WordPress performance team leverages public, anonymized datasets to guide decisions and measure impact. Two important sources are:
– Chrome User Experience Report (CrUX): Aggregated, opt-in performance metrics from real user visits. Accessible via BigQuery, CrUX lets researchers see how sites perform in the wild.
– HTTP Archive: Monthly crawls that capture site HTML and technology usage. It helps identify which origins use WordPress and provides a snapshot of site configurations.
By combining CrUX and HTTP Archive data (for example, isolating the WordPress subset of sites and tracking Core Web Vitals pass rates over time), the team can estimate real-world effects of features like speculative loading. That analysis produced an approximate 1.9% improvement figure for sites using speculation rules—small on an individual basis but significant at the scale of WordPress-powered sites.
Trade-offs and environmental concerns
Speculative loading is a trade-off between user experience and additional network work. Conservative defaults aim to minimize wasted downloads while improving perceived speed. Site owners concerned about bandwidth, privacy, or environmental impact can opt out, restrict pre-rendering, or target speculative rules to specific, high-value links where the user behavior predicts follow-through. Enterprises or agencies often tailor settings to client sites based on analytics showing which links are most commonly followed.
Future and extensibility
Speculative loading is a foundation that others in the WordPress ecosystem—plugin authors, hosting providers, agencies—can build upon. While broad plugins may struggle to pick the optimal configuration for every site, developers and agencies can craft targeted implementations using hooks, analytics, and per-site knowledge. As browser APIs evolve and support widens, possibilities for finer-grained, possibly hardware-assisted signals (e.g., better touch/proximity sensing) may emerge.
Conclusion
Speculative loading in WordPress 6.8 brings a mostly invisible but meaningful performance improvement to navigation. The conservative defaults make it safe for wide deployment, the plugin offers a UI and more aggressive options for experimentation, and developers can customize behavior with hooks. Real-world analysis using CrUX and HTTP Archive helped validate the feature and quantify its impact. The net result: faster perceived page loads for users across many WordPress sites, achieved with careful trade-offs and data-driven decisions.

