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):
| Metric | What it measures | Good |
|---|---|---|
| Largest Contentful Paint (LCP) | How long the main content takes to appear | 2.5 seconds or less |
| Interaction to Next Paint (INP) | How quickly the page responds when someone taps or clicks | 200 milliseconds or less |
| Cumulative Layout Shift (CLS) | How much the layout jumps around while loading | 0.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
| # | Cause | How you can tell | The fix | Effort |
|---|---|---|---|---|
| 1 | Underpowered or overcrowded hosting | Slow server response (high Time to First Byte) even on simple pages; slows down at busy times | Move to better hosting with server-side caching; check PHP workers and memory | Low to medium: a migration, usually no design changes |
| 2 | Heavy theme or page builder setup | Large pages full of nested markup, many CSS and JavaScript files on every page | Turn off unused builder modules, load assets only where they're used, replace heavy add-on packs | Medium |
| 3 | Too many plugins, or a few heavy ones | Slow admin as well as slow front end; queries piling up | Audit every plugin, remove duplicates and unused ones, replace heavy ones with lighter alternatives | Medium |
| 4 | Oversized images | Big image files in the page weight; LCP image is slow | Resize, compress, serve modern formats such as WebP, lazy-load images below the fold | Low |
| 5 | No proper page caching | Every visit rebuilds the page from the database | Server-level or plugin page caching, tuned so forms, carts and logged-in users still work | Low |
| 6 | Outdated PHP version | Hosting panel shows an old PHP version | Test the site on a current PHP version on staging, then switch | Low to medium, depending on old plugins |
| 7 | Third-party scripts | Chat widgets, trackers, embedded videos and fonts loading on every page | Remove what isn't used, delay what can wait, host fonts locally | Low |
| 8 | Bloated database | Years of revisions, spam comments, expired transients and leftover plugin tables | Clean up and optimise the database after a full backup | Low |
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
- Measure real-user Core Web Vitals and server response time, so we know the starting point.
- Work on a staging copy or take a full backup before changing anything.
- Fix in order of impact: hosting first if the server is slow, then theme, builder and plugins, then images and caching.
- 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.

