Website load speed is a key factor that determines search engine rankings of your website — as well as the probability of your visitors making a purchase.
Attention spans get shorter the more we use technology. Everything you have to offer to your customers should be easily accessible to them in a matter of seconds. In today’s busy world, nobody waits for a website to load, especially when there are so many resources available on the global network.
If you’re a site owner wondering, “Why is my WordPress site so slow?” — you’re in the right place. In this article, we’ll review what affects WordPress load speed and how you can address any potential issues to ensure great website performance.
Why Is My WordPress Site So Slow?
The platform has been around for two decades, and there have been a lot of changes in the history of WordPress that make it what we know it as today. The vast majority of website owners have asked this question at least once, “Why is my WordPress site so slow?” Why is WordPress so slow in general as a website building platform? To answer these questions, we need to know how WordPress works to render content.
WordPress relies on database-driven website architecture, which means your website’s database becomes the central part of the content rendering process. Web pages are presented to each visitor by a web server after the requested data is retrieved from the database to dynamically generate an HTML page. Database-driven architecture has become the website building standard which is used in many content management systems and custom web applications. The system provides high reliability and performance.
But if everything is so great about it, why does WordPress load slowly sometimes? The answer to this question is related to the high customization possibilities it provides. With thousands of different WordPress plugins and themes available to the website owners, it is easy to bring all ideas to life. Unfortunately, it can be even easier to overload your website with code built up on top of the WordPress core functionality.
High customization possibilities come with increased complexity and code incompatibility — neither of which benefit website load times.
WordPress is not slow by nature, so rather than asking why our WordPress sites are so slow, we need to understand what makes it slow and how we can use the platform more efficiently.
Why Is My WordPress Website Slow: Top 5 Reasons
Here are the five main reasons behind a slow WordPress site.
Hosting. The amount of hosting resources and how well they are used are of primary importance. All services engaged in the content rendering process need to be properly configured to utilize the server resources.
Core Technology. Updated versions of technology contain improvements that will help better your site’s speed and performance.
Add-Ons Like Plugins and Themes. Bulky, poorly-coded, or infrequently-updated plugins and themes can slow down your site significantly.
Static Content. A large amount of static content served not using a content delivery network negativity impacts the website's performance.
External Resources. Loading external resources such as ads or images can slow down your website if there are too many of them or they take too long to load.
Conduct Web Speed Test
Saying that WordPress loads slowly is a very subjective statement. It does not provide us any additional information about what elements of the page cause slow load times and what can be done about it. The very first step in the website speed troubleshooting process should be measuring load times and understanding what happens after a visitor requests a certain page.
Conduct a web speed test using one of the website performance and monitoring tools like GTMetrix. You will be able to learn what takes too much time during the content rendering process, including the time to first byte (TTFB) which is usually used to measure the time a browser has to wait before receiving the first byte of data from the server.
The main benefit of conducting a website speed test is getting personalized recommendations, so be sure to review the given report carefully. You will see what resources are loaded every time a certain web page is rendered, and how much time each component of it takes to appear.
Set Up Monitoring
Setting up monitoring for your WordPress site can be extremely helpful in tracking downtime and testing website performance. A monitoring software interacts with your website to verify that it works as expected and measures how well the content rendering process works using common performance metrics. Having monitoring tools in place allows you to understand how much traffic your WordPress website can handle before you will need more hosting resources to accommodate the increasing number of requests. The process is fully automated, so you won't need to conduct manual tests, but you will be able to see all the statistics saved to review at a later time and take the necessary optimization steps.
How to Speed Up Your WordPress Site: The 8 Most Important Factors
Speeding up your WordPress website means addressing all existing issues negatively impacting your website load speed and optimizing the content rendering process and current hosting practices. If your Wordpress website is loading slowly, let’s discover what you can do to speed up your site.
Invest in Quality Hosting
When we talk about putting a website online, we can already determine that there are two key components involved — website building and website hosting. Both are extremely important and have almost equal impact on the overall website performance.
First of all, determine what your current situation and the long-term strategy are. Are you running a huge online platform that can not allow any downtime, or are you a small blog owner that does not currently have a lot of visitors on their website?
Depending on your goals and the type of content you host, you need to understand which type of web hosting best suits your needs. Hosting companies offer a wide range of solutions ranging from shared hosting and virtual private servers to enterprise high-availability hosting.
When it comes to hosting, you can not settle for anything less than the best. You need to make sure all hosting resources that come with the chosen hosting type are available to you and used to ensure high website performance. It means that just having resources allocated to your website is not sufficient — what’s critical is how well hosting is optimized for your exact needs and your particular website structure.
Setting up your hosting environment can be challenging. That is where the concept of managed hosting comes into play. Many companies offer WordPress hosting, which is optimized for the platform. Managed WordPress hosting provides other benefits, like having WordPress professionals on the team who can help you get everything running and address any issues that may arise.
Update and Optimize Core Technology
Although WordPress allows for almost unlimited customization, including using it as a headless CMS and choosing another programming language, most of the time WordPress websites work with the same technology stack. Working with WordPress, we use PHP as the programming language, MySQL or MariaDB as the database management system, and Apache or Nginx as the web server.
Using outdated software not only negatively impacts your website performance and increases site load times, but it also exposes your system to a large number of vulnerabilities. Keeping all software updated is a key factor in ensuring high system security and performance, and WordPress is no exception. Slow WordPress sites are almost guaranteed to be using poorly optimized outdated software.
Keep WordPress Updated
WordPress releases regular platform updates to include more features, enhance performance, and address security vulnerabilities. Each WordPress version is a result of development efforts put together to ensure the best functionality possible. So next time you catch yourself wondering, “Why is my WordPress site so slow?” check whether there are any WordPress updates available.
PHP and its Handlers
Make sure you are using the latest version of PHP and, what is extremely important, a modern, well-optimized PHP handler. For example, DSO or CGI are not the best choices, while PHP-FPM and FCGI make great options for strong website performance. They allow you to control the way the server handles PHP and increase the amount of processing power used to accommodate traffic.
Database and Web Servers
The way your web server handles HTTPS requests and how many concurrent requests it can accept and process is of primary importance. If a web server reaches its processes or does not have enough resources available to handle all connections, your website visitors' requests get queued and they’ll experience very slow load times.
The exact same thing happens to database servers. There is a limit on the number of concurrent database connections as well as how much data MySQL or MariaDB can store in the random access memory without having to read from the disk — and this can cause a serious performance problem. Make sure both web and database servers are allocated a sufficient amount of resources and their configuration is optimized for the amount of traffic you get on your website.
Database and web servers also receive regular updates, so make sure you are running the latest versions compatible with other software.
Ensure Security
As we have discovered, performance and security go hand in hand. In addition to keeping all software updated, get into the habit of employing the best security practices. One of the most important things is using SSL on your website.
Having an SSL certificate on your website will allow your visitors to access it securely over an HTTPS connection. Moreover, using encryption with HTTP/3 provides a speed improvement for all modern web browsers. Search engines also give preference to websites secured with SSL, so using it is absolutely necessary.
Manage Plugins and Themes Effectively
WordPress themes and plugins are sometimes blamed as the main reason why WordPress is slow. As we discussed, plugins and themes add complexity to your WordPress site by extending the amount of code executed to load its pages, thus increasing the number of requests for the server to handle.
Not all themes and plugins are well-coded, which already negatively affects your website performance. At the same time, the more code that is added to the website by installing more plugins and themes, the more likely it is for some of its parts to appear incompatible.
Keeping your WordPress fast and secure means you take a mindful approach to the administration of WordPress plugins and themes. Great website performance relies on keeping it simple — just the software you absolutely need should be active at all times. It is not easy to answer the question of how many plugins a WordPress website should have installed, but generally you should conduct regular audits, making sure there are no unnecessary add-ons installed.
Maintain the WordPress Database
The WordPress database plays a huge role in the content rendering process. As we discussed, WordPress allows you to build a database-driven website, which means the vast majority of its content is going to be stored within the database. Reviewing your WordPress database, you may notice that there is a lot of unnecessary content stored there, including post revisions, deleted, unapproved, or even spammed comments.
WordPress addons add content to the WordPress database, including new tables that can still remain there even after a certain plugin has been removed from the website. Unfortunately, a lot of WordPress users are not aware of that and do not perform any cleanup operations after uninstalling plugins and themes. All that can make your database large and unoptimized, which leads to poor query performance, and as a result, significantly slows down your WordPress website.
But it does not end there, as a large database alone does not equal slow website load times. It is not the large amount of data stored within the database, but rather the amount of it that is loaded from the database every time a web page is requested.
For example, the wp_options table, which often gets overlooked when it comes to overall WordPress and database performance, contains all sorts of data that can be autoloaded. All data in the WordPress options table that has the value of autoload set to yes is going to be autoloaded every time any web page is requested. It may sound surprising, but a large log file can also be put there as an auto loaded option, which we have seen happen. The website was not loading at all, immediately using up all hosting resources available.
Enable Caching
In simple terms, caching provides a way to store frequently used data in the way it can be accessed quickly once requested. Your WordPress website pages are dynamic, which means that every time a certain page is loaded, content needs to be fetched from the database and merged with template files to generate HTML. Using caching for WordPress helps save static copies of certain website elements or whole web pages to serve to your visitors bypassing the whole process of dynamic content generation. Depending on the cache type, the system can store compiled PHP code, the results of database queries, or entire HTML pages that were previously generated.
You can use server-side caching solutions like Memcached or Redis cache for storing object cache, combining them with WordPress caching plugins like WP Super Cache, WP Rocket, or W3 Total Cache for page caching. Caching is a great way to improve the overall website performance when you feel like WordPress loads slow.
Optimize Static Content and Use a CDN
The way static content is managed is sometimes considered not that important in terms of WordPress website performance, which is wrong to assume. Images, video, CSS, and Javascript files — all of these are considered static content and can be reloaded from the server every time a request is made.
Use Compression and Lazy Loading
According to different studies conducted, images make up to 20% of a total webpage’s weight on average. Image optimization strategies include choosing the right image format, for example WebP, and using compression techniques. The primary goal of optimizing your images is to achieve the lowest file size possible while preserving an acceptable image quality. The easiest way is to simply compress your images before uploading them to your website. You can use a WordPress plugin to compress the images that have already been uploaded to your media library.
Lazy loading is another great thing to make use of, which allows your website to load non-critical content like images or video only at the moment of need. This can provide a significant performance improvement for sites that include a lot of high-resolution images and embedded videos.
Use a Content Delivery Network
The importance of using a content delivery network is hard to overestimate. Content delivery networks like Cloudflare have a distributed network of servers located all around the world that can serve static content to the end users, reducing the website load times and increasing website security significantly. When certain static content from your WordPress website gets saved to the servers that belong to a CDN, it means that next time a visitor requests it, it is going to be loaded from the closest server to them, ensuring great load times and reliability of the process. Using a content delivery network has proven to provide a great performance boost regardless of the platform a website is built on.
Use Minification
Minification refers to the process of minimizing code by eliminating unnecessary elements like white spaces and line breaks in HTML, JavaScript, and CSS files on your WordPress site. This performance optimization technique does not involve altering the code behavior while significantly reducing the file sizes. While you can minify your website’s code manually, there are numerous WordPress plugins that can automate the process.
Reduce External Requests
Many WordPress sites load some content like ads, stylesheets, images or fonts from external resources which can be beneficial if it's faster and easier than hosting them on your website. Using external resources can generally help reduce bandwidth consumption and improve the overall performance, unless there are too many assets that need to be loaded. An important thing to understand is that you have no control over how fast another website’s content can be retrieved and served, so you need to be careful and perform regular checks to ensure the process presents more benefits than unwanted complications.
Use Hotlink Protection
Hotlinking is the other side of using external resources, referring to the situation when someone else uses your content to load it on their website, therefore utilizing your server resources and bandwidth. Hotlinking can add to your WordPress website slow loading times, so make sure you have hotlink protection enabled to avoid the negative effects of it.
Now You Know Why WordPress Gets Slow
Your WordPress website performance depends on a number of factors, and each of them can contribute to it equally. All factors can generally be divided into two main categories — what content you have, including how well it is managed and optimized, and how effectively it is served.
The first step to improving your WordPress website load time includes a comprehensive audit of your website content, during which you eliminate all factors that negatively impact your website performance. After that, put your efforts into finding the best ways to optimize your current hosting environment to best accommodate your website structure and specific needs.
Get Faster WordPress Hosting With Nexcess
When it comes to website hosting, you cannot settle for anything less than the best.
Nexcess provides fully managed hosting optimized for WordPress, which means better performance combined with the best support in the industry. An enterprise-level application stack with built-in caching and the Nexcess Edge CDN powered by Cloudflare ensure improved scalability and advanced security.
Check out our managed WordPress hosting plans to get started today.
This blog was originally published in July 2021. It has since been updated for accuracy and comprehensiveness.