Diagnosis · 8 min read

Why is my WordPress site slow? 9 causes and how to fix them

The most common reasons WordPress sites are slow — hosting, uncached pages, heavy images, render-blocking CSS, plugin bloat — and how to tell which one is yours.

Updated

A slow WordPress site is almost never caused by “WordPress” itself. It's caused by a few specific things stacked on top of it: the server, the theme, the plugins and the media you upload. The good news is that most sites are slow for the same handful of reasons, and each one has a known fix.

1. Your server responds slowly (high TTFB)

Before the browser can render anything, your server has to build the page. If Time to First Byte is above ~800ms, everything else starts late. Cheap shared hosting, no page cache, and slow database queries are the usual causes. See how to reduce server response time.

2. Pages aren't cached

Without page caching, WordPress runs PHP and database queries for every visitor. A caching plugin (WP Rocket, LiteSpeed Cache, WP Super Cache) or host-level caching serves a pre-built HTML file instead.

3. Your hero image is huge — or lazy-loaded

The largest image above the fold usually determines Largest Contentful Paint. Two mistakes dominate: uploading a multi-megabyte image, and lazy-loading the image that should load first. Read LCP image too heavy and LCP image lazy-loaded.

4. Render-blocking CSS

Themes and page builders load large stylesheets in the <head>. The browser won't paint until they're downloaded. Generating critical CSS and loading the rest asynchronously fixes it. Fix render-blocking CSS.

5. Plugins load assets on every page

A contact form plugin that loads its JavaScript on your blog posts, a slider script on pages without a slider — this adds up fast. A script manager lets you unload assets per page. Reduce unused JavaScript.

6. Third-party scripts

Analytics, chat widgets, ad pixels and embedded videos often cost more than your entire theme. Delaying them until the visitor interacts is one of the highest-impact changes you can make. Delay third-party scripts.

7. Web fonts

Google Fonts loaded from an external domain, without font-display: swap, cause invisible text and layout shifts. Host fonts locally and limit weights. Fix web fonts.

8. Page builder bloat

Elementor, Divi and WPBakery can produce thousands of DOM nodes per page, which slows rendering and interactions. Reduce DOM size.

9. Images without dimensions

Images and embeds without width and height push content around as they load, failing Cumulative Layout Shift. Fix layout shifts from images.

How to find out which one is yours

Guessing wastes hours. Run a free Maki scan: it pulls real Chrome user data from Google PageSpeed Insights, detects your theme and plugins, and ranks the problems above by how much they actually cost your site.

Find out which of these your site has.

Free scan with real Google data. Exact fixes for your plugins.