Hosting Tutorial & Guide

The Top Reasons Why Your WordPress Site Loads Slowly?

updated on Dec 23, 2014
The Top Reasons Why Your WordPress Site Loads Slowly? A self-hosted WordPress site usually runs more and more slowly as time goes by. Do you know the reason? Generally speaking, the reasons can be divided into 2 parts: server-side issues and your own mistakes. Between the 2 kinds of causes, the website owner, in most cases, takes the main responsibility for the slowness of the WordPress site.

We have dug into the causes of slowness carefully. The top reasons listed below are the most common problems that lead to slowness. If your WordPress site loads slowly, you can check these problems to figure out whether there is a simple resolution for your site.

Too Many Plugins

Great customizability is one of the biggest advantages of WordPress as the numerous plugins give you easier control over every aspect of your site. However, every time you install a new plugin, it inevitably slows your site down. If you have tens of plugins on your site, there is no wonder that your site is slow, not to mention that the plugins many include some poorly coded ones.

Solution: Plugins are good to use, but for the sake of performance, you should make sure that you are only using the ones that are absolutely necessary. For example, you'd better run no more than 1 SEO plugin. Besides, you should delete the old plugins that you no longer use and keep the needed ones up-to-date. Do not just deactivate them because they can still affect the speed and leave the site open to security vulnerabilities.

No Cache

No cache Caching is something that makes a temporary snapshot of each page and post of your site and gives it directly to your visitors instead of querying the database. Using caching will result in your pages and posts being delivered to visitors much quicker and the load on your server being significantly reduced.

Without caching, every time someone visits your site, you pages or posts are showed only when the queries has been executed. And if you get a sudden traffic spike from the search engine or social networking like FaceBook, your site can be extremely slow or even encounter downtime because most shared hosting is unable to deal with the large number of queries made by the traffic.

Solution: Resolving this issue is not so difficult due to the availability of some helpful WordPress plugins. Here, we recommend W3 Total Cache and WP Super Cache, both of which have millions of downloads and powerful features.

Web Hosting Slowness

Your web hosting package is a crucial factor which can affect the performance of your WordPress site. Most personal and small business site owners choose to purchase shared web hosting packages with which their sites share resources with thousands of other sites. In this case, your site can be slow because of the over-consumption of some other sites on the same server.

The hardware, software and technology a web host uses also matter a lot. If you are with a bad web host who only purchases cheap hardware, uses old versions of the important software and doesn't adopt or develop any needed technologies, your site can never load fast.

Solution: To solve this problem, firstly you should get clear knowledge on the size of your website. If it’s a small personal blog, a shared hosting package is enough, and in the event that it is used to build a business and now has a large traffic, a virtual private server or even a dedicated server is what you need.

If you have no idea which to go with, we suggest you to choose one from the following listed options. Even, you can go for this award page to get more recommendations

Updates Needed

If your site loads slowly, it might be an alert that you should do some updates to some aspects of the site like WordPress itself, the database and some plugins. Some web hosts don't automatically update the database, so when WordPress has been updated but the database is still running the old information, WordPress may have some issues and takes more time to process things.

Updates Needed As for plugins, they always get updated when a new update of WordPress comes out, coming with changes in the inner core of the programming. If you don't update the plugins, there may be some errors and unknowns in the system.

Solution: When you log into the admin panel, you will see the available updates of database, plugins and something else, then you can simple update them to the latest releases. The update of WordPress itself is not a problem with most web hosts who provides 1-click installers because they always update WordPress to the latest version automatically.

Too Much Traffic

Undoubtedly, every webmaster expects large traffic to be driven to the sites. Do note that too much traffic could be a reason why your site is slow. Having lots of traffic means that your WordPress site is using many resources. When you hit the limitation of the memory and storage of your web hosting package, your site can load really slow or even be suspended for over-consumption.

Solution: If your site is on a shared server, you should consider upgrading to a virtual private server which gives you much more guaranteed server resources. Or if your site is already on a virtual private server, you need to look at the usage statistics on your server and upgrade those resources which are getting close to the limits. When a VPS cannot meet the demands of your site, you will need a dedicated server.

Apart from the introduced trouble-shootings to speed up a WordPress site, there are some other easy and useful methods as following.

Use Lightweight Theme

Use a proper theme The WordPress theme you are using may have a large influence on the speed of the site. It is better to adopt light themes with simple codes and few images or those themes updated frequently. Or you can purchase a premium theme built on prominent frameworks.

Remove HTML Tag Inline Style & Script

Remove all CSS style or JavaScript code block from the web page explicitly. Instead, referencing standalone CSS/JS files with all the style and script is a preferable way. The standalone CSS/JS file can be cached by the web browsers or proxies so that the repeated visits don’t need to download them again. This can also save the bandwidth of the web host.

Remove HTML Tag Inline Style & Script

Use DIV for Layout

The easiest way to lay out a web page is using TABLE certainly, but it damages the web page loading speed significantly. It’s not about the data bytes downloaded from the server, but the way the web browsers rendering TABLE tags.

Almost users like to get the web page displayed gradually, but impatient waiting for the complete load once. Unlike DIV, TABLE tags are rendered only when all inner tags are loaded into the web browser. So, with the TABLE used for layout, web page is displayed only when the whole page downloaded from the server. It’s visually slower for users to get the web page.

The typical code snippet for layout using DIV+CSS is as following.

<div class="container">
    <div class="left-slot"></div>
    <div class="middle-slot"></div>
    <div class="right-slot"></div>
div.container { width: 960px; }
div.left-slot { float: left; width: 15%; }
div.middle-slot { float: left; width: 65%; }
div.right-slot { float: left; width: 20%; }

Reduce the Number of HTTP Requests

When a person visits your website, besides the necessary website files, a lot of other files are also loaded in his/her browser, such as the images on the web page, CSS files, JavaScript libraries and custom font files. These files ensure the design to be complete and attractive, but at the same time, they impact the site performance negatively.

The solution is to move everything unnecessary away and only include the required files. Under this circumstance, it is better to utilize an image sprite - a collection of images put into a single image- to reduce the number of server requests and save bandwidth. In this way, it significantly improves the web page loading speed.

Take an example. A web page has 40 images and using over 100 IMG tags to display them. That means the web browser has to send over 40 separate HTTP requests to the server to load all of them. CSS Sprite is to combine all images into a single image. The web page only sends one HTTP request for all images, and renders different images using background-image and the offset.

Traditional Way
<div><img src="/images/banner.jpg" width="600px" height="120px" alt="Banner" /></div>
<div><img src="/images/showcase.jpg" width="200px" height="200px" alt="Showcase" /></div>

CSS Sprite
Combine 2 images together as following sample.
Image CSS Sprite
Write HTML and CSS in a different way as following code snippet.

Reduce the Number of HTTP Requests

Optimize Images

Too many large images always result in slow speed. Before uploading images, you would better resize them to the smallest resolution you need and compress them as JPEGs in a proper quality level. Once the images are uploaded, you can make a further optimization by using a helpful plugin like WP This plugin runs automatically to optimize every image you add to a page or post.

Defer Parsing JavaScript

Unlike CSS/Style, parsing and loading external JavaScript files blocks and slows down web page rendering. There are two principles that you shall follow in web page development.

Defer Script Block
Try to defer the declaration of script blocks as later as you can, even putting all Script blocks at the end of web page instead of at the beginning. In this way, the browser can get everything loaded quickly before getting started with the scripts which prevent any other contents from being downloaded.

A well-designed web page can display almost correctly to end users without script errors and layout issues, when all scripts may be interrupted. The scripts are only used to enhance web page in the design, but not be the prerequisite to display web page. And keep in mind that delivering content to visitors is the first and most important task, and people would not care about anything else if they have not got what they want, after all.

Lazy Load Scripts
Defer loading external JavaScript files has better performance than explicitly declaring SCRIPT tags for the reference. The following code snippet is the traditional way to reference a JavaScript file.

<script type="text/javascript" src="/scripts/site-core.js"></script>
<script type="text/javascript" src="/scripts/site-features.js"></script>

"Defer Loading" is to use JavaScript code to inject SCRIPT tags into a web page dynamically when the document is ready, as following code snippet.
_lazyLoadScripts = [];

// Assumed that jQuery library has been loaded before the following script.
jQuery(document).ready(function ()
    if (_lazyLoadScripts && _lazyLoadScripts != null)
        for (var i = 0; i < _lazyLoadScripts.length; i++)
            var scriptTag = document.createElement('script');
            scriptTag.type = 'text/javascript';
            scriptTag.src = _lazyLoadScripts[i];
            var firstScriptTag = document.getElementsByTagName('script')[0];
            firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag);

The typical issue on "Defer Loading" is that there is no guarantee on the script dependency. If you dynamically inject 3 script in order - A, B, and C. You shall ensure C doesn't depend on A and B. Otherwise there may have JS errors for some end users.

Yes, there are many other tips which can optimize web page loading speed, but these 5 handy tips are most efficient in the optimization in my opinion.

Adopt a Content Delivery Network

The location of visitors matters much in the page loading speed because the further they are from the server where the visited site is on, the longer they need to wait before the web page shows completely. A CDN (content delivery network) can help much in this aspect by distributing the content to the servers in dozens of data centers around the world. With such a service, visitors always gain better browsing experience by downloading the cached files from the data center that is geographically closest to them.

Use a Content Delivery Network Some web hosts like BlueHost offer free CDN services in their shared and VPS hosting packages. If you need a more powerful one to speed up your site, you should check out some paid services like MaxCDN.

Script At The Bottom

Usually, users may add some scripts like Google Analytics and some interaction or advertising networks on the sites. If you have the choice to put them to the header or the footer of your theme, you had better add them at the bottom. Then the important contents can load first to visitors as quick as possible and those files required for interaction will show to visitors later.

Optimize Database

Optimize the WordPress database Optimizing the database is an effective easy to speed up a WordPress site. The whole process can be easily done with the help of a plugin named WP-Optimize and some others with the similar functionality. This plugin allows users to optimize it without phpMyAdmin and clean up those unused contents in the WordPress database, including the unapproved comments, auto draft posts and post revisions.

Minify CSS and JavaScript

Minifying and packing CSS and Javacript helps reduce the number of HTTP requests, so that the corresponding files can be sent to visitors in a shorter time. The process sounds complicated, but you do not need to worry about it because there are some awesome WordPress plugins can help a lot, such as JS & CSS Script Optimizer.

Delete Spam Comments & Post Revisions

Both spam comments and post revisions can slow down WordPress sites. Every time you save a new post or page, WordPress creates a revision of it. To solve this problem, you can install a plugin like Revision Cleaner to wipe out revisions automatically. For spam comments, you can remove them manually, or you may also need to get help from a bulk delete plugin like Bulk Comment Remove.

Special Note

In fact, before finding out the site problems, there is one thing to do – testing the speed of your WordPress site which can be done with some free tools. This deed does not help speed up the site, but it helps analyze the loading speed and point out the specific issues that need to optimize. Furthermore, this practice can help you know which speeding-up way is the most effective one.

In below, there are top 5 online tools for website speed check on the basis the real users' voices. Let's have a comprehensive look at the details as follows.


As a useful website page speed testing tool, GTmetrix supplies a set of features and options for users to optimize the websites' speed quickly and easily. Besides, it adopts YSlow and PageSpeed to grade the performance of your website and gives its suggestion to fix. It keeps track of your page's performance and keeps a record of your history by 3 interactive graphs. It needs to note that GTmetrix can allow you to take a look of the page performance on the actual Android device so as to improve the site's speed on the mobile devices.

What's more, this tool can analyse your page loading time from many regions around the world, including Dallas, London, Mumbai, Vancouver, Sydney and much more. This tool enables you to have a video of the page load so as to figure out where the bottle-necks and stop-pages are. In addition, one of its most outstanding features is that GTmetrix can alter you in time when the page falls below one certain condition that you have set before.

Best Online Tools for Website Speed Check - GTmetrix


Pingdom is a free and helpful tool that works to analyse and optimize the loading time of your site. This tool can also help you identify what kind of web pages are slow or fast and identify which practice that you should follow. Besides, it is able to examine all parts of one web page by viewing loading times, file sizes, and other details involved in one single element on the web page.

Moreover, Pingdom is able to provide plenty of performance-related information or statistics for you on the basis of the real test results along the time. This tool supports tracing your performance history so that you are capable of reviewing and understanding how changes occur over time. Additionally, it permits you to test how fast your website loads from multiple locations such as Europe and United States. By using this tool, you are also allowed to share the performance test result with friends or colleagues.

Best Online Tools for Website Speed Check - Pingdom

Load Impact

As a free tool for performance testing and loading test, Load Impact has been widely used and acknowledged by a lot of webmasters and developers. In addition, it claims to simulate the exact traffic that would happen without any hidden caching. This tool is powerful enough to generate load from 10+ different locations simultaneously for users.

What's more, this kind of tool can keep a record of an HTTP session by using the Chrome extension and proxy recorder so as to let the simulated users perform in the meantime. Moreover, it gives full support for any HTTP-based services or applications including Ajax, Flash and XML apps and so forth.

Best Online Tools for Website Speed Check - Load Impact


YSlow can analyse and give recommendations on the slow web pages on the basis of Yahoo!'s rules, which means that this tool can grade your own website pages according to the user-defined or pre-defined rule set. In the meantime, it gives support for summarizing the page's components so that you can deeply understand what the problem is.

Additionally, YSlow displays its users with statistics and information about the web page so as to give all-rounded review on the web performance. In terms of its available tools for analysing the web page performance, it offers bountiful tools for users such as the well-known JSLint.

Best Online Tools for Website Speed Check - YSlow

link Vendor

As one popular and useful tool used for website checking and testing, it has countless useful features in store. In details, it offers the web page analysis on the site's data volume, average speed, size without HTML and size with HTML.

Apart from those mentioned above, it can also estimate a web page loading time so as to give a full display of the estimated web page loading time by different Internet connections. Last but not the least, this tool enables you to have the separated analysis reports of images, JavaScript files or CSS files and so on.

Best Online Tools for Website Speed Check - Rapid Search Metrics