Hafen

WordPress Slow? 10 Steps That Make Your Site Fast Again

A slow WordPress site rarely needs a rebuild. Most of the time it needs the right adjustments: hosting, PHP, caching, images, the database and above all the plugins.

Your site takes noticeably longer to load, PageSpeed Insights shows red bars, and Google Search Console is flagging your Core Web Vitals. No reason to panic, but a good reason to act. Speeding up a slow WordPress site is one of the most rewarding projects there is, because every second you save shows up directly in bounce rate, revenue and rankings.

This article walks you through ten concrete steps, from choosing a host to the uncomfortable question of which plugins are actually holding you back. You do not have to do all of them in one afternoon. Each step on its own produces measurable progress.

Your roadmap in ten steps

Before you start changing settings at random, here is the overview. The steps build on each other loosely, from the server layer through delivery in the browser to ongoing monitoring:

  • 1. Hosting: check server response time and switch if it is bad
  • 2. PHP version: move to a current, supported release
  • 3. Caching: switch on page cache and object cache
  • 4. Images: compress them and move to WebP or AVIF
  • 5. Database: clean it out and keep it lean
  • 6. Plugins: declutter, the most common brake of all
  • 7. Theme: check for lean code instead of page builder ballast
  • 8. CDN: move static files closer to your visitors
  • 9. Lazy loading: load content only when it is needed
  • 10. Measure: verify with PageSpeed Insights and Core Web Vitals

Step 1: Pick hosting that is actually fast

Server response time, measured as Time to First Byte, is the foundation everything else rests on. On oversold budget shared hosting, even a perfectly optimised site will never feel fast, because hundreds of websites share the same resources. Managed WordPress hosting with server-side caching, enough PHP workers and modern storage (NVMe rather than classic SSD) often makes more difference than any plugin.

Also look at where the data centre sits. A location close to your audience shortens the round trip. If you serve visitors in the European Union, a data centre inside the EU also makes your GDPR paperwork simpler, because no third-country transfer has to be justified.

Step 2: Keep your PHP version current

WordPress runs on PHP, and the speed gap between old and current PHP releases is large. Moving from PHP 7.4 to a current PHP 8 release regularly produces double-digit percentage gains in benchmarks, with no code changes at all. Most hosts let you switch the PHP version yourself in the control panel.

Take a backup first, then test both the front end and the admin area thoroughly. Older plugins or themes are occasionally not fully compatible yet. That is useful information in itself: a plugin that breaks on current PHP is usually a plugin nobody is maintaining any more.

Step 3: Use caching properly

A cache plugin saves WordPress from rebuilding the whole page out of the database on every single request. A page cache serves finished HTML files directly. An object cache, via Redis or Memcached if your host offers it, speeds up repeated database queries on top of that. Browser caching headers make sure returning visitors do not download your images, CSS and JavaScript all over again.

One side issue that gets overlooked: redirect chains and unanswered 404 errors cost extra time on every request, because the server has to resolve several hops before the real page loads. Clear those up in parallel. Our comparison of free WordPress redirect plugins covers the tooling for it.

Step 4: Shrink your images and move to WebP or AVIF

On most websites, images are the single largest consumer of load time. Two levers work immediately. First, the right file size: an image displayed at 800 pixels wide does not need to be delivered as a 4,000 pixel camera original. Second, the format: WebP and the newer AVIF compress with far less quality loss than classic JPEG or PNG and often save 30 to 50 percent in file size.

Many modern image optimisation plugins handle resizing, format conversion and responsive sizes automatically on upload. Check that exactly one such plugin is doing the job. Two of them running in parallel is a common and entirely self-inflicted problem.

Step 5: Clean out the database

Years of post revisions, expired transients, spam comments in the trash and orphaned tables from plugins you uninstalled long ago all inflate the database, and every query gets marginally slower as a result. A one-off cleanup, limiting revisions, deleting transients and optimising tables, rarely makes the biggest difference on its own, but it is a solid building block, especially on sites that have been running for years. Put it on a fixed rhythm, once a quarter is a sensible default.

Step 6: Declutter your plugins, the most common brake of all

When we dig into a slow WordPress site through a support request, this is where we end up in most cases. Not at the hosting, at overloaded plugins. One page builder with its own CSS and JavaScript framework, plus a mega plugin with fifty features of which you use three, plus two overlapping SEO tools, and every page ends up loading ten extra scripts to deliver one function that would take three lines of code.

Our advice, and we will say plainly that as a plugin vendor we are not neutral here: favour lean, focused plugins over all-rounders. A plugin that does one thing and does it cleanly is usually faster than a bloated suite that drags every feature along whether you need it or not. Gallery plugins are a classic example, and we put actual weight figures side by side in our NextGEN Gallery alternative comparison.

That is the principle behind Linkjet, MemberJet and Adjet: free, lean GPLv2 plugins with local statistics and no external calls, each solving one job and solving it quickly. How much difference that makes is easiest to see against bloated ad plugins, which we wrote up in detail for our Advanced Ads alternative.

Here is the practical method. Deactivate every plugin you do not actively use on a daily basis, then measure load time again. What do you genuinely miss? Everything else can go, or be replaced with something leaner. If you want to see what a focused toolset costs, our pricing overview lists every plugin with its free tier.

In short: If you only have time for one step this week, make it this one. Removing two bloated plugins usually beats a week of micro-optimisation everywhere else.

Step 7: Check your theme for lean code

Plugins are not the only thing that slows a site down. Themes do it too, especially visual page builder frameworks that ship large amounts of extra CSS and JavaScript for the sake of maximum flexibility, most of which goes unused on most pages. A lean, semantic theme loads noticeably faster because the browser has less code to parse and execute.

Open your browser developer tools, go to the Network tab, and look at how many CSS and JS files your current theme loads and how large they are. It is frequently an unpleasant surprise, and a good reason to consider a change. We build our own free block theme, Hafen, along exactly these lines: core functions such as structured data sit in the theme instead of being bolted on with yet another plugin.

Step 8: Put a CDN in front

A content delivery network spreads static files such as images, CSS and JavaScript across servers around the world, so visitors load them from the nearest location rather than from your single origin server. It pays off particularly if you have an international audience or serve a lot of large media files.

When choosing a provider, check the data protection terms. If any of your visitors are in the EU, GDPR applies to you regardless of where your company sits, so make sure the provider offers a proper data processing agreement. This is an assessment for orientation, not legal advice. Speed is not worth a compliance problem.

Step 9: Use lazy loading

Why should the browser load images and embedded videos that the visitor only sees after scrolling a long way down? Lazy loading prevents exactly that: content outside the visible area loads only when it is actually needed. Modern browsers support this natively through the loading="lazy" attribute, and current WordPress versions already apply it to images automatically.

Still, check embedded videos, maps and ad slots further down the page specifically. Those are the places where lazy loading gets forgotten most often, and they are usually the heaviest items on the page.

Step 10: Measure instead of guessing

Optimisation without measurement is flying blind. Google PageSpeed Insights shows you for free where exactly your site loses time and scores it against the three Core Web Vitals metrics: LCP (Largest Contentful Paint, how quickly the main content becomes visible), INP (Interaction to Next Paint, how quickly the page responds to clicks) and CLS (Cumulative Layout Shift, how much the layout moves around while loading).

Google Search Console aggregates those values across your whole site as well, using real user data rather than lab values. Measure before every larger change and again afterwards. That is the only way to see which of the ten steps actually helped on your site, and which one was not worth the effort.

What to do first

Speeding up a slow WordPress site is rarely one big move. It is the sum of many small adjustments across hosting, PHP version, caching, images, database, theme and CDN. In our experience the best result per minute invested comes from step 6: consistently clearing out overloaded, poorly maintained plugins and replacing them with lean, focused alternatives, which leaves fewer plugins to keep current and makes updating WordPress plugins less of a chore. Start there, measure with PageSpeed Insights, then work through the rest of the list one step at a time.

Lean plugins, honest foundations

Linkjet, MemberJet and Adjet keep your WordPress core lean instead of bloated: free, GPLv2, no external calls. And with Hafen we built a theme that carries the same principle through to the theme layer.

Explore Hafen

Frequently asked questions

Why did my WordPress site suddenly get slow?

A WordPress site that suddenly turns slow rarely has one single cause. It is usually the sum of several factors: more content and images over the years, a new and heavier plugin, a database that has grown, or a hosting plan that no longer matches your traffic. Redirect chains and unanswered 404 errors also cost extra time on every request. A look at PageSpeed Insights usually shows quickly which factor is hurting most right now. Deactivate recently installed plugins as a test to narrow the cause down.

Which hosting is fastest for WordPress?

Managed WordPress hosting with server-side caching, a current PHP version and NVMe storage is generally much faster than plain shared hosting, where hundreds of websites share the same resources. Server response time, measured as Time to First Byte, is the foundation of every optimisation, and without it even the best fine tuning achieves little. A data centre close to your audience shortens the round trip, and inside the EU it also simplifies GDPR compliance. There is still no single best choice, only better and worse fits for your situation.

How many plugins are too many for WordPress?

There is no fixed number of plugins that counts as too many for WordPress. What matters is the quality and scope of each individual plugin, not the raw count. Ten lean, focused plugins often cost less load time in practice than three overloaded all-rounders with their own page builder framework. In support requests about slow sites, the cause usually sits with exactly those mega plugins. Deactivate what you do not need daily, then measure load time again.

What does a cache plugin actually do?

A cache plugin saves WordPress from rebuilding the whole page out of the database on every request and serves finished HTML instead. An object cache via Redis or Memcached additionally speeds up repeated database queries, while browser caching headers mean returning visitors do not have to download images, CSS and JavaScript again. That reduces server load noticeably and is one of the steps with the best effort to benefit ratio. Cache plugins do not replace good hosting, they complement it.

How do I check whether WordPress is really faster now?

Measure with Google PageSpeed Insights before and after every change to see whether WordPress really got faster, because assumptions alone are not enough. Google Search Console aggregates the Core Web Vitals values across your whole site using real user data rather than pure lab values. Pay particular attention to LCP, INP and CLS, the three central metrics. Only a comparison with real numbers shows which of the ten optimisation steps actually helped on your site.

Back to blog A post by hafenstudios