If you want to know how to speed up a WordPress site, start by measuring before you install anything. Most slow sites aren’t slow for one reason. They’re slow because of a stack of small problems: cheap hosting, a heavy theme, twenty plugins loading scripts on every page, and uncompressed images straight off a phone.

The fix is to find which of those problems is costing you the most time, deal with it, measure again, and move to the next one. Throwing a caching plugin at the site first can hide the real cause and sometimes breaks forms or checkout pages.

This guide walks through what slows WordPress down, how to diagnose it, and the order we work through fixes on client sites. You can do most of it yourself if you’re comfortable in the WordPress admin. The riskier steps are flagged.

What “fast” means for a WordPress site

Google measures page experience with Core Web Vitals. According to Google’s web.dev documentation, a page gives a good experience when Largest Contentful Paint (how long the main content takes to appear) is 2.5 seconds or less, Interaction to Next Paint (how quickly the page responds to a tap or click) is 200 milliseconds or less, and Cumulative Layout Shift (how much things jump around while loading) is 0.1 or less.

Those thresholds are judged at the 75th percentile of real visits, so a fast result on your own office Wi-Fi doesn’t count for much. What matters is how the site behaves for a customer on a mid-range phone with a patchy mobile connection.

Speed also matters outside Google. Slow pages lose visitors before they read anything, and slow checkout or quote forms lose people who were ready to buy. For lead-gen sites, every extra second on the contact page is a second for someone to change their mind.

How to measure before you change anything

Run these checks first and save the results, so you can tell whether each fix actually helped.

  • PageSpeed Insights. Test your home page, a typical service or product page, and your contact or checkout page. Look at the field data (real visits) first, then the lab data and the list of opportunities.
  • Search Console’s Core Web Vitals report. It groups URLs that share the same problem, which tells you whether the issue is a template or a single page.
  • Time to First Byte (TTFB). PageSpeed shows how long the server takes to start responding. If this is slow, no amount of front-end work will fully fix the site.
  • Query Monitor. This free plugin shows slow database queries and which plugin is responsible for them. Run it on staging rather than a busy live site.
  • A waterfall view. WebPageTest or your browser’s developer tools show every file the page loads, in order, so you can see which scripts and images hold everything up.

The usual causes of a slow WordPress site

Across the sites we audit, the same causes come up again and again. Here they are, roughly in the order we check them.

1. Hosting that can’t keep up

Shared hosting packs hundreds of sites onto one server. When a neighbor gets busy, your site waits. A high TTFB on simple pages is the giveaway. Managed WordPress hosts and well-configured cloud servers usually respond far faster because they run server-level caching and newer PHP versions by default.

Check the PHP version in Tools, then Site Health. WordPress.org’s requirements page lists the PHP version it currently recommends, and old versions are both slower and no longer patched for security.

2. Too many plugins, or the wrong ones

Plugin count alone isn’t the problem. The problem is plugins that load scripts and styles on every page when they’re only needed on one, like a form plugin loading on your blog posts or a slider library loading site-wide for a single home page banner. Social share widgets, live chat embeds and old page builder add-ons are frequent offenders.

3. A heavy theme or page builder

Multipurpose themes ship with code for dozens of layouts you’ll never use. Page builders add wrapper elements and inline styles to every section. Neither is wrong, but on a site with real speed problems they often set the floor for how fast it can get.

4. Images that are too big

A 4,000-pixel photo shown in an 800-pixel slot still downloads at full size unless something resizes it. Serve images in WebP or AVIF, at the size they’re displayed, and let the browser lazy-load anything below the fold. WordPress core has added native lazy loading for images since version 5.5, but the main hero image should load right away, so make sure it isn’t lazy-loaded.

5. No page caching

Without caching, WordPress builds every page from PHP and database queries on every visit. Page caching saves the finished HTML and serves that instead. Many managed hosts include it. Otherwise a plugin like WP Rocket or LiteSpeed Cache (on LiteSpeed servers) handles it.

6. Third-party scripts

Analytics, tag managers, ad pixels, heatmaps, review widgets, chat widgets and embedded videos all load code from other servers. Each one is small. Together they’re often the biggest drag on Interaction to Next Paint. Audit every tag in Google Tag Manager and remove the ones nobody looks at.

7. A bloated database

Years of post revisions, expired transients, spam comments and leftover tables from deleted plugins slow down queries. Cleaning this up is safe when done with a backup and a proper tool, and risky when done by hand in phpMyAdmin.

How to speed up a WordPress site, step by step

This is the order we work through on client sites. Each step is tested on a staging copy first, then measured again after it goes live.

  1. Take a full backup and set up staging. Most hosts offer one-click staging. Never test speed plugins on a live store or a site taking bookings.
  2. Fix the server. Move to a supported PHP version, turn on server caching if your host offers it, and change hosts if TTFB stays slow on simple pages.
  3. Remove what you don’t use. Deactivate and delete unused plugins and themes. Replace plugins that duplicate each other.
  4. Stop scripts loading where they aren’t needed. Tools like Perfmatters or Asset CleanUp let you switch off a plugin’s files on pages that don’t use it.
  5. Sort out images. Compress and convert existing images with a tool like ShortPixel or Imagify, set correct sizes, and make sure the hero image loads first.
  6. Add page caching and a CDN. Cache pages for logged-out visitors, then put a CDN such as Cloudflare in front to serve files from closer to your visitors.
  7. Trim third-party tags. Delay non-critical scripts until the visitor interacts, and replace embedded videos with a lightweight preview that loads the player on click.
  8. Clean the database. Limit post revisions, clear expired transients and remove orphaned tables, with a backup in hand.
  9. Measure again. Re-run the same tests on the same pages. Field data in Search Console takes a few weeks to reflect changes, so judge early results on lab data.

Quick fixes compared with deeper fixes

Some changes take minutes. Others mean rebuilding templates. Here’s how they compare.

FixEffortWhat it usually helps
Delete unused pluginsLowServer time and page weight
Compress and resize imagesLowLargest Contentful Paint
Page cachingLow to mediumServer response time
CDN in front of the siteMediumLoad times for distant visitors
Delay third-party scriptsMediumInteraction to Next Paint
Better hostingMediumServer response time across the site
Rebuild a heavy theme or builder layoutHighEvery metric, permanently

When speed plugins make things worse

Caching and minification plugins are useful, but aggressive settings break things. The common failures we see are forms that stop submitting because a script was delayed, logged-in pages that show another user’s cart because they were cached, and layout shifts because CSS was combined in the wrong order.

Turn on one setting at a time, test your forms, cart, checkout and login after each change, and keep notes. If a setting breaks something, switch it off rather than piling on another plugin to fix the side effect.

When a rebuild beats another round of fixes

Sometimes the honest answer is that the site has hit its ceiling. If the theme loads several hundred kilobytes of CSS and JavaScript before any content, or the page builder wraps every heading in five nested containers, plugins can only do so much.

At that point a lighter custom theme, or a rebuild on a modern stack, often costs less over a year than repeated rounds of patching. We look at this in our WordPress development work, and speed checks are part of the regular website maintenance plans we run so a fast site stays fast after new plugins and content go in.

Speed is also one part of a wider technical health check. Our technical SEO audit checklist covers how page speed sits alongside crawling, indexing and structured data, and our technical SEO services pick up the fixes that affect rankings.

Get your WordPress site checked

If you’d rather hand this over, our website speed and Core Web Vitals service starts with a free audit of your slowest templates, then a written plan with a fixed scope. Every change goes onto staging for your review before it reaches the live site.