Almost every slow website is slow for the same four reasons, in the same order. Before changing hosts or rebuilding everything, check these.
First: measure properly
Open PageSpeed Insights and look at the field data, which comes from real users, not the lab numbers. The three metrics that matter:
- LCP: how long until the main element appears. Target: under 2.5 s.
- CLS: how much the page jumps while loading. Target: near zero.
- INP: how long it takes to respond when you tap something.
1. Images (80% of the problem)
- Modern formats: WebP or AVIF instead of JPG and PNG. Usually half the weight at the same quality.
- Real size. If it displays at 800 px, don't upload a 4000 px file.
- Always
widthandheighton the tag. That's what stops the page jumping as it loads. loading="lazy"on everything below the first screen. And never on what's above it.
2. Fonts
A typeface that arrives late holds up all your text. Host fonts on your own domain instead of pulling them from a third party: they load sooner, don't depend on someone else's server, and you stop sending your visitors' IP addresses to another company before they've agreed to anything.
Preload only the two that appear first, and use font-display: swap.
3. Third-party scripts
Chats, maps, pixels, banners, review widgets. Each one is a request to a server you don't control that can take as long as it likes. Run the test: remove them all, measure, then add them back one at a time. Half of them are usually surplus.
4. Caching
- Browser: files that don't change (CSS, JS, images) with a long cache and a version in the URL, so you can update them when needed.
- Page: on WordPress, a well-configured caching plugin is the biggest win for the least effort.
- CDN: serves files from a server near the visitor. Cloudflare has a free plan and solves a lot.
And after that, if needed
- Fewer plugins. Each one adds CSS and JS to every page, even where it isn't used.
- Better hosting. If the server takes more than 600 ms to respond, no optimisation will save it.
- Less total weight. Over 2 MB per page, something is surplus.
The most common mistake
Chasing 100 in PageSpeed. That score is a lab result: what matters is what your real visitors experience, and that's in the field data. A site scoring 85 with a 1.8 s LCP beats one scoring 100 with poor field data.
Site feels slow and you don't know why?
Write to [email protected] and I'll tell you what's holding it back and in what order I'd fix it.
