Speed & Performance

Slow WordPress Website? How to Find the Cause Before You Fix It

Pages that take too long to appear are one of the quickest ways to lose a visitor’s patience. If you have a slow WordPress website, the useful first question is not “which speed plugin should I install?” but “what exactly is slow, for whom, and why?” Those answers decide whether the fix takes ten minutes or needs someone to look under the bonnet.

This guide shows you how to measure properly, the usual causes in rough order of how often they matter, and which checks you can do yourself. It also covers the point where it is worth handing the problem to a developer.

How to measure a slow WordPress website

“Slow” can mean three different things: the server takes a long time to respond, the page takes a long time to show its main content, or the page looks loaded but reacts late when someone taps or scrolls. Google’s Core Web Vitals split these into measurable parts. Its published targets for a “good” experience are:

  • Largest Contentful Paint (LCP): the main content appears within 2.5 seconds.
  • Interaction to Next Paint (INP): 200 milliseconds or less.
  • Cumulative Layout Shift (CLS): 0.1 or less, meaning the layout does not jump around while loading.

These targets are judged at the 75th percentile of real page loads, so a site passes when most visitors, not just the fastest ones, get that experience.

Lab data and field data are different things

When you run a page through PageSpeed Insights, you may see two sets of numbers. Field data comes from real Chrome users over the previous 28 days. Lab data is a single simulated load under fixed conditions. Google’s own documentation says the two can differ, because lab data is a simulation on one device and network setting while field data reflects the variety of devices and connections your visitors actually use.

In practice, use field data to decide whether you have a real problem and lab data to investigate why. A new or low-traffic site may not have field data at all, in which case lab results are a guide rather than a verdict.

Test the pages that matter. The home page is often the lightest page on a site. Also test a typical service page, a blog post and the page where enquiries or bookings happen, on a mobile connection.

Work out which kind of slow you have

A page load has stages, and the LCP guidance from Google breaks the wait into four parts: the time to first byte (how long the server takes to start responding), the delay before the browser starts fetching the main image or text, the time to download it, and the time before it is actually drawn. Google’s LCP optimisation guide suggests that most of the time should go on the server response and the download of the main resource, and only a little on delays in between. If your waiting time is concentrated somewhere else, that is where to look.

What you notice Likely area A first check
Nothing appears for a while, then everything arrives at once Slow server response, no page caching, heavy database work Compare the first-byte time on a plain page and on a busy one
The page shows up but the large banner or photo is last Oversized or late-loading main image Check the file size and dimensions of the top image
The page appears, then buttons or menus respond late Too much JavaScript running on the page Look at which plugins add scripts to every page
Content jumps while loading Images without set dimensions, late-loading fonts, banners injected after load Watch the page load on a throttled mobile connection
Only the dashboard is slow Hosting limits, heavy plugins, large database Check whether the front end is also affected

The usual causes, and what you can check yourself

1. Images that are far larger than they need to be

A photo straight from a camera or phone can be several megabytes and thousands of pixels wide, while the space on the page may be a few hundred pixels. Check the largest images on your key pages. If an image is wider than the area it fills, replace it with a properly sized, compressed version. WordPress creates smaller sizes automatically when you upload, but themes and page builders do not always use them.

2. Too many plugins, or a few heavy ones

The number of plugins matters less than what each one does. A small plugin that adds a script and a stylesheet to every page can cost more than a larger one that loads only where needed. Sliders, social feeds, chat widgets, popup tools and some form or booking plugins are common examples. List what is active, remove what you no longer use, and note anything whose purpose you cannot explain.

3. Hosting that is struggling

If the server is slow to begin responding even on simple pages, front-end tweaks will only help so much. WordPress’s own requirements page recommends a current PHP version (it currently recommends PHP 8.3 or greater) and notes that older versions have reached end of life. Running old software can affect both security and speed. Changing PHP versions on an old site can break outdated plugins or themes, so do it on a staging copy or with a recent backup, not on a whim.

4. No caching, or caching that fights itself

Page caching lets the server send a ready-made copy of a page instead of rebuilding it for every visitor. Many hosts provide this, and some plugins add it. Running two caching or optimisation plugins together is a frequent source of strange behaviour, such as broken layouts, so avoid stacking them without a reason.

5. A heavy theme or page builder

Some themes and builders ship large amounts of CSS and JavaScript that every page must download whether it uses them or not. That can be a genuine cause, but it is not automatic. Changing theme will not by itself make a site fast, and a lean theme can still be slowed by large images, many plugins or weak hosting. Treat a theme change as a conclusion you reach from measurements, not a first guess.

6. Third-party scripts

Analytics, advertising tags, chat widgets, maps, embedded videos and font services all add requests that your site does not control. Each may be worth having, but each has a cost. A single embedded map or video on a page can add a surprising amount of weight, and loading it only when a visitor chooses to interact is often an option.

7. A database full of leftovers

Old post revisions, expired temporary data and settings left behind by deleted plugins can accumulate. This is rarely the first cause of slowness, and cleaning a database without a backup is risky. It is a job for someone who will take a backup first and know what is safe to remove.

A sensible order of work

  1. Record a baseline. Test your four or five key pages on mobile and note LCP, INP, CLS and the first-byte time. Save the results so you can compare later.
  2. Fix the obvious weight. Resize and compress oversized images, and remove plugins you no longer use.
  3. Check page caching. Confirm your host or one plugin provides it, and that only one tool is doing the job.
  4. Re-test. Change one thing at a time where you can, so you know what actually helped.
  5. Look at the server. If the first-byte time is still long on simple pages, the cause is probably hosting, PHP version or heavy backend work.

Before you change anything on a live site, take a full backup of the files and the database. WordPress’s troubleshooting documentation says both the files and the database should be backed up before upgrades, and the same sense applies to optimisation work. If you can, try risky changes on a staging copy first.

What you can do yourself, and what needs a developer

Replacing oversized images, removing unused plugins and re-testing are reasonable jobs for a site owner with a slow WordPress website. The following are better handled by someone who can diagnose the cause properly:

  • Slow server responses that persist after caching is set up.
  • Layouts that break when scripts or styles are deferred or combined.
  • Slow checkout, booking or enquiry pages, where a mistake can cost you real enquiries.
  • Plugins that conflict, or a theme that loads far more than it uses.
  • Any change to PHP versions, the database or server settings.

When an outside look helps

If you have measured your pages and still cannot tell what is holding them back, I can look at the site, find the cause and explain what I would change before I change it. That includes sites built by someone else. Nobody can honestly promise a particular speed score in advance, because the result depends on your hosting, content and what your visitors use. What I can do is find the specific things getting in the way and explain them in plain terms.

If the slowness is a symptom of a wider problem, such as a site that breaks after updates or is hard to use on a phone, you may also find the guides on WordPress sites that break after updates and websites that look wrong on mobile useful.

Get in touch

Have a website to
build or fix?

Send a few details about the site, what it needs to do and when you would like it live. I read every enquiry myself and reply with questions or next steps.