Having a slow website can be bad for a number of reasons.
Sites that take a long time to load are given less favorable treatment by Google and as a result, receive less visitors from search engines.
The second reason, and perhaps the most important reason, is that slow WordPress sites are bad for your user experience. This can result in a high bounce rate.
“A bounce is a single-page session on your site. In Analytics, a bounce is calculated specifically as a session that triggers only a single request to the Analytics server, such as when a user opens a single page on your site and then exits without triggering any other requests to the Analytics server during that session.”
This is all well and good, but speeding up your WordPress website can be difficult. There are lots of popular caching plugins all promising amazing results, while many of them will just break your website.
Well, we’ve saved you the hard work and have given you a simple, easy to follow guide for speeding up your WordPress website the easy way, so you can get your site loading quickly in under 2 seconds.
Load time vs page speed score
First things first, stop looking at your page speed score, it’s useless!
Every page speed grader has different criteria for scoring a website, usually from 1-100. None of this actually matters. Some of the stuff page speed tests advise will break your website, other stuff is just not possible.
What actually matters is how long your site takes to load. This all Google and your users care about.
How to measure WordPress load time
If you’re looking to speed up your WordPress website, the first thing you need to do is figure out how fast your site is.
There are a number of free tools you can use to do this, but not all free tools are created equal.
Pingdom – Winner
Pingdom have a free page speed tool that provides a simple page speed score for your website, but more importantly, an accurate load time measurement.
Out of the big three page speed tools, I have found Pingdom to be the most reliable. Pingdom provides a reliable score for your website including the load time which is the only metric that matters.
Our website scores between 1.3-1.7 seconds on average in Pingdom, which is pretty good. It’s not quite a 1 second load, but we are constantly growing and expanding our website, and maintaining the speed of your website is an ongoing task.
I recently reduced our site load time from between 4-5 seconds by following the steps laid out later in this guide.
The second most popular WordPress site speed tool, is GT Metrix. This tool is less accurate than Pingdom but is useful for getting detail on where you could make improvements to your WordPress site.
As you can see, GT Metrix suggests our site load time is 12 seconds, which doesn’t really make sense and after testing our site load time across multiple devices and browsers, is not accurate.
Google Page Speed Insights
This used to be a really useful tool, but they changed it recently and it is now useless as far as I’m concerned.
After plugging in our website, I was very confused. Check out the below results.
20 second time to interactive? You can see why I question the accuracy of this test. The only reason I would recommend using this tool, is that you might be able to get some easy to implement speed improvements by looking at the opportunity section below your score.
Turns out I’m not the only one who feels this way about Google’s Page Speed Insights, read why Google Page Speed doesn’t matter.
How to speed up your WordPress site
Now on to the fun part, speeding up your WordPress website. Just a note, if your score is already around 1-2 seconds, you will likely see small improvements and not huge decreases in load time.
To achieve scores of 1 seconds and below, you would need to be using a custom theme without any page builders and minimum plugins.
Install WP Rocket
WP Rocket is a WordPress caching and optimisation tool and is the best of its kind on the market. We’ll be using WP Rocket to apply optimisations to speed up your WordPress site. You can purchase the plugin from the WP Rocket website, then install it on your site.
Back up your site
Before you carry out any caching or optimisation on your website, you should perform a full backup. You can do this using your cPanel, or a tool like ManageWP.
If your live site receives substantial traffic or live customers for ecommerce, I would recommend carrying out your speed optimisation on a Staging environment before trying it on live.
Speed optimisations can be tried and tested safely on Staging, without impacting your live visitors negatively. You’ll need to disable password protect used on your Staging environment briefly for the page speed tools to be able to score your site (make sure to re-enable it after so that your Staging site is not inadvertently indexed by Google, or discovered in error).
Record a baseline score
Although I’m sure you already may have whilst reading this guide, perform page speed tests across Pingdom, GT Metrix and Google Page Speed Insights (or just Pingdom) and record the scores before you start optimising so that you can track your improvements.
As you follow the below steps, to measure your progress you will need to periodically run Pingdom page speed tests and test your website regularly to make sure nothing has broken.
To do this, open your website in an incognito window in Google Chrome and check your site after enabling each option within WP Rocket. Alternatively, I found that clearing the cache and cookies on my phone and viewing my website in an incognito window after every fix was the most accurate way of testing that my site was not breaking.
You may also need to regularly clear the WP Rocket Cache and OP Cache which can be done from WP Rocket > Dashboard. If you have a server cache, that may also need to be flushed.
Enable mobile cache
We will progress through WP Rocket step by step testing and enabling settings to measure the performance on your site.
The first step is to enable Mobile Cache and if your site uses HTTPS, turn on caching for HTTPS.
Optimising the files on your website can yield significant improvements for load time. To start with, implement the below actions and then test your site.
Sometimes, it appears as though no breakage has occurred, but you could still be viewing an old cached version of your site. Be certain before you push anything caching and optimisation related live by flushing all caches multiple times, and having someone else check your site in an incognito browser just to ensure you aren’t viewing anything cached by your internet network.
For media rich WordPress sites, this section can be an important part of the optimisation process.
Lazy Loading of images and iframes does what you might expect. It allows the images on your website to load in the background, while the rest of the page loads quickly for the user.
This might not necessarily show the greatest gain in a page speed test, but it is a huge improvement for useability on media rich sites, as it doesn’t create a super slow loading experience when viewing galleries, media rich homepages, or pages that contain high resolution imagery.
The more complex your site, the more care you need to take when applying caching and optimisation settings. For a most simple websites, you should ideally be able to apply all or most settings in the Media section.
Scripts like Google Analytics and the Facebook Pixel should be loaded locally to further speed up your WordPress site.
Tick these two check boxes to shave a small amount off your page load (every little helps) by loading your Google Analytics script locally from your server rather than having to load it externally via a third party script.
Now that we have optimised the files of our website, it’s time to look at our images. Large high quality images usually have a relatively large file size and can prevent your WordPress website from loading quickly.
To optimise your images, install Imagify on your WordPress site and follow the instructions to create an account. Once you have an account, grab your API key and plug it in by accessing the Imagify plugin in your WordPress dasboard.
Once Imagify is connected to the account you just created, all that you need to do is use the Bulk Optimizer, which will compress all of the images on your website.
You will probably need to upgrade to the paid Imagify Lite plan, which is $5 per month, to optimise all of the images on your website.
This is well worth it and a tiny investment for the page speed improvements it can yield across your site. If you regularly upload new imagery to your website, it might be worth keeping the Lite plan active and running the Bulk Optimizer once a month, if not just upgrading for one month should be enough and you could just downgrade your plan after.
Disable intensive plugins
Not all plugins are created equal. Some will slow your WordPress website down and suck up all the resources your website needs to run effectively.
For example, Contact Form 7 is an intensive plugin and will affect your load time. Finding an alternative like WP Forms would save you some load speed, or even better Elementor’s built in new form module would save you an extra plugin.
You can use GT Metrix Y Slow results to see which plugin files are CPU intensive and slowing down your website, you could also do some Googling for CPU intensive WordPress plugins and check that you aren’t using any on your site.
As well as disabling intensive plugins you should also look for where you can disable and remove plugins across your website, or perhaps substitute a plugin for some custom code, to reduce the amount of scripts that have to be loaded on your website.
Use a CDN
Please note that using a CDN requires changing your nameservers. This can break emails and existing connections to your domain. Please check with your developer or host before doing this.
Content delivery networks speed up your WordPress site in a number of ways. They serve your website to visitors from data centers that are local to them (someone in France goes through a French data center and doesn’t have to wait for a server in the UK to respond).
Cloudflare, which is the CDN we would recommend, also offers another layer of caching and some other free tools to shave off precious load time seconds.
You can easily activate the right Cloudflare settings by going to Add-Ons in WP Rocket and connecting Cloudflare to WP Rocket.
Load Google Fonts locally
Something you can do for ‘extra credit’ is to load any Google Fonts locally, from your server, instead of by loading 3rd party scripts from Google to render them.
There’s a nifty little tool called Google Webfonts Helper, which allows you to download the source files for any Google Font, so that they can be embedded on your website and applied using @font-face.
Click on the font you want to download, specify the sizes and weights then download the font in a zip file. You can even customize the folder prefix for where the fonts will be stored on your site, so that the CSS for embedding the fonts on your site has the right file path and saves you manually entering this across potentially dozens of lines of CSS.
Always be optimising!
Improving your WordPress site speed is an ongoing process and as your site grows it will require continuous optimisation.
New plugins will be added, and they could cause conflicts with your caching setup, or could slow your site load speed down considerably.
If you are adding new images and pages to your website, make sure to compress the images and check the load speed of these pages.
Remember to focus your efforts on load time and ignore those pesky page speed scores, as how quickly your site loads is all that matters!