15 WordPress Speed Tweaks That Actually Move the Needle
Most "speed up WordPress" lists are 30 items long and four of them matter. This is the short, opinionated version — based on a real WordPress site we took from a Largest Contentful Paint of 6.2 seconds down to under 1.5 seconds without rewriting anything.
The four that did 80% of the work
1. Move to hosting that actually has a clue
You can't optimise your way out of a slow server. Our test site was on a low-end shared plan; just moving to a properly-cached managed host cut TTFB from 1,400ms to 180ms. That's almost a full second of "speed work" in a one-hour migration.
2. Turn on full-page caching at the edge
Cloudflare's "Cache Everything" page rule (with a sensible bypass for logged-in users and the cart) means most visitors never hit your origin at all. Free tier, ten-minute setup, massive win.
3. Convert images to WebP/AVIF and lazy-load them
A single oversized hero image is the most common LCP killer on WordPress. Use a plugin like ShortPixel or Imagify, set max width to 1920px, and let WordPress's native lazy-loading handle the rest. Expect 30–60% smaller pages instantly.
4. Strip plugin bloat
Audit your plugins with Query Monitor. Anything loading scripts on every page (chat widgets, social share, "related posts" with heavy queries) gets either removed or restricted to the pages that actually need it.
The rest of the list
- Use a lightweight theme. GeneratePress, Kadence, or Blocksy will outperform almost any "all-in-one" theme.
- Critical CSS first. Inline above-the-fold CSS, defer everything else.
- Defer non-critical JS. Especially analytics, chat, and ad scripts.
- Preload your hero image and brand font. Two
<link rel="preload">tags can shave 200–400ms off LCP. - Self-host fonts. Google Fonts via a CDN adds DNS + connect time you don't need.
- Limit revisions and clean wp_options. A bloated database makes every admin click slower.
- Disable WordPress heartbeat on the front end. One less request every 60 seconds per visitor.
- Use object caching (Redis). Most quality hosts include it; turn it on.
- Disable XML-RPC if you don't use it. Less surface area, fewer brute-force hits.
- Serve static assets from a CDN. Even just images and CSS makes a difference globally.
- Run Lighthouse on a private window. Browser extensions destroy your scores and lie to you.
Before / after
- LCP: 6.2s → 1.4s
- TTFB: 1,400ms → 180ms
- Total page weight: 4.1 MB → 980 KB
- Lighthouse Performance (mobile): 38 → 96
None of this is exotic. It's just doing the boring stuff in order, biggest impact first.
Need a faster host first? See our hosting reviews — managed WordPress plans on Kinsta, Rocket.net and Hostinger Cloud all benchmark consistently fast in our tests.