11 WordPress Speed Optimization Tips That Actually Work in 2026
"My WordPress site is slow." We hear it most weeks. And nine times out of ten, the cause isn't the host — it's something on the site itself. Here are the eleven things we check before we ever look at the server.
1. Test with the right tool first
Before you change anything, measure. We use PageSpeed Insights and GTmetrix together. PageSpeed tells you what Google sees; GTmetrix shows you the waterfall. Without a baseline number, you have no idea whether your "optimization" actually helped.
2. Pick a lightweight theme
A bloated multipurpose theme can easily add 500ms before WordPress even starts rendering content. Avia, Divi and X used to be common offenders. Astra, GeneratePress, Kadence and the default Twenty-Twenty-Four are all fast. Switching theme is rarely cheap once a site is live, but if you're early, choose wisely.
3. Use a real caching plugin
WP Rocket is the paid standard; LiteSpeed Cache is free and excellent if you're on our LiteSpeed-powered servers. Cache Enabler and W3 Total Cache are still around but harder to configure. Whatever you use, make sure page caching is on, not just object caching.
4. Optimise images — this is usually the biggest win
Most sites we audit are serving 2 MB hero images that should be 200 KB. Two things solve this:
- Convert to WebP. ShortPixel, Imagify and the free Smush all do this.
- Stop uploading 4000px-wide images. Resize to the size they'll actually display at.
5. Lazy-load images and iframes
WordPress lazy-loads images natively since 5.5, but check that your theme isn't overriding it. Lazy-loading YouTube embeds and Maps iframes makes a much bigger difference than most people expect.
6. Audit your plugins ruthlessly
Every active plugin runs on every page load. We've seen sites with 47 plugins and 4 second response times. Deactivate, then test, then delete. If you're unsure what a plugin is doing, that's your answer — get rid of it.
7. Use a CDN
A CDN (content delivery network) serves your images, CSS and JS from a server close to the visitor. Cloudflare's free plan is more than enough for most small sites. We also include free CDN with our business hosting.
8. Clean up your database
Old post revisions, trashed comments, expired transients — they all live in your database. Run WP-Optimize or Advanced Database Cleaner once a month and you'll keep things tidy.
9. Defer or eliminate render-blocking JavaScript
This is where PageSpeed Insights usually points fingers. Modern caching plugins (LiteSpeed Cache, WP Rocket, Autoptimize) handle this in one toggle. Be careful though — defer JavaScript wrong and your menu stops working. Test after every change.
10. Use system fonts or self-host Google Fonts
Each Google Fonts request hits an external domain. Self-host them with OMGF or just embrace system fonts. The performance gain is small but the privacy and reliability gains are real.
11. Upgrade PHP and use a modern server
PHP 8.2 is roughly 25% faster than PHP 7.4 for a typical WordPress site. Yet we still see sites running on PHP 7.x because someone "didn't want to break anything." If your host has PHP 8.2 or 8.3 available — and ours does — switch.
If you do only three of these — better images, a real caching plugin, and PHP 8.2+ — most slow WordPress sites will get to under 2-second load times.
Performance is rarely about one heroic fix. It's the accumulation of small wins. Run your audit, pick the three biggest items, ship them, then re-measure. Speed work is one of the few areas of web development where the result is immediate, visible, and feels genuinely satisfying.