Got a call from a client last week. They were pulling their hair out. Solid site, good server, not overloaded with plugins, but their Google PageSpeed score was stuck in the low 80s. The main complaint from Google was “Eliminate render-blocking resources.” It is a classic WordPress frontend performance issue, and they had already tried two different caching plugins with no luck.
And they were not wrong. For years WordPress has been aggressive about how it loads scripts and styles. It drops a pile of them into the <head> of the page, and the browser has to stop and download and process all of it before it can show the user a single pixel. That is the bottleneck.
The old fix was a maintenance nightmare
A few years back my first move would have been to reach for a plugin like Asset CleanUp or to write a pile of wp_dequeue_script calls by hand. That works for about a day. Then the client installs a new plugin, or a theme updates, and the fragile setup breaks. You end up playing whack-a-mole with script handles, and it is miserable to maintain long term.
WordPress 6.9 changes that. The core team has been shipping real performance work, and this release finally gives us the tools to fix the problem properly instead of hacking around it. The WordPress Core team published a dense field guide on the changes, and it is worth reading if you write code. One of the bigger items is a new way to control script priority directly.
Instead of just letting the browser guess, we can now tell it, “Hey, this script for the fancy image carousel isn’t critical. Load the important stuff first.” We do this using a new fetchpriority argument right when we enqueue the script.
wp_enqueue_script(
'my-non-critical-script',
plugins_url( 'foo.js', __FILE__ ),
array(),
'1.0',
array(
'strategy' => 'defer',
'fetchpriority' => 'low',
)
);
So what’s the point?
Updating to WordPress 6.9 will not magically fix your site. The benefit comes from themes and plugins whose developers have adopted these newer standards. An old, clunky theme will still load clunky, render-blocking assets. That was the conversation I had with my client.
- Your theme matters more than ever. A modern block theme or a well-coded classic theme will use these new tools. An old one from 2018 won’t.
- It’s about prioritization. We can now ensure that critical resources for the user experience (like the main hero image) are loaded first, while deferring non-essential scripts.
- This isn’t a one-time fix. It’s about building with a performance-first mindset, using the tools WordPress core provides.
Look, this stuff gets complicated fast. If you’re tired of debugging someone else’s mess and just want your site to work, drop my team a line. We’ve probably seen it before.
So stop fighting the WordPress asset loader with hacks. The tools are finally in core, and you just have to use them.