How to speed up your WordPress site: step-by-step guide

Hosting, images, plugins, caching and PHP: what makes WordPress slow and what to do about it, in order, even if you are not a developer.

Teste de Performance team
4 min read

Key takeaways

  • The usual culprits are weak hosting, heavy images and too many plugins.
  • A caching plugin and a free CDN usually bring the biggest gain.
  • Update WordPress, your theme, plugins and PHP version: it is about security as well as speed.
In this guide
  1. Why WordPress gets slow
  2. Step by step to speed things up
  3. Why the site feels fast to you and slow to others
  4. Summary in one list

WordPress is great for getting a site online without coding. The problem is that, over time, it piles up plugins, images and settings, and gets slow. The good news: most improvements require no technical knowledge.

Before changing anything, run a speed test and write down the result. That way you know whether each change helped.

Why WordPress gets slow

1. Weak hosting

This is problem number one. Very cheap shared plans put your site on the same server as hundreds of others. When a neighbor gets a traffic spike, your site suffers too.

How to tell: in your test report, look at server response time (TTFB). If it is often above 1 second, hosting is probably the bottleneck.

2. Heavy images

A photo taken on a phone can be 4 MB. Uploaded as is, it can slow down a page on its own, especially on mobile data.

3. Too many plugins (or bad ones)

Every plugin adds code, and some load scripts on every page, even where they are not used. The number itself is not the issue, but heavy or abandoned plugins do real damage.

4. A heavy theme

"Do-everything" themes, with dozens of options and visual builders, tend to load far more code than the site actually uses.

5. Third-party scripts

Chat widgets, pop-ups, ad pixels, maps and embedded videos come from other servers. Each one is another wait for the visitor.

Step by step to speed things up

Step 1: Compress and convert your images

  • Resize before uploading: a blog image rarely needs to be wider than 1,600 px.
  • Use modern formats. WordPress supports WebP since version 5.8 and AVIF since 6.5.
  • For images already on the site, plugins like Smush, EWWW Image Optimizer or ShortPixel compress everything in one go.

Step 2: Install a caching plugin

Caching stores a ready-made version of each page, so the server does not have to build it on every visit. It is by far the change with the best cost-benefit ratio.

Good options:

  • WP Super Cache or W3 Total Cache (free)
  • LiteSpeed Cache (free, if your host runs a LiteSpeed server)
  • WP Rocket (paid, but very easy to set up)

Use only one caching plugin. Two at once fight each other and can break your site.

Step 3: Turn on a CDN

A CDN stores copies of your site's files on servers around the world and delivers them from the one closest to the visitor. Cloudflare has a free plan that includes a CDN and attack protection.

Step 4: Clean up your plugins

Go to Plugins and ask of each one: "Is this still used?"

  • Deactivate and delete anything unused.
  • Replace plugins that do one small thing (a button, an effect) with a lighter solution.
  • Be wary of plugins that have not been updated in over a year.

After each removal, test the site and make sure nothing broke.

Step 5: Update everything, including PHP

PHP is the language WordPress runs on. Newer versions are much faster and more secure than older ones.

  • In your hosting dashboard, find the PHP version setting and use 8.2 or newer.
  • Keep WordPress, your theme and plugins up to date. Many updates bring performance gains and security fixes.

Back up first before updating PHP or important plugins. Most hosts offer one-click backups.

Step 6: Clean the database

Over time, the database collects drafts, revisions and spam comments. Plugins like WP-Optimize clean this up safely.

Step 7: Consider a lighter theme

If none of the above solved it, the theme may be the problem. Lightweight themes like GeneratePress, Astra or Kadence load much less code.

Why the site feels fast to you and slow to others

You visit your own site all the time, so your browser has already saved most of its files. A new visitor downloads everything from scratch. That is why your impression is not a valid measurement: use a speed test, which always simulates a first visit.

Summary in one list

  1. Test and write down the result.
  2. Compress and convert images.
  3. Install one caching plugin.
  4. Turn on Cloudflare's free CDN.
  5. Remove unused plugins.
  6. Update PHP, WordPress, theme and plugins.
  7. Test again and compare.

If server response time is still high after all this, it is time to talk to your host about a better plan.

Originally published on December 21, 2018 and updated on October 24, 2026.

Keep reading