Why Your WordPress Site Is Slow (And How to Fix It)
The handful of reasons a WordPress site goes from fast to slow — oversized images, plugin sprawl, missing caching, heavy themes, weak hosting — and how to diagnose each.
Every few weeks I get the same call. "My WordPress site used to be fast. Now it takes forever to load. What happened?" Then I open the site, run it through a speed test, and the score is somewhere between "embarrassing" and "actively losing customers."
The good news is that slow WordPress sites are almost always slow for the same handful of reasons. Here's what I check first, in the order I check it.
Run a real speed test before guessing
Open PageSpeed Insights and run your home page through it. Then run an interior page. Don't trust how the site feels on your own machine — your browser has the site cached and your internet connection is probably better than your visitors'.
You're looking at two numbers: the score itself, and the "Largest Contentful Paint" time. If LCP is above 2.5 seconds, your site feels slow to real people, whatever the score says.
The image problem
Nine times out of ten, the slow page has a 4MB image on it.
WordPress doesn't compress your uploads. If you drop a 6000-pixel-wide photo from your phone straight into the media library, that's what visitors download — even though the page only displays it at 800 pixels wide.
What to do:
- Resize images to the actual display size before uploading. A blog header doesn't need to be wider than 1600 pixels.
- Install ShortPixel or Imagify to auto-compress everything you upload and convert it to WebP.
- Make sure lazy loading is on. It's on by default in modern WordPress, but a few themes break it.
This one change alone usually doubles the site's score.
Too many plugins, again
I wrote a whole post about picking plugins carefully. The reason: every active plugin loads code on every page, whether you use it on that page or not.
Open Plugins → Installed Plugins and look at the list. If you see things you don't remember installing, or names that sound like the kind of thing a freelancer added in 2019, deactivate them one at a time and see if anything breaks. Delete what you can.
A small business site really should not have more than fifteen active plugins. Twenty-five is too many. Forty is a problem.
Caching, or the lack of it
A fresh WordPress install rebuilds every page from scratch on every request. That's slow. Caching saves a finished copy of each page so the next visitor gets the saved version instantly.
If you don't have a caching plugin, install one. W3 Total Cache is my default — it's free, it handles page caching, object caching, browser caching, and CDN integration, and once you've configured it a few times the settings panel is fine. WP Rocket is the popular paid alternative if you want a friendlier UI, and LiteSpeed Cache is excellent if your host runs LiteSpeed. If you already have a caching plugin, check that it's actually turned on. I once spent forty-five minutes debugging a slow site for a client only to find out their caching plugin had been deactivated by a previous developer.
While you're in there, turn on page caching, browser caching, and GZIP compression. Those three are the default that should be on for any site.
The theme might be the problem
Some themes load a parade of fonts, icon libraries, and JavaScript files whether you use them or not. If you're on a heavy "multipurpose" theme like Avada or Divi, the theme itself is probably 60% of your page weight.
This is the hardest one to fix because changing themes is a project. But if your site is on a known-heavy theme and feels slow no matter what else you do, that's the answer.
Lighter themes I trust: Astra, Kadence, GeneratePress, Blocksy. Or a custom build, which is what I do for clients who want the site to feel sharp without compromise.
The host is underpowered
If you've done all of the above and the site is still slow, check time to first byte (TTFB) in your speed test. If TTFB is over 600ms, the problem is upstream of WordPress — your server is just slow to respond.
This is when hosting matters. A $3/month shared hosting plan can only do so much. Moving to managed WordPress hosting (Kinsta, WP Engine, SiteGround GrowBig and up) often takes a site from "feels broken" to "feels instant" overnight. I cover this in more detail in the hosting post.
The 30-minute monthly check
The reason fast sites stay fast is that someone is looking at them once in a while. I run PageSpeed Insights on every client site monthly. If a number drops, I dig in before the slowdown becomes "the site is broken."
If your WordPress site is slow and you'd rather have someone else figure out why, that's exactly the kind of work I do — send me the URL and I'll take a look.
Want help shipping this on your own site?
Free 30-minute consultation. No pressure either way.
