In this post I am going to show you how to massively speed up your WordPress website!
Load times have a huge impact on your website visitors, and also on Google search rankings.
If your site is slow, visitors will hit the back button.
If it is fast, they smile and stay for a while.
In fact a few studies from the likes of Akamai and Gomez.com, highlighted on Kissmetics have shown:
Nearly half of web users expect a site to load in 2 seconds or less, and they tend to abandon a site that isn’t loaded within 3 seconds.
So aiming for 2-3 seconds for your load times is critical.
I have tried all sorts of options, plugins and hosting companies and more, all in the name of improving WordPress website load times.
One example I played around with was my marketing business website EnticeOnlineMarketing which achieved the following:
This means that a new visitor will get the home page in 1.3 seconds and then 0.6 seconds on future visits.
Note: Because this site is on shared hosting, this speed can fluctuate by one second or so. To really solve this issue you need your own dedicated hosting or server.
This post/guide is broken down into sections, in order of what I have found to be the most important.
Each section shows you the things you can do to improve the load time of your WordPress website.
Some of them are very simple, others are a little more technical. And the great thing is, many of them are free too.
So take a look and see what you can do to make your website go like a rocket!
You do not need to do them all, or all at once. Just choose a section and work your way through it.
The top sections will give you bigger results.
Note: In each section I give you the information to achieve the results I have, and/or point to relevant detailed how to guides to help you apply the changes to your site too.
The first thing we are going to look at is Caching.
Why? Because it is an easy way to save load time on your website.
And we are all a little lazy at heart, right? so why not get the big wins out of the way first!
Caching creates copies of your pages after they have been “assembled” by WordPress.
Sound confusing? Assembled? What is he talking about!
Well, your pages and posts are made up of many parts, files, plugins and data. And each time a page or post is visited your WordPress code has to do some work to put it all together.
So by creating a fully assembled copy and showing that to your users instead, your site can load a whole lot faster.
You have probably already heard of or used some of the WordPress caching plugins available like:
If you just want to enable simple caching, go with WP Super Cache. It is not as good as W3, but for beginners it is easy to setup. There is just one option to enable on the homepage of the plugin – enable caching.
I have used this plugin a lot in the past, but after a lot of research and testing found the W3 Total Cache is far more powerful and boosts your website even more.
So if you are up for a little more tech stuff, read on and reap the rewards…
The great thing about W3 Total Cache is that it does more than just create a copy of your pages. It also enables you to use many advanced features that speed up websites. The ones that I use include:
Each of these features can save you even more time when loading pages, so they are worth using. But some of them can “break” your site, so watch out.
It is beyond this post to show you how to install and use W3 Total Cache, but if you are interested in learning how to do it you can take at the following video:
I use another plugin to do this, which reliably minifies the these files. It is called Autoptimize.
If you check your site before and after you do this, using something like Page Test, you will see the number of files severely reduced and instead just one js and one css file for your website instead (unless they are loaded from another url like google).
This is one of the best ways to speed up your website.
One of the next best ways to speed up your website after sorting out the caching (either the simple or complex version) is to use a CDN.
Basically, it is a bunch of servers spread around the world used to store copies of your files. In this case, copies of your website’s pages, files, images and so on.
So when a visitor goes to your website, instead of loading your files from your server, the CDN will provide the same files from the closest server to the visitor. You can imagine that this kind of service can really boost a website’s speed.
Doesn’t sound relevant to you? Imagine loading files from across ocean. My site is in Europe and you are in the USA. That can really slow things down.
If you are sure all your relevant visitors are in your country (and so is your server) then you can safely ignore this. Otherwise read on…
So what CDN options available to you?
Note: Head over to this post for a detailed comparison: MaxCDN vs Cloudflare
If you are just starting out with CDNs, CloudFlare is not a bad option to try. It is not the one I recommend for the best performance and speed improvements, but it is free. And they also offer some security protection by acting as a buffer between your site and the rest of the world.
Setting up CloudFlare is relatively simple as far as setups go, but rather than explain it, I recommend you take a look at this 4 minute video to see how easy it can be.
From my experience, CloudFlare does offer some speed improvements but I recommend MaxCDN to my clients for even better results.
MaxCDN provides a bigger speed improvement to your website and can be easily integrated with W3 Total Cache. In fact, if you are going to use MaxCDN, please use W3 instead of WP Super Cache. There is a specific section in the set up to enable Max CDN.
MaxCDN is a little trickier to set up but not extremely complex. Give it 5 minutes of your time because the results are worth the wait.
Even my Mom had great results!
All you need to do is
Here is a step by step walk through of:
The biggest killer of website speed is usually images.
Images are big. And, people (No, not you. The guy next to you!) often use images that have not been optimized for the web.
Doesn’t sound so bad, right?
But here is the deal. Images can be the largest part of a page. And some images, like ones from your camera can be Megabytes in size!
So when you do not optimize them, you are forcing your visitors to load large files for no reason.
So images that you take on your camera (or borrow from websites) are usually 10x larger than they need to be. Good quality images are a waste of time on a web browser. You only need images of 100kB or less. Instead, most that you take on your camera are many many Megs!
Hint: Most of my images are between 20-120kB.
OPTIMIZE YOUR IMAGES!
Thanks, Ashley (I hear you saying), but how in the name of Santa Claus do I do that?
There are two main parts to optimizing an image:
Resizing images can be done with almost any image program. I use Pixlr online because I can access it anywhere, anytime (not offline of course! you got me there.). It also enables me to crop images to remove any unwanted parts, and do some quick contrast and color balancing.
Of course you could use any tool you like, and if you need some more options you can check out this post I did last year with a huge list of options.
Remember that you are putting this image on your website. So it
For example, when I upload an image into a blog post, I make it 400px x 800px (optimal for Pinterest).
Note: It will already be in the right format (2:1 length to width) for Pinterest, because I use a template in Canva
If you want a full width image for the header of a post, then you might want it to be a bit wider: 700-800px (depending on how wide you posts are in your WordPress Theme.)
By simply changing the size of the image, you are already going a long way to reducing the file size, and speeding up the load time of your page or post.
You should always be compressing images before you upload them to WordPress. It will save you lots of space and load time.
Almost all programs for working with images have a compression that you can apply. It makes the file smaller by removing useless information in the image. (don’t ask how, unless you have a degree in Mathematics!)
In Pixlr it is applied when I save the image, and I choose about 65% for compression. Any less than this number results in a loss in quality.
So play around with the amount of compression when you save your images to see what still looks acceptable.
This is another easy win for reducing image file size and speeding up your website.
The last step you can take to reduce image sizes in WordPress is to use either of the following image optimizer plugins:
I used to use Smush.it a lot . It is a nice little tool developed years ago by Yahoo. It basically removes the last useless data from an image. By using their plugin you can apply their Smush.it algorithm to previously uploaded images or new images and reduce their size a little bit more.
But recently, I started experiencing some issues with Smush.it. Sometimes it was blocked/not working, and would result in an image not being uploaded at all.
And even more importantly: when I compared Smush.it with Kraken.io I nearly fell off my chair!
Where Smush.it removes a few percent from the image, Kraken can sometimes reduce image size by 2/3.
Here is a screen show of some images I uploaded from my other website Entice, while I was optimizing that site in preparation for this post. Crazy!
By using the Kraken.io plugin, and buying a small about of credit (around $9) you can reduce all images on your website, and give your visitors even more pleasure! A faster website.
Using Kraken on your website is actually quite easy, all you need to do is:
Kraken also have a FREE manual version of their optimizer you can try on their website. It is great if you want to see the results on a few example images you have lying around!
This method is ok for a few images, but definitely more time consuming than the plugin. So if you are serious about optimizing all your images, go with the plugin.
Another cool trick you can use to load your website even faster is to use a technique called: Lazy Loading.
It comes from the IT world, but don’t worry, you can just use a plugin and switch it on :> It’s called “lazy” for a reason.
Basically what Lazy Loading does is load images when you need them. This means – when the user sees them on the screen and not before.
So if you have multiple images in your post or page, only the ones at the top (visible part) will load first. Then as the user scrolls the next ones will start to load.
The result: Your pages load faster, because the images are only loaded when they are needed.
There are quite a few plugins you can use in WordPress to simply enable this feature, and I have listed them below. The only one I have tested personally is BJ Lazy Loader. And the last two don’t have many reviews on WordPress which means they are not heavily used.
If you have experience with any of the above, please let us know in the comments so others can learn from your good or bad experience!
Once you have tried all of the above on your website (Caching, CDN, Image Optimisation) you still might find your site is not running like a dream machine. That’s when it is time to take a look at your website hosting.
Your website hosting company is the foundation of your website, and in a lot of cases it can make a huge difference to your website load times.
Google and your visitors will love you if you site is fast, and your hosting is one of the keys to achieving this! Because not matter what else you do, if you hosting sucks, then your site will always be slow!
I have recently moved to Traffic Planet, and they are insanely fast!
I nearly fell off my chair when I tried them. Of course it costs a little more, but it is worth it.
Why are they so fast?
They are a reasonably priced hosting company that offer more than their competitors and along with some other great benefits such as:
With these great features and low prices, they compete with most of the cheap shared hosting companies.
However, if you have a small sit, are less concerned with performance and want to save a few dollars, then Bluehost is another hosting company I use. They are my second choice.
Whoever you choose, compare the services and costs/benefits before making a decision because this is a crucial choice for your website’s future and speed.
We are now entering the realm of the “nice to have” website optimizations.
You will read many articles on the web telling you to reduce or remove your WordPress Pugins. Or even “less plugins is better.”
Don’t always believe what you read!
I have over 20+ on my site, and still get load times on shared servers of 2-3 seconds (for a first load) and under 1 second for subsequent visits (more on what this means later).
So in my humble opinion, you need to take this advice on “less plugins” with a big grain of salt. (and maybe some fries!)
The Problem: The idea of less plugins is great. However It is actually not the number of plugins that is the issue, but how well they are programmed, where they are used (admin, or all pages) and what they do.
The Solution: So rather than panic about using less plugins, when you really need quite a few of them to run your website and business, I recommend you simply test them and see which plugin, if any, are slowing you down. Then decide if it is an issue and whether you should remove them.
This will show you
That means that you can isolate and determine whether it is a specific WordPress plugin that is slow.
Whether this is an issue for your site or not, I recommend you run this occasionally to see if you can optimise your WordPress site. It is not the most crucial part of speed optimisation (images, hosting, caching are more important usually) but it is certainly worth doing.
Moving on to one of the last small optimisations you can do to your WordPress website: Database Optimisation.
Your website is running with a database which stores your pages, posts, comments, links and much more. And as you write blog posts, WordPress aves copies of the post periodically (auto-save) or when you choose to save it.
The Problem: lots of copies of your post drafts sitting in the database.
Not only that, but any unwanted (spam, trash) comments or trackbacks are also stored in the databse just taking up space.
Although this may not seem like an issue, it makes it harder for your website to run smoothly and quickly. Each time you need to get a post, the database needs to sort through all the versions to find the one it needs.
The Solution: Install and run the WP Optimize plugin on your WordPress database and remove all of this junk!
How: There is not much to using this plugin, but I have pasted a screenshot below to show you what options I use when running it on my websites.
Like the Plugin Optimization above, this is unlikely to be the main speed issue with your website, but it is certainly worth doing periodically as it will result in some minor speed improvements.
And believe it or not, they all add up in the end.
When you are fixing up your website and making it faster than the speed of sound, you need to be able to see how you are going.
There are a couple of sites I regularly use to test website speeds and they are:
These two sites are very powerful, but for this post I also want to mention a far more comprehensive and useful test from a tool that even Google uses. It is called the web page speed test and it tests your site loading in a couple of ways that are crucial:
The result is that this is one of the most accurate tests I have found and really shows you what is happening in terms of load time.
I also combine it with one of the other tools mentioned above to get a detailed overview of what is happening on my websites.
Having a fast loading website is critical in keeping your visitors happy and making sure they wait around to read your amazing content.
There are lots of things you can do to make your site load faster. And some of them are quite easy, and even free!
So make sure you check out how fast your site is loading (initial and second load) and see what improvements you can make.
Ashley is obsessed with SEO and WordPress. He is also the founder of Mad Lemmings. When he is not busy helping clients get higher on Google he can be found doing crazy sports in the Swiss Alps (or eating too much chocolate - a habit he is trying to break).