A slow WordPress site quietly costs you. People leave before the page even loads, Google ranks you lower for it, and the traffic you worked to get never turns into anything. The good news is that most WordPress sites are slow for a handful of fixable reasons. This is the checklist I actually use, the same one behind sites that score 100 on Lighthouse.
First, measure how slow you actually are
Before you change a thing, get a real number. Run your site through Google PageSpeed Insights and look at the Core Web Vitals, because those are the metrics Google actually uses to judge speed:
- LCP (Largest Contentful Paint) is how long until the main content appears. Aim for under 2.5 seconds.
- CLS (Cumulative Layout Shift) is how much the page jumps around while it loads. Aim for under 0.1.
- INP (Interaction to Next Paint) is how quickly the page responds when someone taps or clicks. Aim for under 200 milliseconds.
Test on mobile, not just desktop. Most of your visitors are on a phone, and mobile is where slow sites lose people.
Why WordPress sites get slow
It is almost always the same short list: a heavy multipurpose theme, too many plugins each loading their own CSS and JavaScript, large unoptimised images, no caching, a page builder pushing bloated markup, and cheap shared hosting underneath it all. Fix those and you fix most of the problem.
The checklist
Cut the plugins
Every active plugin can add code to every page. Audit what you have, deactivate what you do not use, and delete it. Often three plugins doing one job can be replaced by one, or by a few lines of code that do not slow the whole site down.
Use a light theme or clean code
Big multipurpose themes ship with everything so they load like they have everything. A lean theme, or a custom-built one, only loads what the page needs. This single choice often makes the largest difference.
Optimise your images
Images are usually the heaviest thing on a page. Serve them as WebP, size them to how they are actually displayed, lazy-load anything below the fold, and always set width and height so the layout does not jump (that is your CLS).
Turn on caching
Caching serves a ready-made version of the page instead of building it from scratch every visit. Many hosts include server caching like LiteSpeed. If yours does not, a good caching plugin does the job. Do not stack several caching plugins, they fight each other.
Fix your fonts
Self-host your fonts instead of calling Google Fonts, preload the one face used above the fold, and set font-display to swap so text shows immediately instead of waiting on the font.
Reduce and defer JavaScript
JavaScript is the usual reason a page feels sluggish. Defer what is not needed for the first paint, and load heavy third-party scripts, analytics included, only after the visitor interacts. On this site the analytics does not even load until you scroll or click.
Get proper hosting and a CDN
Cheap shared hosting puts a ceiling on how fast you can be. Decent hosting plus a CDN, which serves your files from a server near the visitor, takes real time off the load, especially for visitors far from your server.
Clean the database
Over time WordPress fills up with post revisions, expired transients and spam. A lean database responds faster. Clean it, then keep it tidy.
What “fast enough” looks like
The targets are LCP under 2.5 seconds, CLS under 0.1, and INP under 200 milliseconds, on mobile. Hit those and you are in good shape. Do not obsess over a perfect 100 on mobile, the real goal is a site that feels instant to a real person on a real phone, and that Google is happy to rank.
When to stop tweaking and get it done
Plugins and settings take you a long way. But if the slowness is baked into a heavy theme, a page builder, or a WooCommerce store, stacking more plugins on top rarely fixes it. At that point the fastest path is a developer fixing the root cause. That is a core part of my technical SEO work, and if you are not sure where your site stands, the free 2-minute check will point you to the biggest issue.