Every second of load time costs you visitors, and on mobile it costs you rankings too. The good news: a slow WordPress site is rarely suffering from one mysterious problem. It is almost always a stack of small, fixable ones. These nine fixes are the ones that consistently move the needle on real production sites.
1. Start with the hosting reality check
No plugin can out-optimize a weak server. If your Time To First Byte is consistently above 600ms on a cached page, the host is the bottleneck. A decent managed or LiteSpeed-based host is worth more than any premium optimization plugin, and it is the first thing to check before touching anything else.
2. Turn on full-page caching properly
A good cache (LiteSpeed Cache on LiteSpeed servers, or WP Rocket elsewhere) serving static HTML is the single biggest win for most sites. Configure it, then actually test logged-out pages — many sites run with caching silently broken by a misconfigured rule or a cookie exception.
3. Fix your images — all of them
Images are usually 60–80% of page weight. Convert to WebP, serve properly sized versions instead of 3000px originals in 600px slots, compress, and lazy-load below the fold. Keep the hero image eager and preloaded; it defines your LCP score.
4. Audit plugins by weight, not by count
Thirty lean plugins can be faster than eight bloated ones. The real offenders are plugins that load scripts and styles on every page for a feature used on one page. Use a query monitor to find them, restrict assets per page where possible, and delete what you do not use — deactivated plugins that stay installed are still attack surface.
5. Tame fonts
Two font families, two weights each, served locally in WOFF2 with font-display: swap. Google Fonts loaded carelessly can add half a second of render blocking. For many business sites, a well-chosen system font stack is indistinguishable in practice and instant.
6. Clean the database
Transients, post revisions, spam comments and orphaned options from deleted plugins accumulate for years. On older sites, an bloated autoload (options loaded on every request) over 1MB measurably slows every page. A careful cleanup — with a backup first — is unglamorous and effective.
7. Defer what the visitor does not need yet
Chat widgets, analytics extras, sliders and marketing scripts should load after the content, or on interaction. Your visitor came for your service page, not your third-party scripts. Audit what fires on load and push everything non-essential later.
8. Use a CDN when your audience is spread out
If your customers are in one city, a CDN is optional. If they are across Germany, the UK and beyond — as many of my clients' are — a CDN like Cloudflare cuts latency dramatically and adds a security layer in front of WordPress.
9. Measure the right thing, on a real phone profile
Test with PageSpeed Insights' mobile profile and WebPageTest, not your fast office connection. Watch LCP, INP and CLS — and re-test after every change, one change at a time, so you know what actually helped.
Keeping it fast after the fixes
One warning from experience: sites drift back to slow. A new plugin here, an uncompressed banner there, a marketing script added by someone in a hurry. Put speed on a maintenance rhythm — a quarterly check of page weight, plugin changes and Core Web Vitals in Search Console takes twenty minutes and prevents the slow slide that costs you a little more traffic every month without ever announcing itself.
The bottom line
Speed is not a one-time plugin install; it is a short list of disciplined fixes, applied in the right order: hosting, caching, images, then the details. Most business sites can get from red to green in a single focused pass.
If your WordPress site feels slow and you want the honest diagnosis before the sales pitch, send me the URL.