Why is WordPress so Slow? 7 Reasons Why and How to Fix Them

When you grow your website with more content and your site engagements start increasing, you will at one point ask - “Why is my WordPress site so slow?”. Read on a complete guide on why your website can be slow and how to make it faster.

The page speed of any website largely determines the success of its purpose. If websites are a critical source of web presence, and WordPress websites constitute the majority of websites on the internet, then why is WordPress so slow? When you grow your website with more content and your site engagements increase, you will end up with that question. Truthfully, this question is frequently asked by new and relatively experienced site owners and developers.

Before we get into the extensive details regarding why WordPress is slow and how to speed up WordPress sites, it’s beneficial to understand why speed optimization is important for WordPress sites and how to proactively detect speed issues.

Throughout this article, the focal point will be the reasons for slow WordPress websites and how you can fix potential issues contributing to them.

Without further ado, how do you diagnose a slow WordPress to get actionable leads?

How to Diagnose Slow WordPress

In 2019, Unbounce reported that “Nearly 70% of consumers admit that page speed influences their likeliness to buy.” These statistics infer that a visitor would probably not come around next time for a purchase, increasing your bounce rate. The page speed of a website is essential to its relevance to visitors, and chiefly, to its ranking on google searches. Apart from site ranking, page speed also affects other factors that determine a website’s quality.

The ensuing impact of speed on your WordPress is on the user experience. Imagine waiting five to seven seconds for a page on a website to load. The best guess is that the other pages will also be that slow and you’d leave the site for an alternative – increasing your website bounce rate. The worst still is when you have a website visitor on a mobile phone(which is usually the case). Internet connection is much slower on mobile phones and that directly impacts the time a webpage takes to load. Page speed is a ranking factor for mobile searches. In addition to that, other factors – customer signals, slow site, bad signal, customer leaving site(increasing bounce rate) will also impact site rank on google searches.

So, how do you detect if your web pages are loading slowly? Honestly, you can’t visit all the pages on your site daily to know that. This is where website speed testing tools come to play.

Use website speed-testing tools

Website speed can be measured with speed-testing tools. Recommended tools include Pagespeed Insight, GTmetrix, and Pingdom Tools. These tools perform an overall site speed test, display a visual representation of your site’s performance against the Core Web Vitals(CWV), PageSpeed score, and other metrics; and give insights into why your web pages are loading slowly. It is also possible to monitor the dynamics and performance of pages in bulk with the Google PageSpeed console, for example, checking how many pages in the site passed the CWV. Simultaneously, the metrics measured by the Core Web Vitals have a significant impact on the overall page quality and ranking with Google search results.

Review your WordPress add-ons

The themes and plugins installed on your WordPress website also affect its overall performance. After running a site speed test and getting visual feedback on the overall site performance, you might need to look deeper into the state of the themes and plugins. Unused themes and plugins decrease the storage space and available RAM on your server. They also sometimes add scripts and styles that become render-blocking resources and slow down the frontend. In other cases, active themes and plugins might require updates or total removal.

To test for performance on active add-ons, you might need to disable some plugins to see how your site performs without them(you could use speed testing tools here). However, you shouldn’t do these in production environments. A staging environment is an ideal environment to run website tests before merging the changes to production. Since WordPress doesn’t come with a staging environment and setting one up is quite tedious, 10Web hosting provides a dedicated staging environment to test all your iterations and a one-click merge from staging to live.

As you test the effect of each add-on, switch to an alternative(after researching) that serves the same purpose if necessary.

Perform a load test on your website

A load test simulates website traffic with virtual visitors. This is a real test for your hosting provider and how much your server can handle simultaneous visits without slowing down. Loadimpact is a tool that offers this service for all kinds of engineering.

Under a stress test with a load testing tool, you can view how well your website performs and see if your WordPress is slow. After which you can make educated decisions on what steps to take to improve its performance.

7 Reasons Why Your WordPress Is Slow

Several factors can make you ask the usual question – Why is my WordPress site so slow? It could be backend or hosting-related issues, frontend optimization, or the WordPress admin. In any case, they all contribute to web pages loading slowly and the overall quality of the site. This section discusses seven possible reasons why a WordPress site might load slowly and how to fix them.

Why Is My WordPress Site So Slow?

Unoptimized plugins

Plugins are a core part of the WordPress ecosystem. To that effect, WordPress is home to 59,000+ plugins. These plugins provide in-house and out-of-the-box functionalities for millions of websites running on the platform. 

Some of the plugins on WordPress are poorly coded. They drag down site performance and result in WordPress loading slowly. Having these types of plugins installed is destructive because you don’t notice until your traffic starts plummeting.

However, you can have dozens of plugins installed on your WordPress without jeopardizing performance. To do that, you need to ensure the plugins are well-coded and optimized for performance. Our guide to picking plugins for WordPress site(s) is a great place to learn about plugin selection.

Additionally, keeping unused plugins slows down your WordPress performance. As a rule of thumb, don’t install plugins until they’re necessary. If you’re having second thoughts about your need for any tool, you probably don’t need it yet. Delete all unused plugins, find replacements for bloated plugins, and prune your plugin collections regularly to make sure you don’t have more than one plugin that does the same thing. If you need to replace a plugin, ensure that it is reliable, efficient, and well-maintained.

Slow WordPress themes

Themes define the graphical interface of a WordPress website. They are indispensable. As a result, they impact website performance and user experience depending on their quality.  Some themes can have beautiful user interfaces but contribute to webpages and even your WordPress loading slowly because of feature bloat. You don’t want these, you want speed and beauty in one theme.

To ensure that you’re not jeopardizing aesthetics for speed, list the features your website needs. If you already have too much, make a plan for what stays and what goes. With a clear picture of your needs in mind, research and narrow down your theme selection to the ones that your taste ultimately helps you achieve your business goals.

How do you choose a fast WordPress theme? Simply select a theme with clear feature descriptions and functional features. If you already have a theme installed and looking to change it, make sure to test it in a staging environment before going live.

Additionally, it is also important that you update your theme regularly for performance. Pay close attention to the activity of developers on the theme, and perform extensive testing if you think a theme might be the cause of increased page load times. Try editing the styling approaches if it’s supported to render critical CSS only on initial load, and delay the execution of non-critical JavaScript if necessary. If anything, ensure that your website plugins are just the ones you need and don’t have multiple themes lying around, they all take up space on your server. 

Unoptimized multimedia content (images and videos)

Truth is, rendering images can cause layout shifts, and especially if the image size is large, it takes longer to load on a web page. Regardless, both occurrences hurt the Core Web Vitals and decrease the quality of your site. How do you optimize your images without compromising quality?

The image format you choose to use on your web pages also plays a huge role in the loading time of web pages. The recommended image format is WebP. WebP is smaller in size compared to JPEG and PNG guaranteeing faster page speed without significant loss in image quality. However, it’s not unusual to need to stick with a certain image format.

10Web Booster uses lossy compression to reduce image file size and ensures that images fit their containers through its container-specific image-resizing. It converts all images to WebP, reducing image size, while the original format is backed up to safeguard smooth operation within browsers that don’t support WebP.

You can use other image compression tools like TinyPNG and JPEG mini as well to reduce the file size and resize without losing quality. However with 10Web Booster image optimization is automated, and you do not need to optimize any image manually before uploading it to the site.

Another speed-favoring option is to serve images with CDNs. This ensures faster delivery and seamless rendering without jeopardizing site speed for image quality. With 10Web Booster Pro and its Cloudflare integration, all images will be automatically served from the Cloudflare CDN.

Your website hosting provider

Honestly, It all starts with your hosting providers. And yes, this is related to your WordPress backend. Regardless of the optimization techniques you implement, if your hosting is not effective, you’re swimming in a swamp(you don’t want to do that). 

Your website hosting provider is responsible for serving your website content to users. If it’s not capable of handling concurrent website visits without slowing down, you’d experience a major drag on your website’s performance. Some of the factors that affect the efficiency of your hosting provider include:

  • Allocated resources:

The hardware resources available on the server where your website is hosted determine how quickly it processes incoming and concurrent requests as well as how fast it responds. If your hosting provider is not using the most efficient storage, hardware resources, or caching mechanism, your site speed will suffer.

  • Operating environment:

Primarily, this depends on your hosting plan. If you’re using a shared hosting environment(which is not advisable), you’re one step behind. This is because the server resources are never optimized for you leaving you with a slow WordPress backend in most cases. And, if a neighboring user on the server plays a rough game, it affects your website too.

  • Content serving technique:

Caching and compression have become popular techniques for serving website

content fast without any tradeoffs. Your hosting provider determines whether or not you use this feature to optimize your site performance. And, depending on your hosting plan, also determines how much of the server resources are allocated to you.

Clearly, the only solution to a hosting-related problem is an affordable, fast, and reliable hosting provider. Thanks to 10Web, there’s a hosting service that guarantees a successful website venture. 10Web WordPress hosting gives your website a PageSpeed score of 90+ with an automated optimization solution starting at $10 per month. You can migrate your WordPress site using one-click migration to 10Web WordPress hosting.

Absence of Content Delivery Networks(CDNs) to serve content

Content Delivery Networks(CDN) are a network of servers in geographically different locations acting in place of a parent server and serving the same content to all users. Practically, the closest server to your geographical location responds to your request instead of your original server. This bridges the physical distance between a visitor and your server and saves some seconds in the round-trip to the server, improving your site speed.

CDNs also provide other valuable benefits:

  • They store the cached version of the original webpage making it readily available upon request without building the code. Excellent time-saving technique!
  • They optimize content delivery by default. Most CDNs now use the Brotli compression technique. With Brotli compression, you’ll get files that are 14% smaller in JavaScript, 21% smaller in HTML, and 17% smaller in CSS than GZIP. Light files transferred, less time taken, less time taken to execute in the browser, excellent step towards frontend optimization.
  • They decrease server downtime by staying available even when the main server is down.
  • They provide security with firewalls for prevention against attacks. This is particularly important as WP sites are primary targets for hackers.
  • Chiefly, CDNs reduce the load on the original server extending its resource durability.

Without CDNs, not all your users will benefit from your website hosting’s speed. If the website server is in Europe, a user from a distant part of the earth will suffer the round-trip time to the server because of the physical distance. 

Cloudflare CDN is our recommended option at 10Web. With Cloudflare Enterprise CDN, Time To First Byte(TTFB) becomes less than 50ms! 10Web Booster Pro subscription includes  Cloudflare Enterprise CDN to deliver client website content to its visitors with greater speed and security. With the use of CDN and its wide interconnected network of servers, 10Web lessens the distance between the website server information and that of the visitor’s browser by locating the server nearest to the visitor. 

Using older PHP versions

Is your server running the latest PHP version? Well, if it isn’t, that’s a probable reason why your WordPress is slow. Of all the server-side components, it is imperative to run the latest PHP version so you get the performance benefits and bypass unexpected errors that come from using older PHP versions.

However, it is not unusual to use a lower PHP version because of an important plugin that you don’t want to lose. This is understandable because your PHP version affects the plugins running on your WordPress site. Even at that, a lot of plugin developers are not trading legacy compatibility for performance. 

Several plugins still support PHP 5.6, but a good number of them are increasing the minimum version to PHP 7 for performance and the unexpected errors that come with using older PHP versions. Your best shot is the latest version – PHP 8.1 (note: At the time of this article was written, PHP 8.2 was released that comes with a few percent performance improvement compared with PHP 8.1. However we advise you to wait a couple of months to make sure top plugins and WP core are fully compatible with PHP 8.2) .

The support base for PHP 8,1 has grown with more plugins and themes looking to speed up their load times and relevance in the market. The chart below shows the speed benchmark for the various PHP versions.

The chart graphically and numerically explains that WP is 48% faster with PHP 8.0 (8.1 is even faster)  than with PHP 5.6 and 1% faster than with PHP 7.

The increased speed and security that comes with using the latest versions of PHP reduce the risk of getting hacked. The software vulnerabilities might not be from PHP or WordPress itself, but from the plugins that still provide support for the lower versions of PHP. If anything goes wrong on their end, there’s a ripple effect on your website too.

Your PHP version is dependent on your hosting provider and whether or not you change should be dependent on the plugins, themes, and add-ons that you use to run your website. If they support a higher version of PHP, flip the switch and be confident in the security of the underlying software your business is running on.

In that respect, 10Web hosting uses the latest PHP version and allows you to change it in a few clicks. In addition to that, the free staging environment can be used to test your website to ensure stability before pushing it to the live environment.

No caching (page and file caching, a must-do for WordPress)

Caching in WordPress is a technique used to store static versions of a website in a temporary and fast access memory called a cache. Without caching, every website visit hits the server, increasing the load on it. A cache serves webpages without requests to the server, saving valuable seconds during the request round-trip, database queries, extra load on the hosting server, and reducing Time to First Byte(TTFB). What type of cache should you use?

Page and file caching are used to store requested resources(HTML, CSS, JS, images, etc) on the first request for use on subsequent requests by other website visitors. To understand this better, let’s analyze it practically.

Visitor A requests the home page of your website, and the hosting server builds the code, returns the result to the visitor’s browser, and stores the result on the server. Visitor B requests the home page, but the server doesn’t build the code again, instead, it serves the previously cached page.

See the beauty? You get impressive site speed which is good for page speed metrics, user experience, and SEO. However, there’s a caveat. Simple page caching should not be used for webpages where the content needs to be unique to visitors or dynamic. A good example is an e-commerce storefront webpage. More advanced device – cookie-aware caching and session-aware caching should be used for such webpages .

Now, how do you enable page/file caching on your WP site? The WordPress plugin repository has some plugins to handle caching for your WordPress site easily. WP Super Cache, W3 Total Cache, and 10Web booster are recommended plugins that offer great features. However, WordPress users need to employ other frontend optimization techniques with WP Super Cache or W3 Total Cache. 10Web Booster, on the other hand, implements frontend optimization techniques like image optimization, critical CSS generation, and JS delay by default.

With techniques including smart cache invalidation, device and cookie-aware caching functionality, session-aware caching, and browser-aware caching, 10Web Booster optimizes page rendering effectively.

Additionally, to reduce load times, 10Web uses backend or server caching for websites hosted on 10Web to cache everything from pages to feeds to 301-redirects on subdomains for the websites hosted on the platform. It also makes use of NGINX FastCGI Caching, the quickest page cache solution, which gives you control over which pages are cached and guarantees that pages are fetched as quickly as possible.

Caching also improves the Largest Content Paint(LCP), First Input Delay(FID), and many other metrics, which are crucial for optimal website performance.

Why Is My WordPress Admin Dashboard So Slow?

As with a WordPress website, the cause of a slow WordPress admin is unique to your site. This article explains how to speed up WordPress backend including the admin panel.

5 Tips to Fix Slow WordPress Quickly

1. Keep your WordPress site updated

Impact: Medium

Easiness to implement without 10Web: Medium

Easiness to implement with 10Web: Medium

This is a general word of caution for all WordPress users and site builders. Newer WordPress versions come with bug fixes and optimized approaches to manage your website. Taking the time to update your WordPress site and rectify inconsistencies regularly ensures that you’re keeping up-to-date with the latest changes and enjoying its benefits. 

If a plugin/theme is on a version that’s incompatible or unoptimized with your WordPress version, your WordPress site will load slowly. 

To update your WordPress version:

  • Log in to your dashboard
  • Click Dashboard
  • Select Updates from the dropdown
  • Look for a heading that says – An updated version of WordPress is available
  • Click the Update Now button.

Note: During the update, your site will be in maintenance mode for approximately 10 minutes. In this mode, your site will be unusable. Back up your site before running the update(can be done by activating 10Web backup).

2. Consider using lazy loading

Impact: High

Easiness to implement without 10Web: Hard

Easiness to implement with 10Web: Easy

Lazy loading is a technique or a set of techniques used to delay the immediate rendering of images and other multimedia content as well as iframes until they’re needed. This technique is useful in website speed optimization because it decreases page load time.

If you visit a website where images load when they come into the screen view, that’s lazy loading in action. Websites with heavy media content can leverage this technique to speed up page load time significantly.

10Web Booster uses three techniques to implement lazy loading:

  • Browser-native technique
  • Lazy loading using lightweight vanilla JavaScript
  • A jQuery plugin for lazy loading.

However, you don’t need to choose which one to implement; the algorithm does this automatically without additional configurations.

These techniques ensure seamless UI rendering by avoiding conflicts with themes and plugins. The default option, the browser-native technique, lazy loads all images and excludes images in sliders. It also lazy loads images in <img> tags and background images added with CSS.

In aggregate, it is important to understand that the time taken to render an image is dependent on its size. And, the file size can make web pages load slowly. Therefore, lazy loading is only suggested as a frontend optimization technique, it is highly recommended if you intend to speed up your website.

3. Minify, combine and compress CSS, HTML, JS, and other files

Impact: medium

Easiness to implement without 10Web: Easy

Easiness to implement with 10Web: Easy

To understand why it’s essential, you need to understand how code is written. 

Developers are urged to write code that other developers can read and understand. Because of that, they use spaces, indentations, and a bunch of other syntactical sugar depending on the programming language. However, the browser and server don’t need to read your code. They compile and execute the code so far it follows the programming language paradigm, rendering the spaces and indentations useless. These spaces contribute to the size of the files, adding extra delay when your hosting server transfers the files to a visitor’s browser; on getting to the server, the same processing of unnecessary spaces happens, wasting valuable time and increasing page load time.

The compression and minification of the source code strips off all the spaces, unnecessary empty lines, and other components that add no functional benefit to the webpage display to reduce file size. With this, the time taken to retrieve the files from the server, execute the source code on the browser, and everything in between significantly diminishes. Yet another boost to website speed and rendering. Combining several style and script files into one reduces the number of requests and overall page load time, CLS, TTI and other metrics.

The importance of compressing website resources cannot be over-emphasized. However, the compression mechanism used also matters. 10Web Booster plugin minifies and compresses CSS, HTML, and JavaScript files, enabling quicker download and execution time. Additionally, 10Web Booster uses Brotli compression for sites hosted on 10Web which compresses JavaScript files 14% smaller than GZIP, HTML files 21% smaller than GZIP, and CSS files 17% smaller than GZIP, providing a highly effective speed boost.

4. Delay non-critical styles and scripts

Impact: High

Easiness to implement without 10Web: Very hard

Easiness to implement with 10Web: Medium

This frontend optimization approach obeys the principle of priorities. It’s a matter of executing what you need at any point in time. Dynamic websites use a lot of styles and client-side JavaScript to include out-of-the-box functionality that breathes dynamism into web pages. However, the initial load of a webpage doesn’t require all add-ons. The scripts and styles that are not necessary are categorized as non-critical. Since they’re non-critical, they can be delayed or executed after the webpage renders. Examples of these add-ons include social widgets, trackers, ads, popups, and anything you consider secondary. 

Additionally, you don’t manage the non-critical components of your WordPress website. They could be poorly designed and contain an execution sequence that slows down your site speed making improvements and fixes that fall outside your control. For these reasons, they are an important aspect of your website to look into regularly.

In practice,  you often can’t defer all additional styles or scripts: you delay them. Delaying ensures that non-critical styles or JavaScript are not loaded or executed until the webpage is completely parsed. With this approach, you level up your page speed and still benefit from the out-of-the-box functionalities the third-party content provides.

Another essential part of delaying non-critical website components is taking note of the critical styles. Critical styles are required to load the visible top parts of a webpage. If delayed before execution, it reduces the quality of the website and its Core Web Vitals. For clear decision-making, make critical CSS inline to ensure that the visible top parts of the page(above-the-fold) are loaded; loading secondary add-ons come after complete webpage rendering. 

10Web Booster does both critical CSS and JS delay for you and manages the most common exceptions (for example, which script should not be delayed). In rare cases, you may need to add some exceptions manually, which is why the ease of implementation with 10Web is medium. However, both critical CSS and JS delay are very hard to accomplish without 10Web as they require advanced frontend development skills. You can ask for support from the 24/7 chat if you have any difficulty implementing these techniques.

5. Optimize WordPress database

Impact: Low

Easiness to implement without 10Web: Medium

Easiness to implement with 10Web: Medium

The WordPress database contains data needed by a website’s content management system(CMS). WordPress creates 11 tables by default to store elementary data needed by any website. They include

  • wp_users – stores the list of users on a WordPress project.
  • wp_usermeta – stores meta-information about users.
  • wp_posts – stores data for website pages, posts, and other content.
  • wp_postmeta – stores metadata about the posts in the wp_posts table. 
  • wp_comments – stores comments. 
  • wp_commentmeta – stores metadata about comments in the wp_comments table. 
  • wp_links – creates, and stores links in the dashboard menu. 
  • wp_options – stores options set in the admin settings area. 
  • wp_terms – stores the list of tags and categories for all posts and links.
  • wp_term_relationships – stores the relationship between a post, its category, tag, links, and other metadata relating to it. 
  • wp_term_taxonomy – Stores a taxonomy label in the wp_terms table. Taxonomy refers to a category, link, or tag. 

The plugins installed on your website sometimes create tables they need to operate in your database. Thus, you will always have more than 11 tables in your WordPress database as your website grows. The bulk of the data stored, however, will harm the speed of database queries and, consequently, the speed of your website if the database is not routinely optimized. Hence, your WordPress database needs to be optimized.

To optimize your WordPress database:

  • Deleted outdated and unnecessary information(pages, posts, drafts).
  • Delete post revisions. WordPress keeps track of changes made to pages, posts, and drafts, and all of the information and metadata regarding these entities, are stored in the database. Occasionally deleting old post revisions will free up space and reduce the time spent during data retrieval from the database.

You can also set a limit for the number of post revisions stored by adding the code below to your wp-config.php file.

“`define(‘WP_POST_REVISIONS’, 10);“`

Setting a revision limit ensures that as new post revisions are added, previous post revisions are erased.

Additionally, you can manually optimize WordPress databases using the PhpMyAdmin software offered by your hosting company. This strategy is outside the purview of this article and has additional performance quirks. Some plugins, however, are made to optimize databases. For this use, WP Rocket, WP-Optimize, and WP Sweep are great recommendations. With a few checks and clicks, these plugins allow you to execute database optimization from your WordPress dashboard.

Note: If you’re opting for plugins for your WP database optimization, stick to one. Using multiple database optimization plugins can cause redundant operations and conflicts.


If you got this far, you’d agree that there’s no one-size-fits-all solution to any WordPress optimization problem. Every website is unique, even if it exists in a saturated niche. It is critical to rationalize any speed optimization decision against the overall purpose of your web presence and how you want your users to feel about your business venture. It’s all about the user, it starts with them and ends with them.

The reasons why your WordPress is slow and how to solve them have been discussed at length and can serve as a reference when making specific improvements to your site.

In conclusion, with 10Web, making the suggested improvements is an easy and mostly automated experience. 10Web WordPress hosting implements frontend and backend optimization with mouse clicks. Our all-around optimization plugin(10Web Booster) also helps with automated PageSpeed optimization. The pro version (10Web Booster Pro) comes with Cloudflare CDN. All these without switching to 10Web Hosting. Get started for free. 


What affects WordPress site speed?

A lot of things can affect WordPress site speed, they include slow themes, slow plugins, the hosting provider, and unoptimized multimedia content.

Do plugins make WordPress slow?

Unoptimized plugins do. Good plugins don’t.

How many WordPress plugins are too many?

A maximum of 20 is fine so far they’re necessary. However, only install plugins when you need them; and uninstall unused plugins.

Is WordPress slower than HTML?

WordPress is a content management system, and HTML is a markup language. WordPress websites and themes render HTML on the browser. Thus, this is not a valid comparison. To figure out why your WordPress is slow, read the article above.

Why is my WordPress slow after migration?

Your hosting provider could be a probable cause. If it’s a hosting provider that uses the latest frontend and backend optimization techniques like 10Web, it should. Migrate to 10Web with one click.

Want to speed up your website instantly?

Speed up your website instantly

Share article

Leave a comment

Your email address will not be published. Required fields are marked *

Your email address will never be published or shared. Required fields are marked *


Name *