There are dozens of “WordPress speed tips” lists with forty items on them, and most of those items move the needle by fractions of a second. These five actually matter, in roughly the order you should do them.
1. Fix hosting before you fix anything else
If your Time to First Byte (TTFB) is already over 600ms before WordPress has rendered a single template, no amount of plugin tuning will fix that โ the server itself is the bottleneck. Check this first with a tool like WebPageTest. If TTFB is high, the fix is better hosting, not a faster theme.
2. Compress and properly size every image
A 4000px-wide photo displayed at 800px wide is wasted bandwidth on every single page load. An image optimisation plugin that resizes on upload and serves modern formats (WebP/AVIF) with a fallback typically does more for perceived speed than any other single change on a content-heavy site.
3. Turn on page caching โ and verify it’s actually working
Page caching serves a pre-built HTML snapshot instead of running PHP and hitting the database on every visit. Installing a caching plugin isn’t enough on its own: open an incognito window, load a page twice, and check the response headers (or the plugin’s own debug output) to confirm the second load was actually served from cache. It’s a common and invisible failure for a caching plugin to be “installed” but not actually caching anything, usually because of a conflicting setting or a logged-in-user exclusion rule.
4. Defer or remove what isn’t needed above the fold
Render-blocking CSS and JavaScript โ often from a page builder, a slider you’re not using anymore, or a tracking script loaded synchronously โ delays when visitors see anything at all. Most caching plugins include an option to defer non-critical CSS/JS; turn it on, then actually check the page still looks right, since this is also the most common setting to break a layout.
5. Use a CDN if your visitors aren’t near your server
A content delivery network caches your static assets (images, CSS, JS) at edge locations close to each visitor, which matters a lot if your server is in one country and a meaningful chunk of your traffic is in another. For a single-country audience already close to the server, a CDN helps less โ don’t assume it’s always the top priority.
What to skip
Minifying HTML, combining dozens of small CSS files, “database optimisation” plugins that claim to speed up a small site’s MySQL tables โ these measure in milliseconds on most real sites. They’re not wrong to do, they’re just not where the time actually goes. Fix hosting, images and caching first, then worry about the rest.