Hexagonize
ES
Get a price
← Insights
11 May 2026Updated 10 min read

My WordPress Website Is Slow: How to Fix It Step by Step (and When It Can't Be Fixed)

My WordPress Website Is Slow: How to Fix It Step by Step (and When It Can't Be Fixed)

If your WordPress site takes more than 3 seconds to load, you're losing half your visitors before they read a single line. This isn't an exaggeration: 53% of mobile users abandon a page that takes longer than 3 seconds. And Google has penalised slow loading speeds directly in rankings since 2021.

Key takeaways

  • To fix a slow WordPress site, first use Google PageSpeed Insights to find out whether the problem is the server (high TTFB) or page weight, because each one has a different fix.
  • If a WordPress site's TTFB is above 800ms, the bottleneck is the server: slow hosting, outdated PHP or a saturated database, and a caching plugin will not fix it.
  • The most common causes of a slow WordPress site, in order of impact, are overloaded hosting, unoptimized Elementor, badly coded plugins, uncompressed images, outdated PHP and a bloated database.
  • Upgrading from PHP 7.4 to PHP 8.2 or 8.3 can make a WordPress site 30 to 40% faster, and the switch usually takes less than 5 minutes from the hosting control panel.
  • When a WordPress site has more than 40 plugins, breaks with every update or stays slow after changing hosts, the problem is the architecture and optimizing is only patching.

The problem is that most articles on slow WordPress sites give you a list of 20 things to tweak without telling you where to start. This one won't do that. First we diagnose, then we act, in order of impact.

Before touching anything: diagnose where the problem is

Not all slow WordPress sites are fixed the same way. There are two types of slowness and the solutions are different.

Use Google PageSpeed Insights

Go to pagespeed.web.dev, enter your URL and look at the mobile results. The number itself isn't what matters — what matters is understanding what it's telling you. The two key diagnostics are TTFB (Time to First Byte) and total page weight.

High TTFB vs heavy page: these are different problems

If your TTFB is above 800ms, the problem is the server: slow hosting, outdated PHP, or a saturated database. If the TTFB is fine but the page takes a long time to display, the problem is the content: uncompressed images, too many scripts, blocking plugins.

This diagnosis saves you hours. If you have a high TTFB, installing a caching plugin won't solve anything. If your page weighs 8MB, changing hosting won't either.

The 6 most common culprits, in order of impact

1. Slow or overloaded hosting

This is the number one cause that nobody wants to hear. A shared hosting plan at a few euros a month cannot serve a site running Elementor, WooCommerce, and 15 plugins simultaneously. The server responds slowly because hundreds of websites are competing for the same resources. Result: TTFB of 1.5 to 3 seconds before the browser has received a single byte of your page.

2. Unoptimised Elementor

Elementor is the most popular visual builder for WordPress, but by default it loads resources you don't need: full icon families, duplicated Google Fonts, CSS from widgets you never use. An unoptimised Elementor page can generate 150 or more HTTP requests on each load.

3. Plugins blocking each other

It's not the number of plugins that kills performance — it's which ones you have. A badly coded plugin that runs 20 database queries on every visit can be more damaging than 10 well-built ones. Another common problem: multiple plugins loading their own versions of jQuery or animation libraries.

4. Uncompressed images

A 4MB image in your homepage banner can weigh more than everything else on the page combined. Most slow websites are slow primarily because of images: photos taken straight from a phone or downloaded from stock sites, never resized or compressed. An image displayed at 800px should never be uploaded at 4000px.

5. Outdated PHP

If your server is running PHP 7.4 or lower, your site could be running 30 to 40% slower than it could with PHP 8.2 or 8.3. PHP 8.x has enormous performance improvements over older versions, and the update usually takes less than 5 minutes from your hosting control panel.

6. Bloated database

WordPress saves a revision every time you save a post. If you've had an active site for years, you could have thousands of revisions, expired transients and cached entries that slow down every database query.

The solutions, step by step

Cache: the mandatory first step

A caching plugin dramatically reduces server load by serving pages as static HTML instead of generating them from scratch on every visit. WP Rocket is the most effective paid option (around 50 euros a year). If you want something free, LiteSpeed Cache works very well if your hosting uses LiteSpeed. Otherwise, W3 Total Cache properly configured will do the job.

Images: ShortPixel or WebP conversion

ShortPixel has a free plan for 100 images a month and automatically compresses everything you upload. If you have Cloudflare on your domain (also free), enable automatic WebP conversion from the Cloudflare panel. These two actions together can reduce your page weight by 40 to 60%.

Elementor: the 3 settings that have the most impact

In your WordPress dashboard, go to Elementor > Settings > Performance. Enable these three options:

  • Disable Google Fonts loading from Elementor (if you load them another way or use system fonts)
  • Disable FontAwesome icon loading on pages that don't use them
  • Enable the improved editor loading mode (reduces DOM on complex pages)

With just these three adjustments, Elementor pages can improve by 0.5 to 1.5 seconds in total load time.

PHP: update in 5 minutes

In your hosting control panel, look for the PHP version option for your domain. Switch to PHP 8.3 if your theme and plugins are compatible. If you're unsure, test on staging first. If something breaks, rolling back is just as quick.

Database: free WP-Optimize

WP-Optimize cleans up revisions, transients and database cache with a single click. Do it once a month. Set the revision limit to 3 or 5 so they don't accumulate again (this can be done in wp-config.php with one line of code).

Fixes for a slow WordPress site, using the figures in this guide.
FixToolCostExpected impact
CacheWP Rocket, LiteSpeed Cache or W3 Total CacheAbout 50 euros a year (WP Rocket) or freeServes static HTML instead of building every page
ImagesShortPixel and Cloudflare WebP conversionFree (ShortPixel: 100 images a month)40 to 60% lighter pages
Elementor3 settings in Elementor > Settings > PerformanceFree0.5 to 1.5 seconds faster load
PHPUpgrade to PHP 8.3 from the hosting panelFree, under 5 minutesUp to 30 to 40% faster than PHP 7.4
DatabaseWP-Optimize and a 3 to 5 revision limitFreeFaster queries without piled-up revisions and transients

Real results: what you can expect

These are not marketing percentages. They are real cases from projects we have worked on.

Texas Cold Storage, a construction services site in Texas, went from a WordPress site with Elementor loading in 4.2 seconds to a Next.js site scoring 95 on mobile and 98 on desktop in Google PageSpeed Insights. Load time: under 1 second.

Impulse Fitness, a client in Barcelona with WordPress, had 47 technical issues identified in an audit: PHP 7.4, unoptimised Elementor, 23 active plugins (6 deactivated but not deleted), and homepage images up to 6MB. With basic adjustments, 2 to 3 seconds of load time can be recovered.

Still slow after optimizing? Tell us about your site and we'll tell you whether it's fixable or time to migrate.

Get a price in 24h

When WordPress simply can't be fixed

This is what nobody writes because nobody wants to tell you the problem has no easy solution. But it's real.

There are sites where the problem isn't the configuration — it's the architecture. These are the symptoms:

  • You have more than 40 active plugins and every one you deactivate breaks something
  • Your theme is Divi, Avada or Elementor with 200 elements per page and thousands of lines of inline CSS
  • Traffic is growing and the server can't handle the peaks: the site goes down or crawls during busy periods
  • Every WordPress or plugin update breaks the design or a key feature
  • You've changed hosting twice in the last year and the problem persists

In these cases, optimising is just patching. The site loads a second slower than it could because WordPress generates every page dynamically — querying the database, executing PHP, and assembling HTML in real time for every single visit.

What changes with Next.js

Next.js generates pages once at deploy time and serves them as static files from a global CDN. No database on every visit, no PHP running, no plugins competing for resources. The result is a site that responds in milliseconds from anywhere in the world.

A typical WordPress page with Elementor weighs between 2 and 5MB and generates between 80 and 150 HTTP requests. The same page in well-built Next.js can weigh 80 to 200KB and generate 10 to 20 requests. The difference isn't in the configuration — it's structural.

It's not for everyone

If you have a 5-page blog with a contact form, optimised WordPress is enough. If your website is the main lead generation engine for your business, has growing traffic and slow speed is costing you customers and rankings, then migrating to Next.js is not an expense — it's an investment with measurable ROI.

Frequently asked questions

Why is my WordPress admin so slow?

A slow admin panel almost always points to the server, not your images: overloaded shared hosting, old PHP or a database full of revisions and transients. Page caching does not help here because the admin is always built in real time. Upgrade to PHP 8.2 or 8.3, clean the database with WP-Optimize and check which plugins run heavy queries on every load.

How do I fix slow server response time in WordPress?

Slow server response shows up as a TTFB above 800ms in Google PageSpeed Insights. The fixes are better hosting, upgrading to PHP 8.2 or 8.3 and cleaning a bloated database, not a caching plugin alone. On cheap shared hosting running Elementor, WooCommerce and many plugins, TTFB can sit at 1.5 to 3 seconds before any content arrives.

What is the best plugin to speed up WordPress?

Start with caching: WP Rocket is the most effective paid option at around 50 euros a year, LiteSpeed Cache is free if your host runs LiteSpeed, and W3 Total Cache works elsewhere when configured properly. Add ShortPixel for image compression and WP-Optimize for database cleanup. No plugin will fix high TTFB caused by slow hosting.

Why is my WordPress site slow to load even with caching?

Caching cannot fix a slow server or a heavy page. If TTFB is still high, the issue is hosting, PHP or the database; if TTFB is fine, look at uncompressed images, unoptimized Elementor and plugins loading duplicate scripts. A site with more than 40 plugins, or one that stays slow after changing hosts, usually has an architecture problem that optimization will only patch.

Is your WordPress site beyond an easy fix? We migrate or optimise it for you. Tell us your situation and we'll give you a diagnosis in 24 hours.

Get a price in 24h