WordPress Speed

Why Is My WordPress Site So Slow? 12 Real Causes (and How to Fix Them)

WHWynand HoltzhausenJul 10, 2026
Why Is My WordPress Site So Slow? 12 Real Causes (and How to Fix Them)

Slow is expensive. Visitors abandon, Google ranks you lower, your ads cost more per click, and every one of those losses is invisible on any invoice, which is why slow sites stay slow for years.

Here's the thing nobody tells you after you've installed your third caching plugin: a slow WordPress site is almost never one problem. It's a stack of small taxes (hosting, theme, plugins, images, database), each shaving off half a second. The fix isn't a magic plugin; it's working through the stack in the right order. This is that order, based on what we actually find when businesses hand us slow sites.

First, measure, don't guess

Run your site through PageSpeed Insights and GTmetrix before touching anything. Note three numbers: Largest Contentful Paint (when the main content appears, under 2.5s is the target), Time to First Byte (how fast your server responds, under 600ms), and total page weight. These tell you where the problem lives: a bad TTFB points at hosting and caching; a bad LCP with good TTFB points at your theme, images, and scripts.

The server layer (causes 1-3)

1. Cheap shared hosting. The R99/month plan puts you on a server with hundreds of other sites, sharing everything. No caching plugin can fix a server that takes 1.5 seconds to start responding. If your TTFB is consistently terrible, moving to decent managed hosting is the single highest-impact rand you can spend on speed.

2. No server-side caching. Without caching, WordPress rebuilds every page from PHP and the database for every visitor. A properly configured cache (server-level if your host offers it, otherwise WP Rocket or similar) serves finished HTML instantly. This is the biggest single win on most sites, but note it mostly helps repeat and anonymous traffic, and it papers over rather than fixes everything below.

3. Old PHP. Sites limping along on PHP 7.x are leaving free performance on the table, PHP 8.3 is dramatically faster. Check your hosting panel. (Test on staging first; ancient plugins sometimes object. If they do, that's cause 6 talking.)

The build layer (causes 4-7), where the real weight lives

4. A bloated theme. Multipurpose themes that can "do anything" load the code for everything (sliders, portfolios, WooCommerce styling) on every page, whether used or not.

5. Page builder overhead. Builders like Elementor generate deeply nested markup and load heavy CSS/JS frameworks on every page, the builder itself can add megabytes of code to your install. Convenient to edit; expensive to load. (This one's big enough that it got its own article.)

6. Plugin creep. Thirty plugins means thirty pieces of CSS and JavaScript, many loading site-wide even where they're irrelevant, the booking plugin's scripts on your blog posts, the slider's CSS on your contact page. Audit ruthlessly: deactivate and delete what you don't use, replace the heavy with the light, and use an asset manager (Perfmatters, Asset CleanUp) to stop the rest loading where they're not needed.

7. External scripts. Chat widgets, heatmaps, three analytics tools, Facebook pixel, fonts from three CDNs. Each is a small tax; together they're often half the page weight. Load what earns its keep, delay the rest until user interaction.

The content layer (causes 8-10)

8. Unoptimised images. Still the most common single finding: a 4MB photo scaled down by the browser to fill a 400px card. Compress everything (ShortPixel, Imagify), serve WebP, size images to their display size, and lazy-load below the fold. This alone often halves page weight.

9. No CDN. Your server is in one city; your visitors aren't. A CDN (Cloudflare's free tier is fine to start) serves your static files from a location near each visitor.

10. A bloated database. Years of post revisions, expired transients, spam comments, and, the classic, tables left behind by plugins you deleted in 2021. WP-Optimize or similar, monthly, plus a proper clean of orphaned tables.

The invisible layer (causes 11-12)

11. Something is broken, not slow. A plugin timing out on an external API call, a cron job hammering the database, a malware infection quietly mining or spamming from your server. If your site got slow suddenly, look here first, sudden slowness is a symptom, not a lifestyle.

12. Admin-ajax and heartbeat abuse. Plugins hammering admin-ajax.php can drag down the whole site, especially on shared hosting. A query monitor will show you who's guilty.

The fix order (do it in this sequence)

  1. Measure (PageSpeed + GTmetrix, note TTFB and LCP)
  2. Fix hosting/PHP if TTFB is bad, nothing else matters until the server responds
  3. Configure caching + CDN
  4. Compress and resize images
  5. Audit plugins and external scripts; unload assets per-page
  6. Clean the database
  7. Re-measure. If you're still heavy, the theme/builder is the floor you've hit, see below.

When WordPress is the wrong tool for the job

Work that list and most WordPress sites get genuinely fast. But some sites hit a floor: you've cached, compressed, and audited, and PageSpeed still reads 40, because the theme and builder generate more code per page than a fast site can afford, and the only remaining fix is rebuilding the front end. At that point you have two honest options. One: a custom WordPress theme (hand-built, loading only what each page needs), which routinely takes sites from failing to sub-1-second loads while keeping the WordPress admin your team knows. Two, if your "site" is really an application wearing a website costume (dashboards, calculators, heavy interactivity): a fully custom build, where performance is designed in rather than clawed back. Speed is architecture. You can rent it with optimisations for a while, but past a certain point you have to own it. We do both kinds of build, and a speed audit will tell you honestly whether you need either, most sites don't.

Want the audit done for you?

We'll profile your site layer by layer (server, build, content) and give you the ranked fix list with expected gains, whether or not you hire us to implement it. Fast sites aren't luck; they're a sequence. Punch it.

May the Code Be With You.


WordPress Pro builds, fixes, and maintains WordPress sites, and builds custom solutions for businesses that have outgrown them. [Book a speed audit →]

Share transmission
inX
WH

Wynand Holtzhausen

Senior engineer at WordPress Pro. Rescues struggling sites, rebuilds them stronger, and writes about how it is done.

Related transmissions