Why Is My WordPress Site So Slow? 13 Reasons + 12 Ways To Diagnose and Speed up Your Website

It’s a nightmare to put so much effort into a WordPress site only to be stuck with pages loading for ages. Why is my WordPress site so slow?

The slower your website loads, the more visitors you lose. The chance of website visitors bouncing from your site increases by 32% within the first three seconds of extra page load time, and that figure only goes up with each additional second.

Fixing slow speeds can feel like you’re flying solo.


Or, so you thought. We’re here to help diagnose your slow speeds and give you a boost!

Why Is My WordPress Site Slow? 13 Ways to Diagnose Slow WordPress Site Issues

There are plenty of reasons for your WordPress site’s loading times to grind to a halt – but first of all, make sure to check if it’s slow for everyone.

Start by using an online site speed checker and find out your site’s average loading times (and why they’re slow).

Try any of the following speed tests – we recommend GTMetrix for in-depth results:

  • GTMetrix
  • Google Page Speed Insights
  • Pingdom

Once it’s clear whether your website is performing slower than usual or your WordPress backend is slow-loading, it’s time to diagnose what’s going on.

First, try accessing your site in a different web browser or device to see if things speed up.

Then, activate caching in your browser. This helps the program reload website files quickly and easily the next time you visit.

Beyond that, chances are your WordPress website loading time is slow because:

  1. Your host isn’t up to snuff
  2. There are too many plugins
  3. Your theme is unoptimized
  4. There are conflicts between plugins and themes (or they’re outdated)
  5. Your WordPress site needs caching
  6. There’s no content delivery network (CDN)
  7. Images aren’t compressed, or there’s too much content
  8. Ads and marketing scripts are choking the site
  9. There’s a problem with the Heartbeat API
  10. There are database errors
  11. You need to update your PHP
  12. Large videos are swallowing resources
  13. You’re not using HTTP2

Let’s break these down.

1. Your host isn’t up to snuff

If you’re using a budget, shared hosting plan, your site likely has limited memory and runs pretty slowly due to hosting companies splitting server resources among multiple customers.

Unreliable WordPress hosting providers are unable to keep up with their clients’ demands. On a shared server, you’re not only sharing bandwidth; you often share errors, too.

The cheaper the host, the poorer the service quality and the less bandwidth to go around.

2. There are too many plugins

As flexible as WordPress is, too many plugins give your website too many tasks to juggle while loading pages.

For example, do you need 30 WordPress plugins when you only really use five?

Every time your pages load, so do each of those plugins. That strains your server, gobbles up resources, and ends up impacting your end users and SEO rankings.

3. Your theme is unoptimized

Heavy themes are pretty easy to spot. They’re crammed full of features and fancy widgets. Again, do you need them all?

The more complex a WordPress theme is, the more code your server needs to process. That means the heavier the theme (or the more poorly coded the theme), the longer it takes to load.

4. There are conflicts between plugins and themes (or they’re outdated)

Outdated or poorly coded themes and plugins don’t always work well together. Outdated software is a prime culprit in many WordPress errors.

Outdated plugins and themes communicate poorly with others because they lack the knowledge to work efficiently. This inefficiency can seriously damage your website’s performance.

5. Your site needs caching

Caching transfers essential website files into a separate location (or storage layer) so they load quicker whenever someone accesses your website.

Without caching, your visitors load every piece of content from scratch. Instead of prioritizing vital content, they waste time loading images, videos, and navigation.

6. There’s no content delivery network (CDN)

CDNs are great for sharing server load. They typically split server demand between several locations worldwide, meaning you never overload a solitary server with requests.

The more your traffic increases, the slower your poor, single server gets at delivering site content.

7. Images aren’t compressed, or there’s too much content

Images likely account for almost half of your website’s page weight. The more image files your website needs to load, or the larger your image sizes are, the longer it will take.

Imagine you fill your car’s trunk full of groceries. On the way to the supermarket, your car moves much lighter and faster without those groceries.

The same applies to your website. Many large, uncompressed images weigh it down, making it run slower. Going back to the grocery analogy, it’s like if you tried to buy a steak, but you ended up fitting the whole cow in your car.

8. Ads and marketing scripts are choking the site

Banner ads and marketing scripts might help your site generate revenue, but overloading your server with flashy elements and media will cause your site to slow down.

It’s the same principle as using lots of large, uncompressed images. Not only does it slow your website down, but you’re also creating a poorer user experience.

9. There’s a problem with the Heartbeat API

Heartbeat API is a background resource that communicates between your browser and server while you use your WordPress dashboard. It supports processes such as auto-saving your content while you type a new post.

However, all these requests and communications can slow down your dashboard, making it difficult to focus on editing and maintaining your site.

Later on, we’ll show you how to restrict or remove Heartbeat completely. Don’t worry, it’s safe to do so.

10. There are database errors

WordPress databases need regular maintenance and cleaning. Over time, they clog up with ancient data, such as old comments on posts and revisions you made months ago.

You need your database to store some data, but when it fills up with old, temporary files, your site’s speed starts to suffer.

If you’ve let your database clog up without realizing it, don’t worry. We’ll help you optimize it in our fixes list below.

11. You need to update your PHP

Most of your WordPress site probably depends on PHP, an efficient scripting language. However, like WordPress, you must regularly update to the latest PHP version to ensure your site is fast, secure, and compatible with new software.

Essentially, the newer your version of PHP is, the faster it runs. Therefore, updating your scripting language is one of the first checks we advise you to make when diagnosing website speed issues.

12. Large videos are swallowing resources

If you thought images drained webpage resources, you certainly haven’t reckoned with videos and audio content. The longer the videos you host directly on your website, the more time it takes to load the rest of your content.

Try embedding your video content hosted elsewhere, such as YouTube, so your server doesn’t load it from its own resources every time.

13. You’re not using HTTP2

More specifically, your website can slow down massively if your host isn’t using HTTP2. This is a superfast protocol that helps websites run securely on HTTPS, which yours should already be doing.

HTTP2 loads content much more efficiently than the old HTTP1 standard. If your WordPress site continues to load slowly over time, there’s a chance your host needs to move to the newer protocol.

How To Fix Your Slow WordPress Site: 12 Proven Methods

You don’t have to put up with slow website speeds! We’ve brought together 12 ways to give your content a turbo boost. We split them into four categories:

  • Common fixes you can try on your own
  • Intermediate fixes that might require a little more effort
  • More technical fixes where you might need an expert to help you
  • When it’s time to ask for full expert help

Before you try any of the fixes below, save a backup of your site in case you need to reload. While you’re at it, save automated backups for the future, just in case.


The following tips offer some quick ways to boost your site’s speed. If you want to thoroughly audit your site’s performance, read our complete guide on speeding up WordPress websites and get stuck in.

Is WordPress running slow? Here’s what to do

Common fixes 
1. Update your plugins and themeUse WordPress’s “Updates” screen to make sure your software is running the latest versions
2. Disable plugins you don’t useLook through your plugins and ruthlessly remove non-vital apps
3. Compress and optimize imagesUse a plugin like ShortPixel to compress images and consider resizing your existing media
4. Use lazy loadingUse a3 Lazy Load to allow some images and media to load secondary to your other content
5. Cut out external requestsReduce how much your site depends on external resources by auditing it with WP Rocket
Intermediate fixes
6. Update your hostChoose a host that offers at least 256 MB RAM and private or dedicated servers for optimum speed
7. Use a CDNInstall a CDN to split memory usage across different servers – we recommend Cloudflare and Sucuri
8. Clean your databaseClear out database clogs such as old comment spam by using plugins like WP-Sweep
9. Disable Heartbeat APIUse the Heartbeat Control plugin to restrict or remove Heartbeat from your site so you don’t overload your PHP
More technical fixes
10. Use a caching pluginOffload data and resources you don’t need with WP Rocket or W3 Total Cache
11. Upgrade your PHPMake sure your PHP is running the newest and best version through your host or with a WordPress developer
Call in the cavalry
12. Call an expert for helpContact your host or a WordPress dev for more tips on boosting loading speeds

Common fixes

The following of the five best WordPress speed fixes are easy enough to try on your own and usually give websites a nice speed boost.

1. Update your plugins and theme

As mentioned, the newer the software, the faster it’s likely to run. That goes for your theme and your plugins, so always make sure they’re up to date in line with your WordPress version.

Head to your dashboard’s “Updates” section to easily check software and theme updates.

This screen tells you if new versions of your plugins or theme are available. Just click “Update Now” and follow the instructions.

Alternatively, you can go to the “Plugins” and “Appearance > Themes” sections of WordPress and update your software individually.

This is a good idea if you don’t want to update your software in bulk and want to remove outdated plugins, which do nothing but take up space.

2. Disable plugins you don’t use

Speaking of which, if there are plugins you don’t use regularly, why waste your resources on them? Head to “Plugins” and remove any that are outdated, or you simply don’t have a use for.

Be ruthless if you can! Plugins are great, but you can certainly have too many.

3. Compress and optimize images

Image optimization and compression are great speed-boosting solutions that let you keep your current visuals. To start, head to “Settings” and “Media” in your dashboard and change the sizes of your images:

Also, think carefully about the file types you use. Some image types take up more space than others, for instance, save PNGs for computer graphics and JPEGs for photographs.

Beyond this, use an optimization plugin to compress images in WordPress. We recommend starting with ShortPixel, which automatically rescales images, PDFs, and other files with minimal effort.

4. Use lazy loading

Lazy loading effectively delays when images load up fully on your website or ecommerce site, meaning it can prioritize loading everything else first. You might see some images that look like this before you scroll down.

This way, your website loads quickly, and you don’t have to remove or change any images.

Again, one of the quickest and easiest ways to try lazy loading is by installing a plugin. We suggest checking out a3 Lazy Load, which reduces image load weight and is built with mobile responsiveness in mind.

5. Cut out external requests

Some themes and plugins need to make external requests to function properly, such as loading fonts and stylesheets. The more external requests there are, the slower your website runs.

For instance, if you use an external font library such as Google Fonts, your site will continue to make requests to this outside resource while you use it.

We recommend using a caching plugin like WP Rocket to reduce your website’s HTTP requests and database calls.

Beyond this, you could use a CDN, or content delivery network, to spread the memory demand across multiple servers. We cover CDNs in a little more detail below.

Intermediate fixes

These fixes are a little more involved and can take some technical knowledge. If you’d prefer to ask for help, skip ahead.

6. Update your host

Your host can cause many slowdown problems. They might limit your web server’s RAM, the memory your PHP can use, and your overall bandwidth. Therefore, it is always a good idea to shop around.

By “update your host,” we mean you could consider increasing your package or looking for a different host entirely (WP Engine and SiteGround are good options)! Do whatever it takes to ensure your host is more compatible with your needs.

We recommend looking carefully at RAM, particularly when browsing for different hosts. A limit of 256 MB or more should satisfy most modern website needs. Also, prioritize looking for hosts providing private or dedicated server packages.

These packages cost a little more in monthly fees, but they are great value considering how much your site’s performance stands to improve. That means you can expect more visitors to stick around for longer and invest in your services.

StateWP can help you find a new host and migrate between providers, too! As a partner, you only need to contact us via our Proto dashboard or email and let us guide you through the process.

7. Use a CDN

CDNs share memory demand across multiple servers, helping to speed up websites. You can also use CDN services to minify code, which means you shorten the effort your website has to load up.

We recommend checking out Cloudflare, one of the most powerful, customizable, and reliable CDNs also recommended by web hosts.

Alternatively, Sucuri, our preferred malware and security partner, offers a similar, dedicated service.

Otherwise, consider using plugins to sample some CDN benefits, such as via W3 Total Cache.

Think carefully about choosing and setting up a CDN for the first time. After all, it’s an extra cost to consider, and it’s not always great value if most of your customers visit from one location. If you’re unsure this is the best route to take, make sure to chat with a WordPress developer.

8. Clean your database

Cleaning and optimizing your database means ensuring it’s free from outdated and/or irrelevant information that might slow down your website.

Knowing what to look for when cleaning a database isn’t easy, so we recommend checking out plugins such as WP-Sweep to save time and headaches.

You can find the plugin in WordPress’s search engine, install it, and activate it as you would with other software.

WP-Sweep helps to clear up nuisance database files such as:

  • Comment spam
  • Orphaned metadata
  • Auto-saved drafts
  • Post and page revisions
  • Duplicate metadata

Essentially, it removes anything unnecessary from your database and prioritizes the important bits and pieces so your website’s performing more reliably and faster than ever.

9. Disable Heartbeat API

As mentioned, Heartbeat API helps different areas of your WordPress operation communicate. But, it can make many regular calls and requests, overloading your PHP and slowing your site down.

It’s safe to disable Heartbeat completely, and the easiest way to do so is by using Heartbeat Control, a popular plugin.

Install Heartbeat Control through the usual Plugins search engine and head to “Settings” and “Heartbeat Control” in your dashboard. Here, you can switch Heartbeat API off completely or modify how frequently it communicates (for example, when editing posts).

After making these changes, head back to your website or try testing it again in a speed checker.

More technical fixes

Here’s where things might get a little techy. Proceed if you feel confident and know your way around advanced WordPress fixes. Otherwise, we’re here to help!

10. Use a caching plugin

Caching plugins are great for getting your database cleaned up and optimized and your code minified (so it’s less hassle for your website to load). However, they’re also great to experiment with if your WordPress dashboard and other backend features are slowing down to a halt.

Installing a caching plugin is fairly simple. You can install WP Rocket, W3 Total Cache, WP Super Cache, or any other option through your WordPress dashboard.

However, toggling and experimenting with different caching and optimization features (i.e., Javascript, HTML, and CSS compression/combining) can be painstaking.

There’s a lot to take in:

This gives you two choices:

  1. Get stuck into the documentation and do it yourself
  2. Contact a WordPress developer who can help guide you through the process and make recommendations.

Always make sure your host allows caching services. This option isn’t always possible if, say, you’re using a shared server.

If this is the case, follow our earlier recommendation and look for a dedicated server package or a different host!

11. Upgrade your PHP

Ideally, you should update or upgrade your PHP as regularly as your plugins and WordPress. Otherwise, your site’s going to start lagging in some areas!

In some cases, WordPress warns you that you’re due an upgrade.

If it doesn’t, you can still be proactive. Check that you’re running at least PHP version 7.4 by heading to “Tools” and “Site Health” in your dashboard and clicking “info.” What you need to know should appear under “server.”

From here, we suggest you use a staging site before updating your PHP. If you’re using a host such as WP Engine, for example, you can log into its user portal and create test environments through the “Sites” section.

It’s best to update your PHP through your host, and different providers have different processes.

We recommend either contacting a developer or reading our complete guide to updating your PHP version to learn more about how to prepare for the upgrade.

When you’re ready, through WP Engine, you need to head to the user portal and select the staging site to update on the “Sites” page. Then, under “Updates,” you see “PHP.” Click “PHP version number.”

You can then select the new version and click “Confirm” to go ahead with the update.

Check your staging site to see the results, and if all looks good, repeat the process for your live site.

Call in the cavalry

There’s no harm in asking an expert to help you boost WordPress speeds. Here are the next steps to take.

12. Call an expert for help

As you can see from many of the steps in this guide, it’s often a good idea to ask your host for advice on speeding up your website.

For the fastest support, try contacting your host via live chat or phone. Alternatively, as recommended, you could consider completely switching hosts or packages.

For an even faster response and highly dedicated troubleshooting regarding speed and performance, StateWP can be your on-call partner.

Our users simply raise service requests through Proto, our integrated dashboard accessible via WordPress admin, and we respond within a day of receiving them to monitor performance issues on our clients’ managed WordPress sites.

screenshot of customer submitting issue via Proto dashboard

What’s more, we also monitor our partners’ sites 24/7, meaning we’re always ready to react if problems arise.

“Why Is My WordPress Site So Slow?” Well, Now You Know

The speed of your WordPress site is a big deal for your visitors. After all, if they can’t get access to the information they need fast, they can just click off and look elsewhere.


It’s why you should always test your website speeds and keep a regular maintenance schedule to ensure your web content is easy to access and fast to load.

As our guide shows, there are many reasons why your WordPress site is slow – and more than a few ways you can improve it.

With StateWP as your WordPress partner, you always have access to expert devs who can monitor your site and recommend ways to turbo-charge it.

Contact us to learn more, and we can become your first defense against website slowdown.

In the meantime, don’t let WordPress errors make site management even more of a headache. Check out our guide to common errors and learn what to look for.

Slow WordPress Site FAQs

Let’s close this guide with some quick, commonly asked questions about slow WordPress websites.

Why is WordPress slow right now?

If your WordPress site loads slowly, it could be because you’re running too many plugins, it needs caching, or you need to update your PHP version.

Your loading speed might be slow simply because you’re using too many large images or videos or a host server that’s not built for the tasks you need. Check out our full guide to learn more.

How do I fix slow WordPress sites?
  1. Update your theme and plugins (and remove any you don’t use)
  2. Compress and optimize your images (and try lazy loading)
  3. Change your host or update your package
  4. Switch to a CDN
  5. Clean up your database
  6. Start caching your website data
How can I make my WordPress site load faster?
  1. Check your site’s performance with an online speed checker
  2. Make sure you’re running with a reputable host and on a dedicated server
  3. Update all your plugins and remove any you don’t need
  4. Compress and optimize your images
  5. Switch to a CDN
  6. Use lazy loading and caching plugins
  7. Switch off Heartbeat API
My WordPress site is so slow – is it because of plugins?

Yes, too many or outdated plugins can sometimes make WordPress slow or even your WordPress admin slow. The more plugins you use or the older ones, the more pressure your website has to use memory to support them.

Therefore, it’s wise to remove any plugins you don’t use or need and update those you need regularly. Learn more in our complete guide.

How can I optimize my WordPress site speed without plugins?
  1. Empty your website’s cache through your host
  2. Remove any plugins you don’t use
  3. Change the sizes of images on your site and delete any you don’t need
  4. Change your hosting package (or even your host)
  5. Register your website to a CDN (content delivery network)
  6. Update your PHP version
  7. Reach out to a WordPress developer for in-depth help