Why is my WordPress site slow and how can I speed it up?
A slow website loses visitors, sales and Google rankings. Here are the most common causes and how to speed up your WordPress step by step, without unnecessary jargon.
Published on · Updated on · 8 min read

If your WordPress is slow, it’s not a subjective impression: it’s a real problem that translates into fewer visits, fewer conversions and worse ranking on Google.
The good news is that most causes can be identified and fixed without being a developer. Here’s what I review in every project before touching anything.
First, confirm it’s slow with data
Before optimising, measure. Install PageSpeed Insights or use the Core Web Vitals: what they are and how to improve them report in Search Console. Look at two things:
- TTFB (Time to First Byte): if it’s above 500 ms, the problem is the server or the database, not the page.
- LCP (Largest Contentful Paint): if it’s above 2.5 seconds, the site takes too long to show the main content to the user.
With those two data points you can tell whether the bottleneck is in hosting, the frontend, or both.
In the last audit I did for a food ecommerce site in London, TTFB was 1.2 s and LCP was 4.1 s. The problem wasn’t the frontend: shared hosting responded slowly even when serving cached HTML.
The 7 most common causes of slow WordPress
Insufficient hosting
If the server responds slowly, no internal optimisation will compensate. Basic shared hosting can’t handle a WordPress site with real traffic or an ecommerce site with recurring visits.
Too many plugins (or heavy plugins)
Every plugin adds CSS, JavaScript and database queries. It’s not just quantity, but quality: some plugins load on every page even when you don’t need them there.
Unoptimised images
Uploading 3 MB JPGs, uncompressed, without WebP format and without defined dimensions is one of the most common causes of high LCP and bad CLS.
Badly configured or non-existent cache
Without cache, every visit forces WordPress to generate the page from scratch. With cache, the server serves pre-built HTML. It’s one of the improvements with the greatest immediate impact.
Bloated database
Post revisions, orphaned metadata and accumulated transients make every query slower. It’s easy to clean up.
Poorly optimised theme
Some themes load entire libraries (sliders, icons, builders) you don’t need. A lightweight theme like GeneratePress, Astra or Kadence improves performance without touching anything else.
Uncontrolled third-party scripts
Google Analytics, pixels, chatbots, embedded maps and external videos consume resources. If you don’t need them on every page, load them only where they add value.
In a renovation project in Brighton, the culprit wasn’t hosting but a premium theme that loaded 380 KB of CSS from a slider only used on the homepage. Removing it brought LCP down from 3.8 s to 1.9 s without touching anything else.
How to speed up your WordPress step by step
Order matters: start with what has the most impact and the least risk.
1. Install a cache plugin
WP Rocket (paid) or LiteSpeed Cache / W3 Total Cache (free) generate static HTML and serve pages much faster. Also enable object caching if your hosting allows it.
As a rule of thumb, if your TTFB drops below 200 ms after enabling page + object cache, hosting isn’t your bottleneck. If it’s still above 500 ms, the problem is deeper down.
2. Optimise images
Convert your JPGs and PNGs to WebP with ShortPixel,
Imagify or Smush. Always set
width and height on every image to avoid layout
shifts (CLS).
3. Reduce the number of plugins
Deactivate and delete anything you don’t use. If a plugin hasn’t been updated in over a year or it’s not clear what it adds, remove it. Fewer plugins usually means fewer conflicts and more speed.
4. Clean up the database
Plugins like WP-Optimize delete old revisions, expired transients, spam comments and orphaned tables. It’s a quick clean-up that helps quite a lot on sites with years of content.
5. Enable a CDN
A CDN (Cloudflare, Bunny, KeyCDN) serves your static files from servers close to the user. It reduces global load time, especially if you have international visitors.
6. Update PHP and WordPress
Use PHP 8.1 or higher if your hosting allows it. WordPress 6.x and modern PHP versions perform much better than older ones. Take the opportunity to review regular WordPress maintenance.
7. Load scripts only where they add value
Plugins like Asset CleanUp or Perfmatters
let you disable CSS and JavaScript on pages that don’t need them.
You can also defer non-critical scripts with defer or
async.
8. Consider changing hosting
If you’ve done everything above and TTFB is still high, the problem is the server. WordPress-specialised hosting (Kinsta, WP Engine, SiteGround, Raiola) with modern PHP, SSD, HTTP/2 and server-side cache makes a huge difference.
In a real case with Kinsta, we went from a TTFB of 900 ms to 180 ms just by changing hosting, without touching plugins or the theme. LCP dropped from 3.4 s to 1.6 s in the next field measurement in Search Console.
How to tell if you’ve improved
- PageSpeed Insights: compare before and after. Lower LCP, INP and CLS.
- GTmetrix or WebPageTest: measure load times from different locations.
- Search Console → Core Web Vitals: real data from your users, the metric Google uses for ranking.
If LCP is still high, check the specific guide on how to improve LCP in Core Web Vitals. If the problem is interactivity, see how to improve INP in Core Web Vitals. And if your site «jumps» while loading, check how to improve CLS in Core Web Vitals.
In an online training project, after applying cache, WebP and database clean-up, LCP went from 3.1 s to 1.8 s in 3 weeks (field data, not lab data). INP also dropped from 240 ms to 130 ms.
Tip: don’t apply all improvements at once. Make controlled changes, measure after each one and note what worked. That way you’ll know which lever has the most impact in your specific case.
When it’s worth calling a professional
If you’ve tried the above and you still have high load times, if you have an ecommerce site with active sales, or if your WordPress has accumulated years without maintenance, a technical review usually ends up cheaper than continuing to lose customers. Here’s how I do a complete SEO audit in 7 steps and what’s included in professional WordPress maintenance.
Do you want your WordPress to be fast again?
I audit your site, find out why it’s slow and give you a prioritised action plan with measurable improvements.