FAQ WordPress

Why is my WordPress site slow?

A handful of causes account for almost every slow WordPress site. Here is what to check, roughly in order of likelihood.

Updated 5 min read Beginner

A slow WordPress site almost always comes down to one or more of a short list of causes. Working through them roughly in order of likelihood is faster than guessing, and cheaper than paying for a bigger hosting plan before checking whether the site actually needs one.

No caching set up

By default, WordPress rebuilds each page from scratch on every visit — running database queries, assembling the theme, generating the HTML — every single time, for every visitor. A caching plugin stores the finished page and serves that stored copy to subsequent visitors instead, which is usually the single biggest speed improvement available and the first thing worth checking if none is currently active.

Unoptimised images

A handful of full-resolution photos, uploaded straight from a camera or phone without resizing or compression, can dwarf every other file on a page combined. This is one of the most common causes of a slow-loading site and one of the easiest to fix, since it does not require touching any code — just compressing and appropriately sizing images before or after upload.

A heavy or badly written plugin

Not every plugin costs the same. One that runs many database queries per page, loads scripts on every page regardless of whether they are needed, or calls out to a slow external service can measurably slow the whole site on its own — see finding the plugin that is slowing your site for how to identify it rather than guessing.

An old PHP version

Each major PHP release has generally improved performance over the last, sometimes substantially. A site still running an old PHP version is leaving that improvement on the table for no benefit — check and update the PHP version in your control panel, after confirming your theme and plugins support the newer version.

A database that has never been cleaned up

Years of accumulated post revisions, expired transients, spam comments and trashed items sit in the same database as everything else the site actively uses, and none of it is removed automatically. On an older site this can genuinely add measurable overhead to every query. See cleaning up and optimising the WordPress database.

A theme doing more than the site needs

Large, feature-heavy themes — particularly ones bundled with a page builder and dozens of demo layouts — load a correspondingly large amount of CSS and JavaScript, much of which a typical site never uses. A simpler, purpose-built theme is often noticeably faster purely because there is less to load in the first place.

Genuinely insufficient hosting resources

Occasionally the site itself is reasonably well optimised and the constraint really is the hosting plan — not enough memory or CPU allowance for the traffic and complexity of the site. This is worth confirming rather than assuming, since it is the most expensive fix and usually the least likely cause. Work through the items above first; upgrading a hosting plan without addressing an unoptimised site rarely delivers the improvement people expect.

Measure before and after each change

Test the site's load time before making a change and again afterwards, using the same tool each time. This is the only way to know which change actually helped, rather than assuming based on how the site feels.

See speeding up a WordPress site for the full walkthrough of fixing each of these once you know which one applies.

Related reading