Skip to main content

Why is my WordPress site slow? The causes we fix most often

Most slow WordPress sites are slow for ordinary reasons: hosting, a heavy page builder, too many plugins, oversized images, missing caching or an old PHP version. The fix and effort for each.

Abstract illustration of a website window with a loading bar, an hourglass, a speed gauge and blocks for images, plugins and a database

Most slow WordPress sites are slow for a handful of ordinary reasons: underpowered hosting, a heavy theme or page builder, too many plugins, oversized images, no proper caching, and an outdated PHP version. None of these needs a rebuild to fix, and the first three usually account for most of the delay. Below is how we find which one is hurting your site, and what fixing it involves.

First, measure it properly

"Slow" needs a number before anyone starts fixing. Google's Core Web Vitals are the standard measure, and web.dev sets these targets for a good experience (checked 2 November 2026):

MetricWhat it measuresGood
Largest Contentful Paint (LCP)How long the main content takes to appear2.5 seconds or less
Interaction to Next Paint (INP)How quickly the page responds when someone taps or clicks200 milliseconds or less
Cumulative Layout Shift (CLS)How much the layout jumps around while loading0.1 or less

Google assesses these at the 75th percentile of real visits, on mobile and desktop separately. You can see your own figures for free in PageSpeed Insights and in the Core Web Vitals report in Google Search Console. Check the real-user data at the top of PageSpeed Insights, not only the lab score below it.

The causes, with fixes and effort

#CauseHow you can tellThe fixEffort
1Underpowered or overcrowded hostingSlow server response (high Time to First Byte) even on simple pages; slows down at busy timesMove to better hosting with server-side caching; check PHP workers and memoryLow to medium: a migration, usually no design changes
2Heavy theme or page builder setupLarge pages full of nested markup, many CSS and JavaScript files on every pageTurn off unused builder modules, load assets only where they're used, replace heavy add-on packsMedium
3Too many plugins, or a few heavy onesSlow admin as well as slow front end; queries piling upAudit every plugin, remove duplicates and unused ones, replace heavy ones with lighter alternativesMedium
4Oversized imagesBig image files in the page weight; LCP image is slowResize, compress, serve modern formats such as WebP, lazy-load images below the foldLow
5No proper page cachingEvery visit rebuilds the page from the databaseServer-level or plugin page caching, tuned so forms, carts and logged-in users still workLow
6Outdated PHP versionHosting panel shows an old PHP versionTest the site on a current PHP version on staging, then switchLow to medium, depending on old plugins
7Third-party scriptsChat widgets, trackers, embedded videos and fonts loading on every pageRemove what isn't used, delay what can wait, host fonts locallyLow
8Bloated databaseYears of revisions, spam comments, expired transients and leftover plugin tablesClean up and optimise the database after a full backupLow

1. Hosting

Hosting sets the floor for everything else. If the server takes a second to start responding, no amount of image compression gets you a fast site. Cheap shared hosting puts many sites on the same server, and you feel it when your neighbours get busy. A slow Time to First Byte on a simple page is the clearest sign.

For most of the WordPress sites we look after, we use SiteGround, because in our experience it is reliable and stable, with good support. We have no affiliate relationship with them.

2. Theme and page builder

Page builders are not the problem by themselves. We have built with Divi and, for the last five years, mostly Elementor, and both can produce fast sites. The trouble is how they're used: dozens of add-on widgets, sections nested inside sections, and every feature switched on. Modern builders have settings to load less on each page. Turning those on, and removing add-on packs you don't use, often makes a visible difference without changing the design.

3. Plugins

The number of plugins matters less than what they do. One poorly built plugin can slow every page; twenty light ones may not be noticeable. We look at what each plugin loads on the front end and what it asks of the database, then remove duplicates (two SEO plugins, three form plugins) and anything unused.

4. Images

This is the easiest win. A photo straight from a phone or a stock library is often far larger than it needs to be. Resize to the size it's shown at, compress it, serve WebP, and make sure the main image near the top of the page is not lazy-loaded, because that delays LCP.

5. Caching

Without page caching, WordPress builds each page from the database on every visit. Caching stores the finished page and serves it straight away. It needs setting up carefully: contact forms, WooCommerce carts and logged-in pages must not be served from a stale cache.

6. PHP version

WordPress.org recommends PHP 8.3 or greater (checked 2 November 2026) and notes that older versions have reached end of life. Newer PHP versions are generally faster and still get security fixes. Some old plugins break on newer PHP, so we test the switch on a staging copy first.

7. Third-party scripts

Every chat widget, tracking pixel, embedded map and video adds work for the visitor's browser. These scripts often hurt INP, because they keep the browser busy when someone tries to tap a button. Remove the ones nobody uses and delay the rest until after the page has loaded.

8. Database

Older sites collect clutter: thousands of post revisions, spam comments, and tables left behind by plugins removed years ago. Cleaning this up rarely transforms a site on its own, but it helps the admin area and slow queries. Always take a full backup first.

How we approach a slow site

  1. Measure real-user Core Web Vitals and server response time, so we know the starting point.
  2. Work on a staging copy or take a full backup before changing anything.
  3. Fix in order of impact: hosting first if the server is slow, then theme, builder and plugins, then images and caching.
  4. Measure again and write down what changed.

If you want to know what's slowing your site down, we offer a free audit: we review your site and tell you what we would fix first.

Questions

How fast should a WordPress site be?

Aim for the Core Web Vitals "good" thresholds: LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, for at least 75% of real visits.

Will a caching plugin fix my slow site?

It helps, often a lot, but it can't make up for slow hosting or a page that is heavy to begin with. Treat caching as one fix, not the whole answer.

Do I need to rebuild my site to make it fast?

Usually not. Most of the causes above can be fixed on the existing site. A rebuild makes sense only when the theme or builder setup is so heavy that fixing it would cost more than starting cleanly.

Does site speed affect Google rankings?

Core Web Vitals are part of Google's page experience signals, but good content and relevance matter more. The bigger cost of a slow site is usually visitors leaving before it loads.

Is Elementor slow?

Not by itself. Elementor sites can be fast when they're built with care and the performance settings are on. Heavy add-on packs and deeply nested layouts are what slow them down.

Liked this? Get the next one in your inbox.

Seen enough thinking? Let's do some doing.