What is the reason for WordPress Slow? Let's Figure It Out!

Apr 20, 2022
Featured image illustration for WordPress slow showing a person looking at a snail with a magnifying glass.

Understanding the reasons behind why WordPress isn't working properly isn't easy. It is difficult to determine why a WordPress website is comprised of many elements, from its web server and related settings to numerous themes and plugins. The reason for this could be due to unoptimized content, like video, images, or embeds.

How do you figure out what's causing this performance issue? It's hard to say right away what's the problem -- there are multiple options, so we'll examine them in this post.

Then we'll not simply look for the cause of why your WordPress site isn't working properly. You'll also learn many methods to speed up your slow WordPress site.

Excited? Let's go!


Why is WordPress Slow?

There are many variables that can influence your WordPress website's performance. The most frequent issues are:

  • The hosting company that hosts your website
  • Server-side optimizations (PHP version, caching, compression, etc.)
  • Slow WordPress themes
  • The WordPress plugins are slow. WordPress plugins
  • Unoptimized content (mainly images)
  • Too many external HTTP requests
A diagram showing various elements of a typical WordPress website.
A variety of elements that make up the typical WordPress website.

In addition to the server optimizations implemented by your hosting company There are a variety of ways to do to ensure that your site is extremely fast. These will be discussed later in this post, but first, let's figure out what's slowing down your site.

4 Steps to Determine If Your WordPress site is running slow

Conducting tests on your site is an excellent option to identify which factors are slowing your site -- be it your web hosting service, your website itself, or the two? Let's walk through some website tests that you can conduct.

Step 1: Run Page Loading Speed Tests

How fast does your site load? If your site takes longer than two seconds to load isn't ideal for users' experience. Ideally, you want to try to keep load times under one second. Anything between that is okay however you need to think about optimizing the site to improve it.

Let's start by launching GTmetrix and test a webpage. Select a server that is closest to you (or your website's visitors) for better performance ( Tip: create a free GTmetrix account to have additional server locations).

Screenshot of the GTmetrix homepage.
GTmetrix home page.

This time, we're testing WordPress site's homepage as that's what most users will visit. The homepage also houses many pages of content which makes it ideal for testing.

Once the test completes it will show the GTmetrix performance report that is as follows.

An example of a GTmetrix speed test report.
GTmetrix report example.

GTmetrix evaluates a website using a range of metrics. The site also displays a visual timeline of how it loaded the webpage during the testing. To understand it in detail you'll need to scroll down.

A screenshot of the GTmetrix report's Summary tab.
GTmetrix report's 'Summary' tab.

Summary tab Summary tab outlines all of important issues that affect your site's performance. In this case, the primary issue is with the server's response time. It almost always implies looking into changing your hosting plans or migrating to a better host. However, before you jump to this conclusion, it's better to fix every other issue and then revisit the issue.

Another major problem is "Avoid the excessive size of the DOM" which is a typical problem when working with web page builders. The other problem -- "Avoid huge changes in layout" could also be associated with theme builders or page builders.

"Avoid huge network loads" is a reference to the heavy load of assets, such as scripts, images, as well as CSS files. The page's Details section offers a short rundown of that. You can observe that the overall size of the page as well as the amount of page requests are pretty excessive.

By clicking on the tab Performance tab will provide the user with additional statistics that are reported by the browser as well as Lighthouse Performance.

A screenshot of the GTmetrix report's Performance tab.
GTmetrix reports' Performance tab.

It's clear that this test webpage has nothing well going for it. Going to the report's structuresand Waterfalltabs can offer more insight.

Next up will be Pingdom Tools, another popular software for testing speed. We'll test the same site's homepage here.

A screenshot of the Pingdom Tools website speed testing tool.


 Pingdom Tools website speed testing tool.

Pingdom Tools uses its own algorithm for testing the website. Results don't look good on this website either.

A screenshot of Pingdom Tools speed test results.
Pingdom Tools speed test results.

Scrolling down further will show you how to improve the performance of your website. Each recommendation can be expanded to give the details on the best ways to improve.

A list of Pingdom Tools' performance enhancement recommendations in its speed test report.
The Pingdom performance improvement suggestions.

As each speed testing tool uses its own specific performance indicators You can't compare one speed test's results with the results of another. Thus, regardless of which you choose, it's best to stick with the one you like.

Step 2: Load and Test the Website

A load test will reveal new data about how speedy it runs in the real world. We'll use k6 for this, which is a no-cost and open source load-testing tool that is able to run locally on your system.

A screenshot of the k6 speed testing tool's homepage.


 K6 FOSS Speed testing tool.

The free k6 version needs some command line knowledge, but it's pretty powerful when you've mastered it. ( Note: Alternatively, you can make use of k6's cloud-based premium service or a simpler cloud-based load testing tool like Loader.io)

Combined with its fantastic reporter extension, you are able to run a load test and get precise results in HTML:

A screenshot of the k6 load testing results showing the Request Metrics.
K6 load test results Request Metrics.

The results above are for the exact same website being put to load testing for 10 minutes, with the maximum number of virtual users. It also contains other useful statistics:

A screenshot of the k6 load testing results showing Other Stats.
K6 load test results- Other Stats.

Note that the majority of requests failed, probably indicating that the server cannot handle them.

You can also set up rules and thresholds within k6 scripts (e.g. the page load time is less than 1.5s, users able to log in or not or not, etc.). These metrics will also be displayed in the Dashboard.

Below is a picture of the load test results of another website using the exact conditions to provide a more clear picture.

A screenshot of the k6 load testing results for another website showing the Request Metrics.
K6 load test resultsRound 2.

A total of 28 failed requests could appear to be a problem although it's actually not given the amount of requests. That's just 0.25% of all the requests made by my local machine. The results here indicate that the web hosting provider can serve quite several concurrent users.

Step 3: Take a look at Themes and Plugins for Your WordPress Themes and Plugins

Testing the functionality of your WordPress themes and plugins should be the next major step in uncovering any performance issues. There's a lot of variety in this area -- and you'll usually notice that certain themes or plugins are better optimized over others.

Earlier in the speed testing section, we discussed spotting problems with plugins or themes in the results. There's a different way to go about it: disable one of the plugins or themes at a time and see what happens to the website (in an loading test, speed test, as well as both).

If the performance issue persists, disable one more plugin or theme and run the tests. Continue doing this until you've discovered the root cause.

But, this approach should not be used for sites that are production-related. A staging website assists in this. It is a great way to try different versions of your website's design through adding, altering, or even removing certain features.

If your site is hosted at , then you're in luck, as every WordPress installation comes with its own staging environment. All you need to go to your My Dashboard and select your website, and change its environment to Live to staging.

A screen showing how to use 's one-click staging feature.
The one-click staging feature of the program.

This site serves as identical to the live site down to the server and server-side configurations. You are able to use it to tweak and test your site, without impacting the live version.

Step 4: Utilize the Application Performance Monitor (APM) Tool

A APM tool combined with speed and load testing tools will boost your site's ability to diagnose.

Instead of setting up the site as a test site and guessing which plugin or theme to turn off one at a time, a competent APM tool can help you identify the source of slow performance , without altering anything on the site. It analyzes and tracks the performance of slow transactions, database queries, external requests, WordPress hooks, plug-ins and more.

Showing how to enable  APM in the My dashboard.
The ability to enable APM in the My dashboard.

The majority of the time, working with an APM tool doesn't make it easy for novices. Even experts require education on using the tool effectively. Plus, there's always an additional cost as most of them require a license to run.

I took the time to make a site that was not optimized to demonstrate this function. Then, I switched on APM for this site through the dashboard My. Then, I ran it through a couple of load tests so that APM can gather some information. The results are as follows:

Graphs from  APM’s ‘Transactions’ tab showing the overall transaction time.
APM's 'Transactions' tab.

The Transactions tab displays the transactions that took longest during the monitoring period. Beginning here is a great way to optimize your site. This is because wp-cron.php is the slowest. It can be triggered by WordPress itself, or the theme, or any plugin.

Following will be the APM's WordPress tab. Here you'll find the slowest WordPress plugins and hooks.

A screenshot showing  APM's WordPress tab.
APM's 'WordPress' tab.

If you spot any ineffective plugins here, or plugins that have duplicate functions You can delete them from your WordPress website. As an example, I see two contact form plugins on this page, as well as one portfolio plugin, which the website can do without.

Scrolling down further down this tab will show you the most slow WordPress hooks.

 APM showing the slowest WordPRess hooks.


 APM showing which are the Slowest WordPress hooks.

Monitoring the most slow WordPress hooks is among the best features offered by APM. It is possible to click on the hook's item to open its transactions.

Seeing a slow WordPress hook's transaction samples.
The slow hook's transaction samples using APM.

Knowing exactly what plugin, theme, or hook, is the main bottleneck in performance You can improve site performance as well as reduce time to load.

17 Ways to Fix the slowness of a WordPress Website

The battle isn't won until you know how that is won! Acting on that knowledge is when you'll get your results. You've performed all the tests that were mentioned earlier. We'll now look into potential areas where you can improve the speed of your WordPress site.

You can jump into any of the sections by clicking the helpful links below:

1. Make Sure You Keep Your WordPress Site Up to Date

A crucial aspect to maintaining the integrity of your WordPress website is keeping it updated. This might seem like an obvious thing to do however, it's important to remember nonetheless.

WordPress updates contain security patches, the most recent technologies, and fixes for performance.

Also, it is important to make sure that all active plugins and theme updated. If you find any theme or plugin on your website that hasn't seen any updates in more than a year, you should reconsider its alternative.

2. Make sure your site's images are optimized

Based on HTTP Archive (Mar 1, 2022) The median page weight of the WordPress site is 2408 KB with images making up almost 1117 KB (46.38 percent of overall page weight).

A graph from HTTP Archive's WordPress: Stage of Images showing that Images take up almost half of any page's weight.
WordPress: State of Images. (Source: HTTP Archive)

It's not surprising that big images can slow down your website which results in less than perfect user experience. Thus, optimizing images whether manually or using an application, will dramatically speed up page load times.

In order to improve the quality of images, it is possible to go using lossy or lossless compression techniques. Most image editors provide quality adjustments while saving the image to achieve optimal image compression. Lossy compression usually hits the perfect sweet spot between keeping image detail and less of a file size.

Setting the image sizes in WordPress Media Settings.
WordPress Media Settings -> Images sizes.

WordPress has responsive images enabled by default. It is possible to set the desired size for images and allow WordPress handle everything else. If you'd like to reduce disk space it is possible to use a no-cost WordPress plugin such as Imsanity to scale down big images down to the specified size on a regular basis.

3. Use Plugins Cautiously (and only when absolutely necessary)

Plugins are the life of WordPress and its community. With an impressive selection that includes 54,000+ plug-ins listed at WordPress.org as well as thousands of other plugins that are available elsewhere, you'll be able to be a mess when installing WordPress plugins.

Poorly designed WordPress plugins may slow the performance of your website, causing the time it takes to load your pages.

Nevertheless, you can install dozens of WordPress plugins without harming your site's performance, but you must also ensure that they are coded properly and optimized for speed. And more importantly, the plugin developers should've developed them in a way that makes them work when working together.

A screengrab from 's hand-picked WordPress list.
's hand-picked WordPress plugins listing.

However many plugins you may have installed, you can always refer to Step 3 and/or Step 4 within this post to find out the problem plugins.

4. Choose the most Fast WordPress Theme

Picking a responsive WordPress theme is essential to the speed of your website and the overall user experience. The theme's attributes, including the layout, navigation menus and color palettes, fonts and the placement of images are the first thing your users will notice.

In the event that those features aren't optimized well it could be beautiful website but also a pretty slow one.

A homepage screenshot of the popular Hello Elementor WordPress theme.
Hello Elementor is one of the most popular WordPress theme.

Before selecting a WordPress theme, list out all of the features you'd like on your site. You can then research and note down themes that fit your requirements.

Always look out for trustworthy designers with high reviews as well as excellent customer service. Also, we recommend avoiding themes that aren't updated often.

Are you interested in knowing the ways we have increased volume by more than 1000 per cent?

Join 20,000+ others who receive our newsletter every week with insider WordPress tricks!

5. Configure Cache to Optimize Your Site

An illustration of various website caches.
A visual representation of different websites caches.

WordPress runs on PHP and MySQL and both can get bloated if you don't employ caching. Therefore, the speed of your website is a joint effort between the host and you and caching.

A comparison image of Pingdom speed tests of a -hosted website with and without caching.
hosted site with and without cache.

With cache disabled, the above site performs extremely well, as it's optimised. However, with cache enabled, it can increase the speed of its operation by 23 percent. The load times can add up if you're serving hundreds of new visitors.

6. Reducing the number of External HTTP requests (and API Calls)

The theme and plugins on your WordPress website's theme as well as plugins could contain external requests to various sources. These requests typically can be used to download externally hosted files such as scripts, stylesheets, fonts, etc.

GTmetrix showing how CSS can be a major render-blocking resource.
CSS can be a render-blocking resource.

Occasionally, they're for adding features such as analytics, social media sharing, etc.

You can use a few of them, however too many of them can slow down your site. Your website will be faster site by reducing the number of HTTP requests, and also optimize the speed at which they're loaded.

7. Minimize Your Website's Scripts, Scripts, and Stylesheets

When you reduce the size of your web page's codes, you'll have smaller JavaScript and CSS file. In addition, they perform faster on loading, but they're also processed more quickly by browsers. Together, they can improve the speed of loading your pages.

Using the Cloudflare-powered code minification tool in My.
Utilizing the "Code minification" tool in My.

8. Use only the scripts that are necessary on Each Page Load

Combining and minifying these scripts can improve performance somewhat, however, it's preferable to prevent the scripts and styles from loading in the first place.

We recommend using the free Asset Cleanup plugin for this task. It will scan all the assets loaded onto the page. It will then pick the CSS and JS files that aren't needed on the page in question and reduce the amount of bloat.

Using the Asset CleanUp WordPress plugin to block certain scripts and styles from loading on a page.
Utilizing the 'Asset CleanUp' plugin. (Source: WordPress.org)

Asset Cleanup works best in combination with caching because the optimized web page does not need to be created on a regular basis by the web server.

9. Accelerate Your WordPress's Slowness Admin Dashboard

Most often, optimizations for the backend begin with optimizing the frontend, since speeding up the frontend generally fixes performance issues also on the backend.

If you're experiencing slow performance on your WordPress admin, you may do the same in reverse -- fixing problems with your backend's performance could aid in speeding up the performance of your website for your visitors.

Finding the slowest transactions with  APM.
Finding the slowest transactions with APM.

10. The Server's Location, Configuration and Place is Important

The location of your web server and its configuration can significantly impact the speed of your website.

If, for instance, your website server is located in the United States, your website is likely to load more slowly for visitors from Europe or India as compared to those who are from the United States.

You can mitigate this by using:

  • A server that is close to you and most of your site's visitors.
A global map of Google Cloud’s worldwide zones.
Google Cloud's worldwide zones. (Source: Google)

If you have a site that is popular with an international audience, you can further enhance its performance by choosing the Cloud Delivery Network (CDN). Cloudflare is the engine behind the CDN and we'll discuss this in the next part.

Do the server's resources automatically expand in the event of an unpredictable traffic surge, or must you upgrade to a new plan whenever it happens?

These are all the questions that a reliable web hosting service can provide you with a lot of enthusiasm. It is essential to constantly look at these companies.

Combining these machines with the latest software like Nginx web server, 8.1 LXD containers and MariaDB, your sites will load in the blink of an eye.

11. Utilize to use a Content Delivery Network (CDN)

One of the most effective ways to speed up a website is to use the fastest and most reliable CDN.

CDNs CDN helps reduce the workload of your web server through the direct delivery of content to visitors. These are a network of servers (also called POPs) that are designed to store and distribute versions of your content like images, stylesheets, fonts, scripts, as well as videos.

A screenshot from Cloudflare's website showing a global map of all its POPs.
Cloudflare CDN powers all websites.

We recommend every website use at least some type of CDN for speeding up their performance.

 integrates with Cloudflare CDN to power all its websites.
Cloudflare and Cloudflare means faster and More Secure Websites.

Tips:If your website uses one of the well-known open source JavaScript library (e.g. JQuery, D3.js, three.js, Web Font Loader), you are able to make use of Google Hosted Libraries CDN to accelerate their delivery.

12. Eliminate Unnecessary URL Redirects

Most often, the issue caused by unconfigured URL redirects can result in a sequence of redirects. In some cases, this chain is an infinite redirect loop. These redirect chains typically cause increased loading times.

A graph of the 404 errors and 30x redirects breakdown as shown in My.
30x redirects and 404 errors break down in My.
’s Error 404 “Page not found” page.
Error 404 on the "Page not found" page.

This is how to avoid creating unnecessary redirects:

  • Utilize the appropriate URL suffix (HTTP or HTTPS).
  • Make sure to remove or maintain your "www" subdomain of the URL (don't combine them).
  • Include the entire URL path.
Using the free WordPress 'Redirections' plugin.
Utilizing the no-cost WordPress 'Redirection' plugin.
Adding redirect rules from your My dashboard.
The addition of redirect rules in My.

Go to the site that you would like to manage, and then click on the "Redirects" section. You can then add a redirect by pressing the big "Add the redirect rules" button.

Using regex to customize your redirects in My's URL redirections tool.
Regex can be used to modify your redirects.

13. Fix WordPress Mixed Content Warnings (HTTPS/SSL Errors)

The mixed content warning is displayed on pages that contain HTTP and HTTPS content. Unsecurely loading resources isn't only a security concern, but also a potential performance issue.

If you get inconsistent content in your website You can try an online tool such as How No Padlock to show the resources that are loaded unsecurely.

Using 's 'Search and replace' tool in My.
Using the 'Search and replace' tool in My.

14. Optimize Your WordPress Database Regularly

As an example, for instance, the WordPress database can still have information from years ago when you launched the site. It includes posts and pages revisions, drafts and trashed comments, as well as deleted posts. While they are useful in editing and publishing the most the latest posts, with time, the database is likely to accumulate a lot of useless data and become bloated.

Thus, optimizing your WordPress database is essential to maintain and improve the performance of your site.

Showing the UI of Advanced Database Cleaner WordPress plugin.
Utilizing the Advanced Database Cleaner' plugin.

15. Select a cloud-based WordPress Security Service

Many thousands of WordPress sites get hacked every day. Hence, security is an important issue for WordPress sites, and you must be in the know at all times.

You have two primary ways to safeguard your WordPress website with a firewall:

  1. Make use of a third-party security provider to safeguard your site

The first option is clear-cut. A reliable WordPress hosting provider will take care of most of your security requirements for you.

But, if you need opt for the second option then you'll have two alternatives:

  1. Opt to install a WordPress safety plugin (e.g. Wordfence)
  2. Choose an DNS Firewall (e.g. Cloudflare)

Furthermore, we offer Two-factor authentication (2FA) as well as IP Geolocation blocking. Additionally, we block IPs with six failed login attempts within a time of less than a minute. Additionally, we require completely encrypted connections (SFTP, SSH, HTTPS), require strong passwords for all new WordPress installation, and also offer an assurance of hack-fix.

16. Upgrade to the latest PHP Version

Graphs for the WordPress 5.9-RC2 PHP Benchmarks.
WordPress 5.9-RC2 PHP Benchmarks.

As of writing this at the time of writing this, as of this writing, PHP 8.1 isn't fully supported by the majority of WordPress themes, plugins, as well as development tools. If you're considering upgrading an existing site's configuration to PHP 8.1, we recommend you test it thoroughly on a staging environment to be sure that the upgrade won't fail.

If, however, your server is still on PHP 7.x version that you are on, it can be upgraded to PHP 8.0 and get the most of the benefits.

17. Make the switch to a reputable Managed WordPress Host

Most of the time, managed WordPress hosting includes a range of features to help WordPress sites run efficiently, securely, and quickly. The technical expertise is handled by experts and you can concentrate on managing your business.

Summary

Tell us your thoughts in the comments section of if could fix your slow WordPress site. Make sure to take a look at our lists of additional areas in which you can improve the speed of your website.

Reduce time, money and maximize site performance with:

  • 24/7 help and support 24/7 support from WordPress hosting experts, 24/7.
  • Cloudflare Enterprise integration.
  • Global audience reach with 29 data centers across the globe.
  • Optimization with our integrated Application to monitor performance.