Web Design

WordPress 6.8 in plain English: the 7 changes worth your time

William Mayer William Mayer Design Lead

Reviewed by Jordan Heppleston, Founder & Director

Talk to Our Web Team
WordPress 6.8 in plain English: the 7 changes worth your time

If you have ever clicked a link and felt the next page appear before your brain finished the thought, that is the feeling we are after. WordPress 6.8 brought that experience closer to default reality with Speculative Loading. Marketers care because it lifts perceived speed and conversion. Developers care because it is finally a standard, low effort way to get instant page transitions on a classic multi page site. And it is built into Core, which means no brittle hacks or mystery scripts.

I will keep it human. First we will translate the idea, then we will switch seats between marketer and dev, and you can steal whichever parts you need.

What Speculative Loading actually is

Browsers have a fairly sharp new trick called the Speculation Rules API. You give the browser a short set of rules that say which internal links are likely to be clicked next, and how confident you are. The browser can then prefetch a target page or go further and prerender it in the background. When the visitor clicks, the page appears almost immediately. Prefetch is lighter. Prerender is heavier but feels like magic.

WordPress 6.8 wires this API up for you. Out of the box, Core uses a conservative prefetch profile for logged out visitors, and only when you use pretty permalinks. The defaults avoid admin screens, login, query string URLs, and any links marked nofollow. This keeps it safe for the broadest set of sites.

If you remember the old resource hints, this is not the same thing. Those were about subresources like CSS or fonts. Speculative Loading targets whole page navigations, which is perfect for multi page sites, shops, and blogs.

Why marketers should care

Speed changes the way people move through a site. When the next article or product page shows up instantly, bounce tends to drop and deeper sessions are more common. You also get a nudge on the Core Web Vitals side, because faster navigations help the new responsiveness metric, Interaction to Next Paint, which replaced FID in March last year. If your reporting still talks about FID, it is due for a tidy up.

One thing to remember. Lab tests can miss this improvement, because speculative work happens only when a real person actually hovers or gestures toward a link. You will see the benefit in field data over time, not in a single Lighthouse run. That is normal.

So the marketer playbook looks like this.

  1. Enable or keep the default conservative mode.

  2. Watch your Core Web Vitals field data and user journeys over a few weeks. Use Search Console and PageSpeed Insights to keep an eye on INP and LCP in the field.

  3. If your team is comfortable, consider moving some high intent paths to a more confident setting such as prerender on hover. Test this on a small slice first.

I will show you how to do those changes safely in a minute.

How WordPress sets it up for you

Core prints a small block of speculation rules on the page and applies a sensible rule set. By default, the mode is prefetch with conservative eagerness. That means the browser waits for strong hints, such as a hover or pointer down, before fetching the next page. WordPress also exposes two controls that matter in the real world. A configuration filter to pick mode and eagerness, and a filter to exclude specific paths from speculative work.

There is also a simple escape hatch in the editor. Add the class no prefetch or no prerender on any block, and links inside that block will opt out. This is handy for footers full of utility links, heavy downloads, or anything that should never be touched until clicked.

If you prefer a UI, the Speculation Rules plugin gives you a settings screen where you can choose prerender with moderate eagerness for a more aggressive result. Think of it as training wheels while you learn.

Quick wins for typical sites

A few patterns make immediate sense.

Editorial sites
Leave Core on conservative prefetch for most journeys. Then, for in article suggested reads and the next article module, test moderate prerender. People hover and click those a lot, which means a high chance of payoff with little waste.

Product catalogues
Category to product and product to related product are classic high intent flows. Prefetch is usually enough, but moderate prerender on hover can be lovely on mobile where tap intent is clearer.

Support portals and knowledge bases
Users skim back and forth quickly. Prefetch gives them that glide between pages without burning too much memory.

Places to avoid
Never prerender cart, checkout, account, or any page with side effects. Core already excludes a lot, but these are worth double checking on your own stack.

Developer notes you will actually use

You can change the Core configuration with a tiny filter. If you want to trial pre-render with moderate eagerness, drop this into a safe snippet location.

// Force a specific mode and eagerness.
add_filter( 'wp_speculation_rules_configuration', function( $config ) {
return array(
'mode' => 'prerender', // 'prefetch' or 'prerender'
'eagerness' => 'moderate', // 'conservative', 'moderate', 'eager'
);
} );

When you need to exclude sensitive routes, use the path filter. The function gives you the current mode as a second parameter which is sometimes useful for conditional logic.

// Exclude cart, checkout, and account from speculative loading.
add_filter( 'wp_speculation_rules_href_exclude_paths', function( $paths, $mode ) {
$paths[] = '/cart/*';
$paths[] = '/checkout/*';
$paths[] = '/my-account/*';
return $paths;
}, 10, 2 );

If you need to disable the feature for a short period during a test, this is the one line switch.

add_filter( 'wp_speculation_rules_configuration', '__return_null' );

Those hooks and defaults are all in Core. You do not need a separate script to emit JSON, and you do not need to wire up listeners. WordPress does the heavy lifting.

Prefer a no code path while you experiment. Install the Speculation Rules plugin, then open Settings, Reading, and you will see mode and eagerness controls. The plugin sets a bolder default than Core, so do this on staging first.

How to prove it is working

This is the bit where a lot of teams get stuck. You click around and it feels faster, but you want proof. There are two levels to this.

One, verify the browser is speculating.
Open Chrome DevTools, go to Application, Background services, Speculative loads. You will see rule sets, any prefetches, and any prerenders. You can click through to the source of the rule, or watch a prerender move from waiting to activated when you click the link. You can also check the Network panel for prefetch requests that carry the Sec Purpose header.

For prerender, a tiny party trick. After you click into the next page, run this in the Console.

window.performance.getEntriesByType('navigation').at(0).activationStart;

If you see a non zero number, you likely arrived on a prerendered page. Zero usually means a normal navigation.

Two, measure outcomes in the field.
Use PageSpeed Insights to review field data and Search Console for Core Web Vitals reporting. You are looking for small lifts in passing rates for LCP and INP on popular journeys. This is not a single day change. Give it a few weeks and compare like for like periods.

Prefetch or prerender, and when to be brave

A simple rule of thumb. If you are only moderately confident the user will click, keep to prefetch. It is lighter on memory and bandwidth, and still removes a lot of waiting. When you are very confident, such as a visible next step on a key flow, test prerender on hover. On touch devices, moderate eagerness often triggers on tap down which is a strong signal.

And please remember that people do block or tune these features. Chrome may skip prerender if memory is tight. Some users disable preload behaviour. This is progressive enhancement, not a promise. Build for the baseline, use speculation to add the gloss.

Practical guardrails

A few notes that save pain.

Logged in views
Core does not enable speculative loading for logged in users. That avoids weirdness in dashboards and private areas. If you run a membership site, keep that in mind when you test in staging.

Query strings and dynamic pages
Default rules exclude links with query parameters when pretty permalinks are on. If your site relies on tracking parameters during navigation, be sure those flows still work as you expect.

Per block opt outs
Add no prefetch to remove speculative work entirely for a section. Add no prerender if you are happy with prefetch but never want the full background render. Both are supported in Core and can be set from the Additional CSS classes field in the editor.

Heavy media or downloads
Speculative Loading targets document navigations, not direct file links, but be mindful of pages that immediately start large streams or downloads. Use the exclusions filter or the CSS classes to keep control.

What about headless or single page apps

The Speculation Rules API was designed with multi page apps in mind. That said, you can still use it to prefetch or prerender a headless front end if your routing maps to document URLs. For pure client side route changes, this API does not apply inside the app itself, but it can still improve the first hop into the app.

A quick story from the real world

We tried moderate prerender on a blog with strong internal linking. The only change was to apply the filter you saw earlier and to add no prerender on a couple of blocks that included heavy comparison tables. It felt night and day in reading sessions. The formal numbers were quieter, which makes sense, but after four weeks the proportion of good INP sessions nudged up, and time on site rose a little because readers flicked through without friction. You could feel the flow change. That is the whole point.

Copy and paste recipes

Keep defaults, but exclude sensitive routes

add_filter( 'wp_speculation_rules_href_exclude_paths', function( $paths ) {
foreach ( array( '/cart/*', '/checkout/*', '/account/*' ) as $p ) {
$paths[] = $p;
}
return $paths;
}, 10, 2 );

Trial moderate prerender on hover

add_filter( 'wp_speculation_rules_configuration', function( $config ) {
return array( 'mode' => 'prerender', 'eagerness' => 'moderate' );
} );

Opt out a section in the editor

Open the block settings, find Additional CSS classes, add no-prefetch or no-prerender. Done.

Final nudge and where to read more

If you manage content or run campaigns, you do not need to be a performance engineer to get value from this. Leave the Core defaults on. Identify two or three high intent journeys. Ask your dev to trial moderate prerender on hover for those only. Verify with the DevTools Speculative loads panel. Measure over a normal reporting window. Roll forward if the numbers and the gut both say yes.

When you are ready to go deeper, the Core team’s announcement explains the defaults, the filters, and why the conservative profile is the baseline. MDN’s page gives a clean mental model for what the API is and is not. The Chrome team’s guides show you how to debug and tune without guesswork.

Further reading

WordPress Core on Speculative Loading in 6.8. Make WordPress
MDN on the Speculation Rules API. MDN Web Docs
Chrome Developers on prerender and DevTools debugging. Chrome for Developers+1

Looking for a digital agency in Lincolnshire? Learn more about our web design services in Lincolnshire, SEO in Lincolnshire, or PPC management in Lincolnshire.

Want results like these for your business?


If you have read this far, you are clearly serious about your digital presence. Let us have a conversation about what we can do for you.

Office: Floor 1, Lindpet House, Grantham NG31 6LJ

Whether it's a brand-new website, a marketing campaign, or just a quick question - we'll get back to you within one working day. No hard sell, no jargon, just straight answers.

Let's talk!

Fill out the form below and we'll get back to you within 24 hours.

We'll never share your data. See our privacy policy.

Thank you

We've received your message and will be in touch within one working day.