A slow WordPress site is almost never one big problem. It’s a pileup: a slightly overloaded host, plus a heavy theme, plus a few dozen plugins, each adding a little drag until the whole thing crawls. Below are the usual suspects, ranked in the order we find them guilty, with honest notes on what each fix actually involves.

1. Cheap shared hosting

Start here, because nothing downstream can fix it. On bargain shared hosting, your site shares a server with hundreds of other sites, and every page waits in line for its turn.

How to recognize it: even a bare page is slow, and the admin dashboard drags. There’s a pause before anything appears at all, which means the server is thinking, not the design.

The fix: move. Tuning a site on an overloaded server is like detailing a car with a dead engine.

2. A heavyweight theme

Themes that promise everything (sliders, animation libraries, a bundled page builder, nine demo layouts) ship the code for all of it on every page, whether you use any of it or not.

How to recognize it: the site felt fine when it was empty and got heavy the day the theme went in. The fix: a leaner theme, or a purpose-built one. That’s real WordPress development work, not a settings toggle, but it’s often the single biggest win on this list.

3. Plugin sprawl

Plugins are how WordPress grows, and also how it gains weight. Each active plugin can load its own scripts, styles, and database queries on every page, including the plugin you installed for one landing page years ago and forgot.

How to recognize it: a plugin list you have to scroll. The fix: an audit. Deactivate what’s unused, consolidate the overlapping ones, and replace the heaviest offenders. Fewer, better plugins beats more, cheaper ones every time.

4. No caching or CDN

Out of the box, WordPress rebuilds every page from scratch for every visitor: query the database, assemble the page, send it. Caching does that work once and reuses the result. A CDN then serves that result from a location near the visitor instead of from one distant server.

How to recognize it: pages that are identical for every visitor still take seconds to arrive. The fix: genuinely just configuration, but it has to be configured correctly. A bad caching setup causes stranger bugs than no caching at all.

5. Unoptimized images

The classic. One photo uploaded straight from a phone can outweigh everything else on the page combined.

How to recognize it: the layout appears, then the images straggle in one by one. The fix: compress, resize images to the size they’re actually displayed at, and serve modern formats. Boring, cheap, effective.

6. Database cruft

Years of post revisions, spam comments, expired temporary data, and tables abandoned by long-deleted plugins. This is the lowest-ranked suspect because it’s rarely the main culprit, but on an older site it quietly compounds everything above it.

How to recognize it: age, mostly. The fix: a careful cleanup, performed after a backup, not before.

The part nobody wants to hear

There is no magic plugin. Every “make WordPress fast” product is marketed to that wish, and none of them deliver it, because speed is subtraction: measure, fix the biggest suspect, measure again, in that order. And a fast site only stays fast if someone keeps pruning. If you want a sensible target to tune toward, we’ve written about what “fast” actually means now, and it’s probably stricter than you think.

If you’d rather hand this entire checklist to people who run it weekly, that’s exactly what our managed WordPress hosting is for. Bring us a slow site and we’ll tell you which suspects are guilty before you commit to anything.