Most “speed up WordPress” lists give you 30 tips in random order: enable GZIP, limit revisions, disable hotlinking. Some of those save milliseconds. Others save seconds. If you do them in the wrong order, you spend a weekend tweaking, and your PageSpeed score barely moves.
This improve WordPress speed guide is ordered by impact. Measure first, then fix the big things (hosting, caching, images), then the medium ones (scripts, fonts, plugins), then the small housekeeping. Stop when your site is fast enough.
- Step 0: Measure Before You Change Anything
- How To Improve WordPress Speed: Step-by-Step Guide
- Get Hosting that is Not the Bottleneck
- Turn on Page Caching
- Compress Images and Serve WebP or AVIF
- Use a lightweight theme
- Delay or Remove Third-party Scripts
- Use a CDN
- Preload the LCP image
- Remove unused CSS
- Minify CSS and JavaScript
- Lazy load images, iframes, and Videos Below the Fold
- Host Fonts Locally and Use Fewer of Them
- Audit Your Plugins
- Stop Plugins Loading Assets Where They Are Not Needed
- Update PHP
- Add Object Caching on Dynamic Sites
- Clean the Database
- Limit Post Revisions
- 18. Reduce Heartbeat API activity
- Set Image Dimensions and Reserve Space for Ads
- Keep WordPress, Themes and Plugins updated
- What Not to Bother With
- A 1-hour Speed Plan for a Typical Blog
- FAQs Related to How to Speed Up WordPress
Short answer: The five fixes that make the biggest difference are decent hosting, a page cache, compressed images in WebP or AVIF, a lightweight theme, and delaying non-essential JavaScript (ads, chat widgets, trackers). Do those five and most WordPress sites pass Core Web Vitals.
Step 0: Measure Before You Change Anything
You need a baseline, or you will not know what helped.
- PageSpeed Insights (pagespeed.web.dev): run your homepage and one typical post. Look at the mobile result and, if available, the “real user” Core Web Vitals section at the top.
- GTmetrix: the Waterfall tab shows every file and how long it takes.
- Search Console > Core Web Vitals: shows which groups of URLs pass or fail for real visitors.
The Numbers That Matter
| Metric | What it measures | Good | Usually caused by |
|---|---|---|---|
| TTFB (Time to First Byte) | How fast the server responds | Under 0.8 s | Hosting, no page cache |
| LCP (Largest Contentful Paint) | When the main content appears | Under 2.5 s | Big hero images, slow server, render-blocking CSS |
| INP (Interaction to Next Paint) | How quickly the page reacts to clicks and taps | Under 200 ms | Heavy JavaScript, large DOM |
| CLS (Cumulative Layout Shift) | How much the layout jumps | Under 0.1 | Images without dimensions, ads, late-loading fonts |
How To Improve WordPress Speed: Step-by-Step Guide

Get Hosting that is Not the Bottleneck
If your TTFB is over a second with caching on, no plugin will save you. Cheap shared hosting packs hundreds of sites onto one server.
Moving to a quality host (managed WordPress, a LiteSpeed host, or a cloud VPS) often cuts load time in half on its own.
Look for PHP 8.2 or newer, server-level caching, and a data centre near your audience.
My Nexcess hosting review shows what managed hosting includes.
Turn on Page Caching
Caching serves a saved copy of each page instead of rebuilding it for every visitor.
It is the single biggest improvement you can make in five minutes. Use LiteSpeed Cache on LiteSpeed servers, WP Rocket or FlyingPress elsewhere.
Full comparison in the best WordPress caching plugins.
Compress Images and Serve WebP or AVIF
Images are the heaviest part of most pages. Resize them to the size they actually display (a 4000px photo in a 750px column is waste), compress them, and serve modern formats.
An image plugin does this automatically on upload and in bulk for old images. See the best image optimization plugins.
Use a lightweight theme
A theme that loads 300 KB of CSS and JavaScript on every page puts you behind before you start.
GeneratePress, Kadence, Astra and Blocksy add very little. See the fastest WordPress themes list.
Delay or Remove Third-party Scripts
Ad networks, chat widgets, heatmaps, social embeds and multiple analytics tags often weigh more than WordPress itself.
Remove what you do not use. Delay the rest until the user interacts, using the “delay JavaScript” feature in WP Rocket, FlyingPress or Perfmatters.
This is usually the biggest INP fix.
Use a CDN
A content delivery network serves your images, CSS and JS from servers close to each visitor.
Cloudflare’s free plan is a good start. Many hosts and image plugins include a CDN.
Preload the LCP image
Your hero or featured image is usually the LCP element. Make sure it is not lazy-loaded, and preload it.
FlyingPress and WP Rocket can do this automatically; you can also add fetchpriority="high" to that image.
Remove unused CSS
Themes and plugins load CSS for features a page does not use.
“Remove unused CSS” in WP Rocket or FlyingPress (or critical CSS in LiteSpeed Cache) trims it per page.
Minify CSS and JavaScript
Minification removes whitespace and comments.
Every caching plugin can do it. Skip “combine files” on modern HTTP/2 or HTTP/3 servers; it rarely helps and often breaks things.
Lazy load images, iframes, and Videos Below the Fold
WordPress lazy loads images by default. Extend it to YouTube embeds by replacing them with a click-to-play preview image, which saves hundreds of kilobytes per video.
Host Fonts Locally and Use Fewer of Them
Each font family and weight is another download. Stick to one or two families, load only the weights you use, and host them on your own server.
Or use a system font stack for body text, which costs nothing.
Audit Your Plugins
The number of plugins matters less than what they load.
Deactivate plugins one at a time on staging and re-test, or use Query Monitor to see which ones slow your admin and front end. Remove anything that duplicates another plugin’s job.
The must-have plugins list shows a lean starter stack.
Stop Plugins Loading Assets Where They Are Not Needed
A contact form plugin should not load its scripts on every blog post.
Perfmatters’ Script Manager or Asset CleanUp lets you disable assets per page.
My form builder plugins guide notes which ones handle this well by default.
Update PHP
Newer PHP versions run WordPress noticeably faster.
Check Tools > Site Health, and update through your hosting panel. Test on staging first.
Add Object Caching on Dynamic Sites
WooCommerce stores, membership sites and busy forums benefit from Redis or Memcached object caching.
Many hosts offer it with one click.
Clean the Database
Delete old revisions, spam comments, trashed posts and expired transients. WP-Optimize schedules this for you.
Limit Post Revisions
Add define('WP_POST_REVISIONS', 5); to wp-config.php to keep the database from growing endlessly.
18. Reduce Heartbeat API activity
The Heartbeat API pings the server every 15 to 60 seconds while you are in the dashboard. Limiting it reduces server load on cheap hosting. Most performance plugins have a setting for it.
Set Image Dimensions and Reserve Space for Ads
Always give images width and height, and reserve a fixed-height container for ad slots. That fixes most CLS problems.
Keep WordPress, Themes and Plugins updated
Updates often include performance improvements, and they close security holes that could let attackers slow or take down your site.
Pair updates with a good security plugin.
Bench note: Change one thing at a time, then re-test. If you enable ten optimizations at once and something breaks (menus stop working, a form will not submit), you will not know which setting caused it. And always test the mobile score. That is what Google uses.
What Not to Bother With
- Chasing a 100 score. Passing Core Web Vitals for real users matters. A lab score of 92 vs 100 does not.
- Combining all CSS and JS into one file. Outdated advice on modern servers.
- Disabling emojis and embeds for big gains. These save a few kilobytes. Fine to do, but not a priority.
- Five optimization plugins at once. They overlap and conflict. One cache plugin plus one image plugin is usually enough.
A 1-hour Speed Plan for a Typical Blog
- Run PageSpeed Insights and GTmetrix, and save the results (10 min).
- Install and configure a caching plugin (10 min).
- Install an image optimizer and bulk-optimize your library (15 min, runs in the background).
- Delay third-party scripts and remove any you do not need (10 min).
- Check that the LCP image is not lazy-loaded (5 min).
- Re-test and compare (10 min).
FAQs Related to How to Speed Up WordPress
Why is my WordPress site so slow?
The most common causes are cheap hosting, no page caching, large images, a heavy theme or page builder, and too many third-party scripts.
What is a good load time for WordPress?
Aim for an LCP under 2.5 seconds on mobile for real users, and a TTFB under 0.8 seconds.
Do page builders slow down WordPress?
They add weight, some more than others. See how they compare in theĀ page builder roundup.
Does site speed affect SEO?
Yes, as part of page experience, though content relevance matters much more. Speed also affects bounce rate and conversions, and faster sites get crawled more efficiently. More in the WordPress SEO guide.
How often should I test my site speed?
After every major change (new theme, new plugin, new ad network) and once a month otherwise.
Final Verdict
That’s all about How to Improve WordPress Speed.
Speed work is mostly about doing the big things first. Get decent hosting, turn on caching, fix your images, choose a light theme and tame third-party scripts.
That handles 80% of the problem. Everything after that is fine-tuning, and it only matters once the basics are in place.