Performance

Why is my WordPress site so slow? A diagnostic guide

By Ali Yasin Jatoi 9 min readUpdated July 2, 2026
Reviewed by Ali Yasin Jatoi, Founder & Lead Engineer· Updated July 2, 2026

Quick answer

A WordPress site is usually slow for one of 8 reasons, in this order of frequency: bloated plugin count, missing page cache, unoptimised images, cheap shared hosting with slow TTFB, a heavy page builder loading everything on every page, no object cache on a database-heavy site, third-party scripts (chat widgets, analytics, ads), or a slow theme with render-blocking assets. The fix depends on which one is yours. A 10-minute PageSpeed Insights + Query Monitor run identifies the cause in most cases.

The 10-minute diagnostic

  1. Run PageSpeed Insights on your slowest page. Note the LCP, INP, and TTFB numbers.
  2. TTFB over 800ms means the problem is server-side: hosting, missing cache, or a slow database query.
  3. LCP over 2.5s with a normal TTFB means the problem is client-side: images, fonts, render-blocking JS.
  4. Install Query Monitor plugin, load the slow page, check the Queries panel for slow SQL and the Scripts panel for heavy third-party scripts.

The 8 real causes, in order of frequency

  • 1. Bloated plugin count. Every active plugin loads code on every page. If you have 40+ active plugins, that is the problem 60% of the time.
  • 2. No page cache. WP Rocket, LiteSpeed Cache, or the host's built-in page cache should be on. Uncached WordPress rebuilds every page for every visitor from scratch.
  • 3. Unoptimised images. Multi-megabyte JPGs where 200 KB WebPs would do. This alone can double the LCP on image-heavy pages.
  • 4. Cheap shared hosting. TTFB over 1s on shared plans is normal but wrong. Move to Kinsta, WP Engine, or Cloudways.
  • 5. Heavy page builder loading everything. Elementor and Divi load their whole widget bundle on every page unless you configure lazy loading of the editor assets.
  • 6. No object cache on a DB-heavy site. WooCommerce, LearnDash, or membership sites need Redis object cache. Without it every logged-in page rebuilds the same query dozens of times.
  • 7. Third-party scripts. Live chat, Google Ads pixels, heatmap scripts, and consent banners often add 1–3 seconds of blocking JS.
  • 8. Slow or bloated theme. Multipurpose themes with 100+ features you never use. Consider a lightweight theme like Blocksy, Kadence, or GeneratePress for lead-gen sites.

What to fix first

  • If TTFB > 800ms: page cache first, then hosting. This alone often halves the LCP.
  • If LCP > 2.5s with fine TTFB: images first (WebP, correct sizing, lazy loading), then defer render-blocking JS.
  • If INP > 200ms: third-party scripts. Delay or remove analytics, chat, and pixels that are not essential to the first paint.
  • If the site is fast when logged out but slow when logged in: object cache (Redis) is missing.

Common questions

How fast should a WordPress site be?+

Target LCP under 2.5s, INP under 200ms, CLS under 0.1 on the median page. That is the Google Core Web Vitals 'good' threshold and correlates with real conversion improvements.

Does the number of plugins really slow down WordPress?+

Not the count itself, but the code each plugin loads on every page. A well-written plugin loads only where needed. A badly-written one loads jQuery, its own CSS, and 500 KB of JS on every URL. Audit the plugins, not the count.

Will a faster host fix my slow WordPress site?+

It will fix TTFB but not LCP or INP. If the problem is bloated plugins, missing cache, or heavy images, a faster host masks it briefly then the same slowness returns as traffic grows. Fix the root cause first, then upgrade the host if needed.

Want help with this?

The pages below go deeper, by service and by city.

Want this handled for you?

Book a call and we will review your site before recommending anything.

Call Book a call