{"id":118314,"date":"2026-09-16T21:09:55","date_gmt":"2026-09-16T18:09:55","guid":{"rendered":"https:\/\/themeisle.com\/blog\/?p=118314&#038;preview=true&#038;preview_id=118314"},"modified":"2026-09-16T21:09:55","modified_gmt":"2026-09-16T18:09:55","slug":"wordpress-speculative-loading","status":"publish","type":"post","link":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/","title":{"rendered":"WordPress Speculative Loading: What It Does and How to Configure It"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Ever clicked a link and the next page just&hellip; appeared? No spinner, no white flash, nothing. That little moment of magic is increasingly not magic at all. It&rsquo;s speculative loading, and since WordPress 6.8 it&rsquo;s been running quietly on millions of WordPress sites by default.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The short version: your site can now tell the browser which page a visitor is <em>likely<\/em> to open next, and the browser starts loading it before the click happens. If the visitor follows through, the page is already waiting. If not, not much harm done. That speculative request may waste some bandwidth and server work.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">This guide walks through what speculative loading is, why prerendered pages feel instant, and what WordPress 6.8 turned on by default. Then it gets practical: checking your site, configuring the official plugin, and the honest part most announcements skip: what can break, starting with your analytics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&rsquo;s jump right in!<\/p>\n\n\n    \r\n    <style>\r\n        :root {\r\n        --jtoc-progress-bar-color: #4267cf;\n        }\r\n                    .wpj-jtoc.--jtoc-theme-none.--jtoc-has-custom-styles {\r\n        --jtoc-width: 100%;\n--jtoc-toc-padding: 24px;\n--jtoc-toc-border: 1px solid;\n--jtoc-toc-border-color: #dedede;\n--jtoc-background-color: #f6f7f9;\n--jtoc-header-height: 20px;\n--jtoc-header-margin: 0;\n--jtoc-header-padding: 0;\n--jtoc-title-color: #393939;\n--jtoc-title-font-size: 1.2em;\n--jtoc-title-label-font-weight: 400;\n--jtoc-body-margin: 16px 0 0 0;\n--jtoc-body-padding: 0;\n--jtoc-headings-margin: 10px 0 0 0;\n--jtoc-link-font-size: 1em;\n--jtoc-link-font-weight: 400;\n--jtoc-link-color: #848484;\n--jtoc-link-color-hover: #4a66c8;\n--jtoc-link-color-active: #4a66c8;\n        }\r\n        .--jtoc-the-content{\r\ndisplay:none;\r\n}\r\n.--jtoc-is-active>.wpj-jtoc--item-content>a:before{\r\nmargin-left:3px;\r\n}\r\n.wpj-jtoc--nav>.wpj-jtoc--items li a::before{\r\ncontent:'\\203A';\r\ndisplay:block;\r\nfloat:left;\r\nheight:100%;\r\nfont-weight:700;\r\ncolor:#4267CF;\r\nline-height: 20px;\r\nmargin-right: 3px;\r\n}\r\n.sidebar .wpj-jtoc--toc{\r\nborder:0;\r\npadding:0;\r\n}\r\n.sidebar .wpj-jtoc--header,\r\n.sidebar .wpj-jtoc--body{\r\nbackground:transparent;\r\n}\r\n\r\n.sidebar .--jtoc-is-active>.wpj-jtoc--item-content>a{\r\ntext-decoration:none;\r\n}\r\n.sidebar-left .widget-first{\r\nposition:sticky;\r\ntop:70px;\r\nmargin-bottom:1250px;\r\n}\r\n.sidebar-left{\r\ndisplay:none;\r\nmax-width:300px;\r\nposition:absolute;\r\nleft:-330px;\r\ntop:0;\r\nheight:100%;\r\n}\r\n@media only screen and (max-width: 1900px) {\r\n.single-post .sidebar-left{\r\ndisplay:none !important;\r\n}\r\n.--jtoc-the-content{\r\ndisplay:block;\r\n}\r\n@media only screen and (max-width: 400px) {\r\n.wpj-jtoc--item .wpj-jtoc--item-content{\r\nmargin-top:5px;\r\n}\r\n.wpj-jtoc--header-main .wpj-jtoc--title{\r\nfont-size:1.1em;\r\n}\r\n}    <\/style>\r\n\r\n\r\n    <!-- jtoc progress bar widget -->\r\n    <div class=\"wpj-jtoc--widget-progress --progress-top\">\r\n        <div class=\"wpj-jtoc--widget-progress-bar\"><\/div>\r\n    <\/div>\r\n\r\n<div id=\"wpj-jtoc\" class=\"wpj-jtoc wpj-jtoc--main --jtoc-the-content --jtoc-theme-none --jtoc-title-align-left --jtoc-toggle-icon --jtoc-toggle-position-right --jtoc-toggle-1 --jtoc-header-as-toggle --jtoc-headings-full-row-clickable --jtoc-floating-toc-top --jtoc-floating-has-shadow --jtoc-has-custom-styles --jtoc-is-unfolded\" >\r\n            \r\n    <!-- TOC -->\r\n    <div class=\"wpj-jtoc--toc \">\r\n                            <div class=\"wpj-jtoc--header\">\r\n                <div class=\"wpj-jtoc--header-main\">\r\n                                        <div class=\"wpj-jtoc--title\">\r\n                        <!-- <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-columns-3\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\/><path d=\"M9 3v18\"\/><path d=\"M15 3v18\"\/><\/svg> -->\r\n                        <span class=\"wpj-jtoc--title-label\">Table of contents<\/span>\r\n                    <\/div>\r\n                                                        <\/div>\r\n            <\/div>\r\n                                <div class=\"wpj-jtoc--body\">\r\n                        <nav class=\"wpj-jtoc--nav\">\r\n                <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#what-is-speculative-loading\" title=\"What is speculative loading, exactly?\" data-numeration=\"1\" >What is speculative loading, exactly?<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#h-why-a-prerendered-page-feels-instant\" title=\"Why a prerendered page feels instant \u26a1\" data-numeration=\"2\" >Why a prerendered page feels instant \u26a1<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#h-browser-support-who-benefits-and-who-doesn-t\" title=\"Browser support: who benefits and who doesn\u2019t\" data-numeration=\"3\" >Browser support: who benefits and who doesn\u2019t<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#h-what-wordpress-6-8-gives-you-out-of-the-box\" title=\"What WordPress 6.8 gives you out of the box\" data-numeration=\"4\" >What WordPress 6.8 gives you out of the box<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#h-how-to-configure-speculative-loading-in-wordpress\" title=\"How to configure speculative loading in WordPress\" data-numeration=\"5\" >How to configure speculative loading in WordPress<\/a>\r\n                    <\/div> <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                        <a href=\"#h-step-1-check-whether-it-s-already-running-it-probably-is\" title=\"Step 1: Check whether it\u2019s already running (it probably is)\" data-numeration=\"5.1\" >Step 1: Check whether it\u2019s already running (it probably is)<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                        <a href=\"#h-step-2-install-the-speculative-loading-plugin-for-full-control\" title=\"Step 2: Install the Speculative Loading plugin for full control\" data-numeration=\"5.2\" >Step 2: Install the Speculative Loading plugin for full control<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                        <a href=\"#h-step-3-choose-your-mode-eagerness-and-audience\" title=\"Step 3: Choose your mode, eagerness, and audience\" data-numeration=\"5.3\" >Step 3: Choose your mode, eagerness, and audience<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                        <a href=\"#h-step-4-exclude-urls-that-should-never-prerender\" title=\"Step 4: Exclude URLs that should never prerender\" data-numeration=\"5.4\" >Step 4: Exclude URLs that should never prerender<\/a>\r\n                    <\/div> <\/li><\/ol><\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#h-what-can-break-and-what-won-t\" title=\"What can break (and what won\u2019t)\" data-numeration=\"6\" >What can break (and what won\u2019t)<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                        <a href=\"#h-final-thoughts\" title=\"Final thoughts \ud83c\udfc1\" data-numeration=\"7\" >Final thoughts \ud83c\udfc1<\/a>\r\n                    <\/div> <\/li><\/ol>            <\/nav>\r\n                                                        <\/div>\r\n            <\/div>\r\n<\/div>\r\n\n\n\n<h2 id=\"what-is-speculative-loading\" class=\"wp-block-heading joli-heading jtoc-heading\">What is speculative loading, exactly?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Speculative loading is a performance technique where the browser loads a page <em>before<\/em> the user asks for it, based on signals that a navigation is coming. The technology behind it is the <a href=\"https:\/\/developer.chrome.com\/docs\/web-platform\/prerender-pages\" target=\"_blank\" rel=\"noreferrer noopener\">Speculation Rules API<\/a>, a browser feature that lets a site declare, in a small block of JSON, which URLs the browser should prepare and how early it should start.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The API offers two flavors of &ldquo;prepare&rdquo;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prefetch<\/strong> downloads the page&rsquo;s HTML in the background, so when the user clicks, the browser skips the network wait and starts rendering immediately.<\/li>\n\n\n\n<li><strong>Prerender<\/strong> goes much further: the browser fully renders the page in a hidden, tab-like context, styles, images, and JavaScript included. When the user clicks, the prerendered page is &ldquo;activated&rdquo; and swapped into view essentially instantly.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If you&rsquo;ve seen older WordPress plugins that inject <code>&lt;link rel=\"prefetch\"&gt;<\/code> tags on hover, this is the grown-up, browser-native successor to that idea: the rules live in the page itself, and the browser decides when to act on them.<\/p>\n\n\n\n<h2 id=\"h-why-a-prerendered-page-feels-instant\" class=\"wp-block-heading joli-heading jtoc-heading\">Why a prerendered page feels instant &#9889;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Chrome&rsquo;s own documentation describes a prerender as opening the page in an invisible background tab. All the expensive work (downloading assets, parsing HTML, running scripts) happens while the user is still reading the current page or hovering over a link. The click itself then does almost nothing: the hidden page moves to the foreground, fully formed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The effect on Core Web Vitals is direct: Largest Contentful Paint (the time until the main content appears) drops close to zero because the painting already happened, layout shifts occur before anyone sees the page, and interactions feel snappy because scripts finished before the user touches anything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One honest clarification: speculative loading doesn&rsquo;t make your server faster or your pages lighter. The same work still happens, just <em>earlier<\/em>, during time the browser would otherwise spend idle. And if the user never clicks, the prefetch or prerender was wasted bandwidth and a real server request that served nobody.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">According to the WordPress core team&rsquo;s <a href=\"https:\/\/make.wordpress.org\/core\/2025\/03\/06\/speculative-loading-in-6-8\/\" target=\"_blank\" rel=\"noreferrer noopener\">dev note for the 6.8 release<\/a>, sites running the feature improved their LCP passing rate by roughly 1.9% at the median (HTTP Archive and Chrome User Experience Report data, 50,000+ sites), and over 8% of all Chrome navigations already relied on speculation rules. No miracle numbers, but a measurable, web-wide nudge for a feature that&rsquo;s free to turn on.<\/p>\n\n\n\n<h2 id=\"h-browser-support-who-benefits-and-who-doesn-t\" class=\"wp-block-heading joli-heading jtoc-heading\">Browser support: who benefits and who doesn&rsquo;t<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here&rsquo;s the part marketing pages gloss over: the Speculation Rules API is a Chromium feature. It works in Chrome, Edge, and Opera (version 121 and above, per the official plugin&rsquo;s documentation). Safari and Firefox don&rsquo;t support it yet, so their users get the classic, non-speculative experience.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even inside Chrome, speculation isn&rsquo;t guaranteed. The browser deliberately skips prefetching and prerendering when it would be a bad idea, including when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The user has <strong>Save-Data<\/strong> enabled, battery saver running on a low battery, or a device low on memory.<\/li>\n\n\n\n<li>The &ldquo;Preload pages&rdquo; setting is turned off (some privacy extensions, like uBlock Origin, turn it off for you).<\/li>\n\n\n\n<li>The page is open in a background tab.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"h-what-wordpress-6-8-gives-you-out-of-the-box\" class=\"wp-block-heading joli-heading jtoc-heading\">What WordPress 6.8 gives you out of the box<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress 6.8 (&ldquo;Cecil,&rdquo; released in April 2025) merged the WordPress Performance Team&rsquo;s Speculative Loading feature directly into core. If your site runs 6.8 or newer, speculative loading is very likely already active. No setting, no checkbox: it just showed up one update.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The core defaults are deliberately cautious:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mode: prefetch.<\/strong> WordPress downloads the next page&rsquo;s HTML ahead of time, but doesn&rsquo;t prerender it.<\/li>\n\n\n\n<li><strong>Eagerness: conservative.<\/strong> The prefetch fires when the user starts pressing down on a link, typically a fraction of a second before the navigation. That&rsquo;s a short head start, but it almost never wastes a request.<\/li>\n\n\n\n<li><strong>Frontend only, logged-out visitors only.<\/strong> Admin screens and logged-in sessions are always excluded.<\/li>\n\n\n\n<li><strong>Pretty permalinks required.<\/strong> If your site uses plain <code>?p=123<\/code> permalinks, the feature stays off, because URLs with query parameters can&rsquo;t be reliably distinguished from &ldquo;action URLs&rdquo; that change things when visited.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Core also excludes risky URLs automatically: anything under <code>\/wp-admin\/<\/code>, the login page, links containing a <code>_wpnonce<\/code> security token, and nofollow links. For per-block control, the editor&rsquo;s Advanced panel accepts two CSS classes: <code>no-prefetch<\/code> opts a block&rsquo;s links out of everything, <code>no-prerender<\/code> out of prerendering only.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#8505;&#65039; NOTE: The logged-in exclusion matters more than it sounds: on membership sites, forums, and stores where most frontend traffic is signed in, core&rsquo;s speculative loading does nothing by default. The plugin (next section) can opt logged-in users in, though it warns you should have persistent object caching first.<\/p>\n<\/blockquote>\n\n\n\n<h2 id=\"h-how-to-configure-speculative-loading-in-wordpress\" class=\"wp-block-heading joli-heading jtoc-heading\">How to configure speculative loading in WordPress<\/h2>\n\n\n\n<h3 id=\"h-step-1-check-whether-it-s-already-running-it-probably-is\" class=\"wp-block-heading joli-heading jtoc-heading\">Step 1: Check whether it&rsquo;s already running (it probably is)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open any frontend page of your site in Chrome while logged out (an incognito window works), view the page source, and search for <code>speculationrules<\/code>. If you find a JSON block mentioning <code>prefetch<\/code> and <code>conservative<\/code>, WordPress core is already doing its thing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a live view, the <strong>Speculative loads<\/strong> section in Chrome DevTools&rsquo; <strong>Application<\/strong> panel shows which URLs are being speculated on and why a speculation succeeded or was canceled.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#128161; PRO TIP: Keep that panel open and hover over a few internal links: with core&rsquo;s conservative default the prefetch appears as you press the mouse button, while the plugin&rsquo;s prerender mode fires on hover.<\/p>\n<\/blockquote>\n\n\n\n<h3 id=\"h-step-2-install-the-speculative-loading-plugin-for-full-control\" class=\"wp-block-heading joli-heading jtoc-heading\">Step 2: Install the Speculative Loading plugin for full control<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Core&rsquo;s defaults are safe but modest. For a settings screen and the much stronger prerender mode, install the official <a href=\"https:\/\/wordpress.org\/plugins\/speculation-rules\/\" target=\"_blank\" rel=\"noreferrer noopener\">Speculative Loading<\/a> plugin from the WordPress Performance Team (formerly &ldquo;Speculation Rules&rdquo;; the core merge was based on it).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In your dashboard, go to <strong>Plugins &rarr; Add New<\/strong>, search for &ldquo;Speculative Loading,&rdquo; and install and activate the plugin by the WordPress Performance Team.<\/p>\n\n\n\n<h3 id=\"h-step-3-choose-your-mode-eagerness-and-audience\" class=\"wp-block-heading joli-heading jtoc-heading\">Step 3: Choose your mode, eagerness, and audience<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Head to <strong>Settings &rarr; Reading<\/strong> and scroll to the <strong>Speculative Loading<\/strong> section. It offers three radio groups: Speculation Mode (prefetch or prerender), Eagerness (how early the browser acts), and User Authentication Status (who gets speculative loading at all). The plugin defaults to <strong>prerender<\/strong> with <strong>moderate<\/strong> eagerness for logged-out visitors, a clear step up from core&rsquo;s prefetch-only approach:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eagerness is the knob that trades speed against waste:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Eagerness<\/th><th>When it fires<\/th><th>Good for<\/th><\/tr><\/thead><tbody><tr><td><strong>Conservative<\/strong><\/td><td>On pointer or touch down (the click has basically started)<\/td><td>Busy servers, heavy pages, minimal waste &#9989;<\/td><\/tr><tr><td><strong>Moderate<\/strong><\/td><td>After hovering a link for about 200 milliseconds on desktop<\/td><td>Most sites; the sweet spot between lead time and accuracy<\/td><\/tr><tr><td><strong>Eager<\/strong><\/td><td>After roughly 10 milliseconds of hover (desktop)<\/td><td>Lightweight, static pages where extra requests are cheap<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Chrome caps concurrent speculations at two for the interaction-based eagerness levels, so a link-heavy page won&rsquo;t spawn dozens of prerenders. If your pages are heavy or your hosting metered, start conservative and watch your server logs before going more aggressive.<\/p>\n\n\n\n<h3 id=\"h-step-4-exclude-urls-that-should-never-prerender\" class=\"wp-block-heading joli-heading jtoc-heading\">Step 4: Exclude URLs that should never prerender<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Most WordPress pages are safe to prerender, but think about links whose <em>visit<\/em> changes something: custom logout links, &ldquo;mark as favorite&rdquo; URLs, vote counters. WordPress already excludes query-parameter URLs, nofollow links, and nonce-protected links, which covers the usual suspects. For anything else, you have three tools:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The <code>no-prerender<\/code> CSS class<\/strong> on a link or block (prerendering skips it, prefetching still allowed).<\/li>\n\n\n\n<li><strong>The <code>wp_speculation_rules_href_exclude_paths<\/code> filter<\/strong> in core, which excludes whole path patterns like <code>\/cart\/*<\/code> from speculation.<\/li>\n\n\n\n<li><strong>The <code>wp_speculation_rules_configuration<\/code> filter<\/strong>, which sets the global mode and eagerness in code instead of installing the plugin (<code>prerender<\/code> with <code>moderate<\/code> eagerness mirrors the plugin&rsquo;s default).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">When in doubt, prefer excluding from prerender only. Prefetching a slightly-dynamic page is usually harmless; running its JavaScript in a hidden tab might not be.<\/p>\n\n\n\n<h2 id=\"h-what-can-break-and-what-won-t\" class=\"wp-block-heading joli-heading jtoc-heading\">What can break (and what won&rsquo;t)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Analytics are the big one.<\/strong> A prerendered page executes its JavaScript before anyone sees it, and if the user never clicks, that visit never happened. A naive tracking setup can count a pageview anyway, or count it twice: once on prerender, once on activation. Google Analytics and most popular providers detect prerendering and hold their pageview beacons until the page is actually activated, so for most sites this is a non-issue. If you run custom tracking code, make sure it checks <code>document.prerendering<\/code> and waits for the <code>prerenderingchange<\/code> event before firing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Personalization deserves a test.<\/strong> A prerendered page reflects the state of things when the speculation started: a cart change or logout elsewhere won&rsquo;t be reflected in it. Most such flows trigger a fresh navigation anyway, but if your site personalizes heavily, test the important journeys.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Your server does more work.<\/strong> Every prefetch and prerender is a real request hitting your stack. For cached, anonymous pages that&rsquo;s cheap (why core limits the feature to logged-out traffic). On dynamic, uncached pages with an eager setting, you&rsquo;re multiplying requests for visits that may never complete. Watch bandwidth and PHP worker usage for a week after switching modes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And what won&rsquo;t break: Safari and Firefox visitors, users with ad blockers or data-saver modes, and logged-in members. The failure mode here is &ldquo;nothing happens,&rdquo; not &ldquo;something explodes.&rdquo; &#128588;<\/p>\n\n\n\n<h2 id=\"h-final-thoughts\" class=\"wp-block-heading joli-heading jtoc-heading\">Final thoughts &#127937;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Speculative loading is one of the rare performance features that&rsquo;s both meaningful and nearly free to adopt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress 6.8+ already prefetches internal links for logged-out visitors, conservatively, with zero configuration.<\/li>\n\n\n\n<li>The official Speculative Loading plugin upgrades that to full prerendering with a settings screen at <strong>Settings &rarr; Reading<\/strong>.<\/li>\n\n\n\n<li>Chromium browsers (Chrome, Edge, Opera) do the work; everyone else gets the normal experience with no side effects.<\/li>\n\n\n\n<li>Analytics tools like Google Analytics handle prerendering correctly out of the box; custom tracking needs a prerender check.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Think of it as the top coat, not the paint job. If your pages are slow to begin with, start with the fundamentals in this guide on <a href=\"https:\/\/themeisle.com\/blog\/speed-up-wordpress-quick-wins\/\">how to speed up WordPress with five quick wins<\/a>, then let speculative loading make an already-fast site feel instant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Have you noticed a difference since WordPress 6.8, or did you tune the settings with the plugin? Let us know in the comments section below!<\/p>\n\n\n<style>.ticss-d144f107 strong{font-weight: 700;\n    letter-spacing: -0.2px;\n    line-height: 1.2;\n    display: inline-block;}<\/style>\n\n\n<div class=\"wp-block-columns speed-guide has-white-color has-text-color has-background has-link-color wp-elements-2f81f6c5526477b5b4d52d1ca4513949 is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\" style=\"background-color:#4267cf\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\">\n<figure class=\"wp-block-image size-medium\"><img data-opt-id=30701221  fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png\" alt=\"speed guide\" class=\"wp-image-113040\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:1024\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:150\/h:150\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 150w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:768\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:50\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:240\/h:240\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 240w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:397\/h:397\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 397w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:600\/h:600\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 600w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:148\/h:148\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 148w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:195\/h:195\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 195w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:135\/h:135\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 135w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 2x\" sizes=\"(max-width: 300px) 100vw, 300px\"><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center ticss-58e79f2f wp-block-paragraph\" style=\"font-size:14px\"><strong>FREE GUIDE<\/strong><\/p>\n\n\n\n<p class=\"ticss-d144f107 wp-block-paragraph\" style=\"font-size:25px\"><strong>4 Essential Steps to Speed Up Your&nbsp;WordPress Website<\/strong><\/p>\n\n\n\n<p class=\"ticss-3b627beb wp-block-paragraph\">Follow the simple steps in our 4-part mini series and reduce your loading times by 50-80%.&nbsp;&#128640;<\/p>\n\n\n<p><\/p><div class=\"frm_forms  with_frm_style frm_style_themeisle\" id=\"frm_form_4_container\" data-token=\"d93a6566c8ebe5d39aaea75fd95e9610\">\n<form enctype=\"multipart\/form-data\" method=\"post\" class=\"frm-show-form  frm_pro_form \" id=\"form_site-speed-guide-below-post\" data-token=\"d93a6566c8ebe5d39aaea75fd95e9610\">\n<div class=\"frm_form_fields \">\n<fieldset>\n<legend class=\"frm_screen_reader\">Site Speed Guide - Below Post<\/legend>\r\n\r\n<div class=\"frm_fields_container\">\n<input type=\"hidden\" name=\"frm_action\" value=\"create\">\n<input type=\"hidden\" name=\"form_id\" value=\"4\">\n<input type=\"hidden\" name=\"frm_hide_fields_4\" id=\"frm_hide_fields_4\" value=\"\">\n<input type=\"hidden\" name=\"form_key\" value=\"site-speed-guide-below-post\">\n<input type=\"hidden\" name=\"item_meta[0]\" value=\"\">\n<input type=\"hidden\" id=\"frm_submit_entry_4\" name=\"frm_submit_entry_4\" value=\"b3fa70e13f\"><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/blog\/wp-json\/wp\/v2\/posts\/118314\">\t\t<input type=\"hidden\" name=\"item_meta[18]\" id=\"field_6px6q2\" value=\"\/blog\/wp-json\/wp\/v2\/posts\/118314\" data-frmval=\"\/blog\/wp-json\/wp\/v2\/posts\/118314\">\n\t\t<div id=\"frm_field_15_container\" class=\"frm_form_field form-field  frm_required_field frm_none_container\">\r\n\t<label for=\"field_6px6q\" id=\"field_6px6q_label\" class=\"frm_primary_label\">Your Email\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\">*<\/span>\r\n\t<\/label>\r\n\t<input type=\"email\" id=\"field_6px6q\" name=\"item_meta[15]\" value=\"\" autocomplete=\"email\" placeholder=\"your@email.com\" data-reqmsg=\"Your Email cannot be blank.\" aria-required=\"true\" data-invmsg=\"Your Email is invalid\" aria-invalid=\"false\">\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_17_container\" class=\"frm_form_field form-field  frm_none_container vertical_radio\">\r\n\t<div id=\"field_6px6q3_label\" class=\"frm_primary_label\">Subscribe to our newsletter\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\r\n\t<\/div>\r\n\t<div class=\"frm_opt_container\" aria-labelledby=\"field_6px6q3_label\" role=\"group\">\t\t<div class=\"frm_checkbox\" id=\"frm_checkbox_17-0\">\t\t\t<label for=\"field_6px6q3-0\">\n\t\t\t<input type=\"checkbox\" name=\"item_meta[17][]\" id=\"field_6px6q3-0\" value=\"true\" data-invmsg=\"Subscribe to our newsletter is invalid\"> Subscribe to our newsletter<\/label><\/div>\n<\/div>\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_14_container\" class=\"frm_form_field form-field \">\r\n\t<div class=\"frm_submit frm_flex\">\r\n<button class=\"frm_button_submit frm_final_submit\" type=\"submit\" formnovalidate=\"formnovalidate\">FREE ACCESS<\/button>\r\n\r\n\r\n\r\n<\/div>\r\n<\/div>\n\t<input type=\"hidden\" name=\"item_key\" value=\"\">\n\t\t\t<div id=\"frm_field_24_container\">\n\t\t\t<label for=\"field_r26zi\">\n\t\t\t\tIf you are human, leave this field blank.\t\t\t<\/label>\n\t\t\t<input id=\"field_r26zi\" type=\"text\" class=\"frm_form_field form-field frm_verify\" name=\"item_meta[24]\" value=\"\">\n\t\t<\/div>\n\t\t<input name=\"frm_state\" type=\"hidden\" value=\"tGKtIG19U6wyYcew8uBttatHvitOTSOxQGMMA8KAd\/QkdKCs\/l0h48RQnQG\/UFbR\"><\/div>\n<\/fieldset>\n<\/div>\n\n<p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&Delta;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"175\"><script>\ndocument.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );\n<\/script>\n<\/p><\/form>\n<\/div>\n\n<\/div>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"Your WordPress site can load pages before visitors even click. Learn how speculative loading works, what WordPress 6.8 turned on, and how to tune it!","protected":false},"author":34,"featured_media":118338,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_stopmodifiedupdate":false,"_modified_date":"","_has_post_settings":[],"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[272],"tags":[],"hashtags":[],"class_list":["post-118314","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-tutorials"],"wppr_data":{"cwp_meta_box_check":"No"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.8 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>WordPress Speculative Loading: What It Does and How to Configure It<\/title>\n<meta name=\"description\" content=\"Your WordPress site can load pages before visitors even click. Learn how speculative loading works, what WordPress 6.8 turned on, and how to tune it!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WordPress Speculative Loading: What It Does and How to Configure It\" \/>\n<meta property=\"og:description\" content=\"Your WordPress site can load pages before visitors even click. Learn how speculative loading works, what WordPress 6.8 turned on, and how to tune it!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/\" \/>\n<meta property=\"og:site_name\" content=\"Themeisle Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-16T18:09:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1920\/h:813\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/08\/wordpress-speculative-loading-featured-v4.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2180\" \/>\n\t<meta property=\"og:image:height\" content=\"924\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Themeisle Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ThemeIsle\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Themeisle Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/\"},\"author\":{\"name\":\"Themeisle Editorial\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/person\\\/844b0a2dc66556309f9a5ae28ae87ffe\"},\"headline\":\"WordPress Speculative Loading: What It Does and How to Configure It\",\"datePublished\":\"2026-09-16T18:09:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/\"},\"wordCount\":1795,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/08\\/wordpress-speculative-loading-featured-v4.jpg\",\"articleSection\":[\"WordPress Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/\",\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/\",\"name\":\"WordPress Speculative Loading: What It Does and How to Configure It\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/08\\/wordpress-speculative-loading-featured-v4.jpg\",\"datePublished\":\"2026-09-16T18:09:55+00:00\",\"description\":\"Your WordPress site can load pages before visitors even click. Learn how speculative loading works, what WordPress 6.8 turned on, and how to tune it!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#primaryimage\",\"url\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/08\\/wordpress-speculative-loading-featured-v4.jpg\",\"contentUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2026\\/08\\/wordpress-speculative-loading-featured-v4.jpg\",\"width\":2180,\"height\":924,\"caption\":\"WordPress speculative loading: what it does and how to configure it\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/wordpress-speculative-loading\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WordPress Speculative Loading: What It Does and How to Configure It\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/\",\"name\":\"Themeisle Blog\",\"description\":\"WordPress Tutorials and Reviews for Beginners and Advanced\",\"publisher\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#organization\",\"name\":\"VertiStudio\",\"alternateName\":\"Vertigo Studio SA\",\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2024\\/02\\/VertiStudio_logo1.png\",\"contentUrl\":\"https:\\/\\/themeisle.com\\/blog\\/wp-content\\/uploads\\/2024\\/02\\/VertiStudio_logo1.png\",\"width\":718,\"height\":156,\"caption\":\"VertiStudio\"},\"image\":{\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/#\\\/schema\\\/person\\\/844b0a2dc66556309f9a5ae28ae87ffe\",\"name\":\"Themeisle Editorial\",\"description\":\"We\\\\'re the crew behind Themeisle Blog, where we eat, sleep, and breathe WordPress, website building, and all things blogging. Under the leadership of Karol K, our team is composed of WordPress wizards, web design junkies, and blogging enthusiasts. Between us, we\\\\'ve got a boatload of experience (like, 50+ years worth!) in making the digital world more accessible and fun.\",\"sameAs\":[\"https:\\\/\\\/themeisle.com\\\/blog\\\/\",\"https:\\\/\\\/x.com\\\/ThemeIsle\",\"https:\\\/\\\/www.youtube.com\\\/@ThemeIsle\"],\"url\":\"https:\\\/\\\/themeisle.com\\\/blog\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"WordPress Speculative Loading: What It Does and How to Configure It","description":"Your WordPress site can load pages before visitors even click. Learn how speculative loading works, what WordPress 6.8 turned on, and how to tune it!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/","og_locale":"en_US","og_type":"article","og_title":"WordPress Speculative Loading: What It Does and How to Configure It","og_description":"Your WordPress site can load pages before visitors even click. Learn how speculative loading works, what WordPress 6.8 turned on, and how to tune it!","og_url":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/","og_site_name":"Themeisle Blog","article_published_time":"2026-09-16T18:09:55+00:00","og_image":[{"width":2180,"height":924,"url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1920\/h:813\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/08\/wordpress-speculative-loading-featured-v4.jpg","type":"image\/jpeg"}],"author":"Themeisle Editorial","twitter_card":"summary_large_image","twitter_creator":"@ThemeIsle","twitter_misc":{"Written by":"Themeisle Editorial","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#article","isPartOf":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/"},"author":{"name":"Themeisle Editorial","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/person\/844b0a2dc66556309f9a5ae28ae87ffe"},"headline":"WordPress Speculative Loading: What It Does and How to Configure It","datePublished":"2026-09-16T18:09:55+00:00","mainEntityOfPage":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/"},"wordCount":1795,"commentCount":0,"publisher":{"@id":"https:\/\/themeisle.com\/blog\/#organization"},"image":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#primaryimage"},"thumbnailUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/08\/wordpress-speculative-loading-featured-v4.jpg","articleSection":["WordPress Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/","url":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/","name":"WordPress Speculative Loading: What It Does and How to Configure It","isPartOf":{"@id":"https:\/\/themeisle.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#primaryimage"},"image":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#primaryimage"},"thumbnailUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/08\/wordpress-speculative-loading-featured-v4.jpg","datePublished":"2026-09-16T18:09:55+00:00","description":"Your WordPress site can load pages before visitors even click. Learn how speculative loading works, what WordPress 6.8 turned on, and how to tune it!","breadcrumb":{"@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#primaryimage","url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/08\/wordpress-speculative-loading-featured-v4.jpg","contentUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2026\/08\/wordpress-speculative-loading-featured-v4.jpg","width":2180,"height":924,"caption":"WordPress speculative loading: what it does and how to configure it"},{"@type":"BreadcrumbList","@id":"https:\/\/themeisle.com\/blog\/wordpress-speculative-loading\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/themeisle.com\/blog\/"},{"@type":"ListItem","position":2,"name":"WordPress Speculative Loading: What It Does and How to Configure It"}]},{"@type":"WebSite","@id":"https:\/\/themeisle.com\/blog\/#website","url":"https:\/\/themeisle.com\/blog\/","name":"Themeisle Blog","description":"WordPress Tutorials and Reviews for Beginners and Advanced","publisher":{"@id":"https:\/\/themeisle.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/themeisle.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/themeisle.com\/blog\/#organization","name":"VertiStudio","alternateName":"Vertigo Studio SA","url":"https:\/\/themeisle.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png","contentUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png","width":718,"height":156,"caption":"VertiStudio"},"image":{"@id":"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/person\/844b0a2dc66556309f9a5ae28ae87ffe","name":"Themeisle Editorial","description":"We\\'re the crew behind Themeisle Blog, where we eat, sleep, and breathe WordPress, website building, and all things blogging. Under the leadership of Karol K, our team is composed of WordPress wizards, web design junkies, and blogging enthusiasts. Between us, we\\'ve got a boatload of experience (like, 50+ years worth!) in making the digital world more accessible and fun.","sameAs":["https:\/\/themeisle.com\/blog\/","https:\/\/x.com\/ThemeIsle","https:\/\/www.youtube.com\/@ThemeIsle"],"url":"https:\/\/themeisle.com\/blog\/author\/editorial\/"}]}},"_links":{"self":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/118314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/comments?post=118314"}],"version-history":[{"count":3,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/118314\/revisions"}],"predecessor-version":[{"id":118843,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/118314\/revisions\/118843"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/media\/118338"}],"wp:attachment":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/media?parent=118314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/categories?post=118314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/tags?post=118314"},{"taxonomy":"hashtags","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/hashtags?post=118314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}