WordPress · Performance

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

Illustration about why your WordPress is slow and how to speed it up: performance causes and solutions

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

01

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.

02

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.

03

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.

04

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.

05

Bloated database

Post revisions, orphaned metadata and accumulated transients make every query slower. It’s easy to clean up.

06

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.

07

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.

Alex Figueiras, freelance SEO consultant in Valencia

Written by

Alex Figueiras

Freelance SEO consultant in Valencia · WordPress + Elementor + Rank Math

I help local businesses and SMEs rank on Google with technical audits, on-page SEO and content that converts. More than 40 projects audited and cases measured in sectors such as renovations, training and ecommerce.

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.