Is your WordPress site loading slow? Many factors can slow down WordPress, but luckily you do not need to be a tech-expert to fix them. In this guide, I’ll walk you through the most common bottlenecks that slow down WordPress and present a solution to each one.
You can (and should) follow along with this guide even if your site is just for your hobby or if you don’t have any monetization strategy for it. Having a fast website not only is shown to increase revenue but performance also matters to retain users and to get more people to read your content.
As Jeremy Wagner says in one of his articles for Google Web Fundamentals:
“Performance plays a significant role in the success of any online venture, as high performing sites engage and retain users better than poorly performing ones.”
You will find various statistics about how reducing the page loading time helped businesses increase conversion rates in their shops, increase the time visitors spend on their websites, and ultimately added more revenue to their bottom line.
A fast website will help your content get noticed and consumed – and that’s all that matters.
How Fast Is Your Site Currently?
Tools for Analysis: GTMetrix, Pingdom, Google Pagespeed (only use for server response time), “Speed Suggestions” tab in Google Analytics (Behavior -> Site Speed -> Speed Suggestions)
To understanding what slows down your WordPress site, you first need to analyze how fast your site is loading. Therefore we can utilize a number of free tools and services that provide interesting insights into the loading process. By running your site through the platforms I’m about to mention, you’ll be getting an idea of which of the common bottlenecks is slowing down your site.
One of the most powerful tools for analyzing your site’s loading speed is GTMetrix. It’s a platform where you can enter your site’s URL and then get a detailed report on its loading process. I highly recommend you sign up for a free account, as that’ll give you additional information you can’t see as a guest user. Click here to find out how you can get the most out of GTMetrix.
This is an example for my own website, WP Mastery. As you can tell, GTMetrix is showing my site takes 4.6s to load, which is quite long (I’ve got some work to do!). Since I’m logged in as a free user, I can also see the Timings tab. In that tab, I can see that my hosting could be a factor slowing down the site. The TTFB (click here for an explanation) is quite slow, there are entire sites that load within 0.7s!
You can browse around in your GTMetrix report and gather ideas what you can work on to remove bottlenecks from your site.
Pingdom is another speed analysis provider, similar to GTMetrix. You can create similar reports with Pingdom and it’s a good idea to check both tools to uncover bottlenecks. Relying on just one speed analysis report might leave things in the dark, as each platform has proprietary algorithms to check your site.
As you can tell, Pingdom shows the loading time of my site to be 3.62s instead of 4.6s. That’s a difference of 22%! But way more interesting is the part where Pingdom shows the timings:
Even with CloudFlare CDN enabled, the first request shows a waiting time of 1.8s! That’s, of course, a big problem in my current setup. I’m sharing this openly, even though I’m providing WordPress maintenance and speed optimization services. Why? Because I want to show you that everybody, even “an expert”, relies on services being set up properly.
That’s why I’m considering moving to Liquid Web’s Managed WordPress Hosting plan. Their infrastructure is optimized to make WordPress sites load fast and they take the basic maintenance tasks like backups and updates out of your hands too.
As we’re seeing in the first two reports already, your hosting provider plays a big role.
Google PageSpeed Insights
The last tool I want to share with you is Google’s PageSpeed Insights. I want you to be careful with not getting caught up in the scores Google is showing – PageSpeed Insights is a tool for developers only.
My main reason to include it is that it shows whether your hosting performance is a bottleneck. It’s super simple to understand if your server response time is slow or not.
In my own site’s results, you can see that PageSpeed Insights is suggesting to reduce the server response time – confirming what GTMetrix and Pingdom already indicated. I don’t worry about the scores though, as they do NOT reflect the user experience on my site. For example, the “Leverage browser caching” suggestion sometimes is impossible to implement. In my case, Google suggests I cache files that are loaded from Google’s own servers – so I technically cannot cache them.
Getting The Right Hosting
With those three reports at hand, let’s address the elephant in the room – optimizing my server response time and reducing the time to first byte (TTFB). There are a number of steps I can do to get that time down:
- I’ll talk to my hosting provider and ask if they can help me get the site down. Often, hosting providers can tweak their settings a little bit to make your site load faster.
- As I also have the CloudFlare CDN enabled, I’ll talk to the CloudFlare support team as well.
- Lastly, I’ll run a plugin like WP Sweep to clean up my database from old data.
As I said above, having a good hosting plan is quite important and should most often be the first step in making your site load faster. WordPress websites heavily benefit from optimized hosting like the one LiquidWeb is offering. There are certain technical configurations hosting companies can do that let WordPress load faster if their hosting plan is focused on WordPress only. If you have a generic hosting company that allows you to install all sorts of content management systems, those optimizations likely will not be in place.
If your site is part of your business strategy and meant to generate income, hosting is a good place to invest in.
Is Your Theme Slowing Down Your Site?
Another common bottleneck is the theme that you’re using. Themes control the design of your website and their code quality heavily varies. There are WordPress themes that focus on being super-fast and there are themes that have tons of features but sacrifice loading speed for those.
If you find that your theme adds tons of menu items to your WP Admin menu which you don’t use, it’s a good indicator that your theme is more bloated than you need it to be. Even though you like the design, you might want to talk to a developer about rebuilding the site with a theme that’s tailored more towards fast loading times. Often it’s quite straightforward to keep the design while rebuilding a WordPress site with a new theme.
Another good indicator of whether your theme is slowing down your site are the reports we generated earlier.
In GTMetrix, open the Waterfall diagram and check for the resources that are loaded from your theme’s folder. You can hover over the individual requests and check whether they have “wp-content/themes/” in their URI. If they do, your theme is generating that request.
In Pingdom, scroll down to the “File Requests” section and enter the word “themes” in the filter. This section is more comfortable to use than GTMetrix’s Waterfall diagram and gives similarly detailed information.
In this case, both tools show a reasonable amount of files being loaded from my themes (parent and child theme). They don’t take up much data nor cause any reasonable delays to my site’s loading time, so I know that my theme is set up properly. The only thing that’s worrying me a bit is the waiting time (bright yellow in the Pingdom report). Seeing in proportion, it’s way too long – so that’s another reason to talk to my host about it.
If you see that your theme causes too many requests, there are a couple of steps you can take to fix it (run new speed analysis after doing each step and make sure you have a backup in place):
- If you haven’t already, install a caching plugin.
- Enable file minification and combination for CSS and JS files. Be careful here and ensure to test your site’s frontend after this step! Especially combining CSS or JS files can break your layout.
- Use the caching plugin to load JS files asynchronously or extend your theme to load JS async/deferred.
At this point, you might be asking yourself what files to load asynchronously. PageSpeed Insights is showing you exactly which files you should work on! Head over to the report and check the “Eliminate render-blocking resources” suggestion:
If you haven’t done these steps already, this should already fix a common bottleneck. The three steps outlined above will not just fix the files from your theme but will also tackle plugin files. Especially when you’ve enabled file minification, start loading selected files asynchronously and started combining CSS / JS files, your site should load reasonably faster.
Are Plugins Slowing Down Your Site?
Once you’ve followed the steps outlined above to optimize your theme, it’s time to analyze the plugins you’re using. Go ahead to the three platforms GTMetrix, Pingdom and PageSpeed Insights and run the reports again. If the steps were executed correctly and weren’t in place before, your loading time should already have gone down quite a bit.
Let’s see if we can uncover more bottlenecks in your plugins. Firstly, check in with your hosting company if any plugin is taking up more server resources than others. A good web host will be able to check if any plugin on your site is slowing down the server. Some plugins are known to be quite resource-heavy on servers, e.g. plugins for showing related posts, plugin packs like Jetpack, or security plugins that scan your site for malware in the background.
The fastest way to check if a certain plugin is slowing down your site is to copy your site to a staging version (how to set up staging on LiquidWeb) and then deactivate one plugin after another. After each deactivation, run the speed analysis reports again – the numbers will show you which plugin causes slow-downs.
Obviously, you can also again go through the Waterfall section of GTmetrix and the “File requests” section in Pingdom and check for plugin-related files.
The Pingdom report for WP Mastery shows that not many plugin files are loaded. That’s because I already combine CSS/JS files into single files – but it seems that I missed the “Better Click to Tweet” files. They’re only a few bytes and take up a couple of milliseconds to load. At this point, including them is a question of ROI – I don’t think spending the time adding those files is worth the performance boost. It’ll likely have no measurable effect. However, if you find that certain files take a reasonable time to load, they’re definitely worth optimizing!
Is The Google Bot Taking Up Server Resources?
Another bottleneck that’s often neglected is how often bots like the Google Bot (or bots from other search engines) visit your site to index your contents. Bots can cause heavy server load when they visit your site too often, so if that’s the case, you might want to reduce the crawl frequency.
Maintenance Tasks To Keep Your Site Fast
Lastly, let me mention a few maintenance tasks you want to perform regularly to keep your site running smoothly and fast:
- Keep your WordPress core, themes and plugins updated
- Eliminate unused plugins and themes from your installation
- Regularly clean up your database with WP Sweep or similar plugins
- Off-load tasks like backups and security to third-party services that run on their own servers and not on yours
- Be careful when using plugin suites like Jetpack or big plugins like BBPress, YARPP, and alike.