Posted June 28, 2026 by Cameron Ashley. I've tuned page speed on 100+ WordPress sites. Same ten fixes, every time. Here's the order I do them in and what each one is worth.
Most WordPress speed guides list 40 things and never tell you what matters. This one lists ten. Each one is something I've actually done on a real site, with real before and after numbers. Nothing is theoretical.
If your site is slow, work through these in order. Stop when you hit your target Lighthouse score. Most sites hit 90+ after the first five or six.
1. Set up real caching (worth 30-50 points)
If your WordPress site doesn't have page caching, fix that first. Everything else is fine-tuning. Page caching turns dynamic PHP requests into static HTML files. The server stops doing work on most page views.
For most sites, use a simple plugin like WP Super Cache or W3 Total Cache. For WooCommerce or membership sites, use WP Rocket (paid) — it handles the dynamic edge cases better.
Before: TTFB 2.4 seconds, Lighthouse Performance 32.
After: TTFB 180ms, Lighthouse Performance 78.
2. Resize and compress your images (worth 15-30 points)
I see this on every site that isn't loading fast. Someone uploaded a 4000px-wide photo for a 600px-wide content area. The browser downloads the whole thing, then scales it down.
Two fixes: set a maximum upload size in your media settings (1920px wide is plenty for almost everything), and run all existing images through ShortPixel or Imagify. They convert to WebP and compress without visible quality loss.
Page size before: 4.2MB.
Page size after: 680KB. Same images, same quality, 6x smaller.
3. Remove the plugins you don't actually use (worth 5-15 points)
Every active plugin loads CSS and JavaScript on every page, even pages where it doesn't do anything. A site with 35 active plugins is loading 35 sets of code on every page view.
Go through your plugin list. Anything you can't justify keeping — deactivate and delete. Be honest. If you installed it six months ago and haven't touched it since, you don't need it.
Common offenders: sliders, social share counters, "SEO" plugins that duplicate Yoast, page builders for one-off pages, broken backup plugins.
4. Switch to a real caching plugin if you're using Elementor's built-in caching
Elementor has its own internal cache. It's fine for small sites. It falls over on bigger ones. If you're using Elementor Pro and your site is over 20 pages, install a proper page cache plugin and turn off Elementor's experimental features.
Same goes for most "all-in-one" plugins that bundle caching with 12 other features. They're not as good as dedicated tools.
5. Defer non-critical JavaScript (worth 5-10 points)
Most WordPress sites load every script on every page, even scripts that only run on the contact form. The browser stops rendering the page until they're done.
Use defer or async attributes on script tags. WP Rocket does this with one toggle. If you're not using WP Rocket, the Async JavaScript plugin does the same thing.
Be careful with jQuery — a lot of plugins depend on it loading synchronously. Defer jQuery only after testing.
6. Trim your homepage (worth 5-15 points)
Your homepage is the page most visitors land on. It's also the page most likely to be slow because people pile stuff on it. Hero slider. Three call-to-action sections. Featured posts. Instagram feed. Live chat widget.
Cut it in half. Most sites can do everything they need on the homepage with three to four sections. The slider, the live chat, the Instagram feed — they're nice-to-haves, not must-haves. They all load heavy scripts.
Real example: A Toronto client's homepage went from 18MB and 8 seconds to load, to 1.4MB and 1.6 seconds, just by removing an unused slider plugin and an embedded Twitter feed.
7. Fix your LCP element (worth 5-15 points)
Largest Contentful Paint is the slowest-loading piece of content on the page. Usually it's the hero image. Three fixes:
- Preload the hero image (
<link rel="preload" as="image" href="...">) - Use the right size — match the image dimensions to what's actually displayed
- Use modern formats (WebP or AVIF) for big images
8. Clean up your database (worth 2-5 points)
WordPress stores revisions, drafts, transients, and orphaned metadata forever. On a site that's been running for years, the database can balloon to 500MB of stuff you don't need.
Use WP-Optimize or Advanced Database Cleaner. Run it once, then schedule it monthly. Don't run it during business hours if your site has live traffic.
9. Use a CDN if you have visitors outside your home region
A Content Delivery Network serves your site from a server close to the visitor. If most of your traffic is in Toronto and your server is in Toronto, you don't need a CDN. If you have US or international visitors, you do.
Bunny CDN is the cheapest good option. Cloudflare's free tier is fine for most sites. AWS CloudFront is overkill for 99% of WordPress sites.
10. Set up real monitoring
Once your site is fast, you need to know if it stops being fast. A new plugin, a WooCommerce update, a theme upgrade — any of these can quietly tank your speed score.
Use UptimeRobot for uptime checks (free tier is fine). Use a scheduled Lighthouse check through SpeedCurve or Google PageSpeed Insights API. Run it weekly. You'll know within a week if something breaks.
The order matters
If you skip caching and go straight to optimizing images, you'll see some improvement but you'll plateau early. Do these in order. Stop when you hit your target score. Most sites hit 90+ on Lighthouse Performance after the first six.
What about the magic plugins?
You've seen the ads. "One plugin to make your site 10x faster." They don't work. They hide problems — they don't fix them. They make your dashboard slower, add JavaScript, and give you a fake sense of progress.
Real speed comes from doing the boring work. Caching, image optimization, plugin audit. There's no shortcut.
About the author
Cameron Ashley is a Toronto-based WordPress developer. He's tuned page speed on 100+ sites through his freelance work and his Upwork profile (Top Rated, $100K+ earned, 100% Job Success). He works with small businesses and DTC ecommerce brands across North America. More about Cameron →