November 14, 2026
How to Fix a Slow WordPress Website: 12 Fixes That Actually Work

A slow WordPress site costs you twice. Visitors leave before the page finishes loading, and Google ranks slower pages lower than faster competitors. The good news: most slow WordPress sites are slow for the same handful of reasons, and most of them can be fixed without rebuilding the site.
This guide walks through how to measure your speed properly, what usually causes the slowdown, and the fixes that make the biggest difference, in the order we apply them when a client brings us a slow site.
First, measure your speed properly
Before changing anything, get a baseline so you know what actually improved. Use two free tools:
- Google PageSpeed Insights (pagespeed.web.dev). It shows your Core Web Vitals, the speed metrics Google uses in ranking, for both mobile and desktop.
- GTmetrix or WebPageTest. These show a “waterfall” of every file your page loads and how long each one takes, which is how you find the real culprit.
Focus on the mobile score first. Most of your visitors are on phones, and Google evaluates your site mainly on its mobile version. The three numbers that matter most:
- Largest Contentful Paint (LCP): how long until the main content appears. Aim for under 2.5 seconds.
- Interaction to Next Paint (INP): how quickly the page responds when someone taps or clicks. Aim for under 200 milliseconds.
- Cumulative Layout Shift (CLS): how much the page jumps around while loading. Aim for under 0.1.
Test your homepage plus one or two important inner pages, such as a service page or a product page. They are often slow for different reasons.
The most common causes of a slow WordPress site
In the sites we audit, the slowdown almost always comes from one or more of these:
- Cheap or overloaded hosting. If the server takes more than about 600 milliseconds just to start responding (shown as “Time to First Byte” or “server response time”), no amount of front-end tuning will fully fix it.
- Too many plugins, or a few heavy ones. It is less about the number and more about what each one loads. One badly built slider or page builder add-on can add a second to every page.
- Huge images. A 4 MB photo straight from a phone or camera, displayed at 600 pixels wide, is the single most common problem we see.
- A heavy theme or page builder. Multipurpose themes and page builders load large amounts of CSS and JavaScript on every page, whether that page uses it or not.
- No caching. Without caching, WordPress rebuilds every page from the database for every single visitor.
- Too many external scripts. Chat widgets, tracking pixels, embedded videos, font services and ad scripts each add requests to other servers that you do not control.
- An old PHP version or a bloated database. Outdated PHP is noticeably slower, and years of post revisions, spam comments and expired data slow down database queries.
Short on time? Most of the fixes below take an experienced developer a few hours, and a wrong setting can break your layout. Send us your website address and we will tell you exactly what is slowing it down and what it would cost to fix.
12 fixes that make the biggest difference
1. Take a full backup first
Before any speed work, take a complete backup of files and database, or work on a staging copy if your host offers one. Some optimizations, especially script settings, can break a layout, and you want a one-click way back.
2. Update PHP to a supported version
Check your PHP version in your hosting control panel or under Tools → Site Health in WordPress. Moving from an outdated version to a current one is often a free, instant speed gain. Update your plugins and theme first so they are compatible.
3. Turn on page caching
Caching saves a ready-made copy of each page so WordPress does not rebuild it for every visitor. Many hosts include server-level caching (LiteSpeed, for example, with its LiteSpeed Cache plugin). Otherwise, a well-known caching plugin such as WP Rocket, W3 Total Cache or WP Super Cache will do the job. Use one caching plugin only; two will conflict.
4. Compress and resize your images
Resize images to the largest size they actually display at, convert them to WebP, and compress them. Plugins like ShortPixel, Imagify or EWWW Image Optimizer can do this automatically for new uploads and in bulk for your existing library. This alone often cuts page weight by more than half.
5. Lazy-load images and videos below the fold
Images further down the page should only load when the visitor scrolls near them. WordPress does this for images by default now, but make sure your theme or builder is not overriding it, and replace embedded YouTube videos with a lightweight “click to play” preview. Do not lazy-load the main image at the top of the page, because that delays your LCP.
6. Remove plugins you do not need
Go through your plugin list honestly. Deactivate anything unused, anything that duplicates another plugin, and anything you installed “just to try”. Then test your speed again with the remaining heavy ones turned off one at a time to find the expensive ones. Often a single plugin is responsible for most of the slowdown.
7. Defer and delay JavaScript
Scripts that load before the page renders block everything else. Set non-essential scripts to load with defer, and delay third-party scripts such as chat widgets and tracking until the visitor interacts with the page. Most good caching plugins have these options. Test carefully afterwards, because sliders, menus and forms sometimes depend on script order.
8. Remove unused CSS
Page builders and multipurpose themes load styles for features you are not using. “Remove unused CSS” or “critical CSS” features in caching plugins can strip this down per page. This mostly helps your LCP and the “render-blocking resources” warning in PageSpeed Insights.
9. Host your fonts locally and load fewer of them
Every font family and weight is another file to download, often from another server. Use one or two font families, only the weights you actually need, and host them on your own site instead of loading them from an external font service.
10. Use a CDN
A content delivery network (CDN) such as Cloudflare stores copies of your images, scripts and styles on servers around the world, so visitors download them from somewhere close by. If your visitors come from several countries, this makes a clear difference, and Cloudflare’s free plan is enough for most small business sites.
11. Clean up the database
Remove old post revisions, auto-drafts, spam and trashed comments, and expired temporary data. A plugin like WP-Optimize can do this safely, and you can also limit how many revisions WordPress keeps going forward. Take a backup before cleaning.
12. Upgrade your hosting if the server is the bottleneck
If your server response time is still slow after caching, the hosting is the problem. Moving from a crowded shared plan to a better shared plan, managed WordPress hosting or a small cloud server is often the single biggest improvement for a busy site, and it makes every other fix work better.
When a speed fix is not enough
Sometimes the honest answer is that the site is built on a foundation that cannot get fast: an old multipurpose theme carrying years of page builder layers, dozens of interdependent plugins, or custom code that queries the database on every page load. In that case you can spend a lot of time tuning and still sit at a mediocre score.
Signs you are in that situation:
- Your mobile score stays low even after caching, image compression and plugin cleanup.
- Every small change risks breaking the layout.
- The site also looks dated and does not convert visitors well.
If that sounds familiar, a lightweight rebuild is often cheaper over a year than repeated patching. A custom-built WordPress theme, without a heavy page builder, typically loads several times faster and is easier to keep fast.
Quick checklist
- Back up the site or use a staging copy.
- Test with PageSpeed Insights (mobile) and note LCP, INP and CLS.
- Update PHP, WordPress, themes and plugins.
- Turn on one caching solution.
- Resize, compress and convert images to WebP.
- Remove unused and heavy plugins.
- Defer and delay non-essential JavaScript.
- Remove unused CSS, and host fewer fonts locally.
- Add a CDN.
- Clean the database.
- Upgrade hosting if server response time is still slow.
- Test again and compare with your baseline.
Want us to do it for you?
If you would rather not touch the settings yourself, our team handles WordPress speed optimization, error fixes and plugin conflicts every week. We look at your site, tell you exactly what is slowing it down, and give you a fixed price before any work starts. Send us your website address using the form below.

