When a WordPress site feels slow, the first instinct is to upgrade the hosting plan. Sometimes that helps. More often you end up paying more for the same slow site, because the time is being lost somewhere else.
Start by measuring the right thing
Run the page through PageSpeed Insights and look at Largest Contentful Paint, not the overall score. LCP tells you when the main thing on the page actually appears. If it's over 2.5 seconds on mobile, visitors notice.
Then open the network tab in your browser. You're looking for two things: how long the server takes to send the first byte, and how much loads after it.
The usual suspects
- Images uploaded straight from a camera or stock site, 4,000 pixels wide and shown at 400.
- A page builder loading all of its CSS and JavaScript on every page, including pages that don't use it.
- Plugins that each add their own scripts, fonts or tracking — twenty small costs that add up.
- No page caching, so PHP and the database rebuild the same page for every single visitor.
Fix them in this order
Caching first, because it's the biggest win for the least effort: a good caching plugin or host-level cache often halves the time to first byte. Images second — resize them, serve WebP or AVIF, and lazy-load anything below the fold.
Plugins third. Deactivate them one at a time on a staging copy and measure again. There are usually one or two doing most of the damage, and often they're doing something you no longer need.
Only then look at hosting. If the first byte is still slow with caching switched on, the server really is the bottleneck, and the upgrade is worth paying for.
When it's time to rebuild
If the whole site depends on a heavy page builder, there's a ceiling on how fast it will ever get. At that point a lean custom theme is often less work than fighting the builder — and easier for your team to edit, too.
