A few weeks ago, I was digging into some WordPress speed/performance resources and ended up going dow the rabbit hole of how to speed up WordPress sites. After reading for what literally days on the subject, I wondered – what if I do a case study on speeding up this site?
Long story short, I did it, and if you are after the quickest (and best) fix without reading the whole article, here it is.
But if you want to know how to do it without paying that small price, then read on…
Before I got started, I did even more research and came up with 26 ways to speed up WordPress sites/blogs. They are all listed below.
To make this case study more accurate, I've also mentioned which tweaks I used and which I didn't.
After implementing some of the stuff in this post, I managed to reduce my homepage loading speed from 4.23 seconds to 1.33 seconds (without changing my host)!
Before the changes
After the changes
FYI, I'm not bluffing here. I especially asked one of my web developers to follow the steps listed in this post.
If you want, check out your own site speed via Pingdom tool too, just go here: tools.pingdom.com/fpt/
I know by now you are probably craving info on ways to speed up your WordPress, but first – read this:
Why should you speed up WordPress anyway?
It seems like my homepage loads only three seconds faster than before, but here's the ugly truth. Did you know that…
- one second delay in your site's load time can cause a 7% loss in conversions?
- … And a 11% loss in page views?
- … And a 16% loss in customer satisfaction? Do I need to go on?
I'm not kidding here, by the way. Actual research findings confirm these lousy numbers.
What this means in plain English is that you need to be very careful not to kill your site's results with something as trivial-sounding as loading times.
Quite simply, if your website fails to load quickly enough, the visitors will go back to the competition almost immediately. And they will likely never come back. Plus, search engines like Google have also confirmed that they take page load speed as a ranking factor.
Ready to speed up your WordPress site?
26 ways to speed up WordPress sites
- Pick the right web host
- Keep WordPress updated
- Keep plugins updated
- Remove the plugins you don't need
- Perform plugin performance scans
- optimize image file sizes
- Minimize your homepage design
- Resize large image dimensions
- Use a caching plugin
- Optimize your database
- Monitor your site security
- Lazy load images
- move scripts to the footer
- Regenerate thumbnails
- Use a content delivery network (CDN)
- Enable gzip compression
- Disable hotlinking
- Remove sliders from your design
- Hook up to Cloudflare
- Switch to a faster theme
- Disable pingbacks and trackbacks
- Use CSS sprites
- Disable post revisions
- Remove Gravatar images
- Delete spam comments
1. Pick the right web host
This is no.1 on the list not without a reason. Having your website hosted with the right company is the biggest factor contributing to your overall site speed.
Hosting companies are basically like car manufacturers – they all offer different speed and performance. For instance, a case study done at DB revealed that the difference in the hosting company alone can account for even a 56% change in your response/loading times.
So here's what you need to do to stay on the light side of the force:
- choose a hosting company with a good reputation,
- choose a server that's near the geographic location of your target audience.
When it comes to former, I'm not the guy to tell you which host to choose. Do your own diligence and if your site gets more than 30k monthly visits, it's probably time to move onto Dedicated or VPS. I'd pick HostGator or Siteground.
Another thing is the server's location. If possible, choose the server location that' nearest to your target audience. The reasoning is quite simple – the closer the server is, the faster your website can be delivered.
MY CASE STUDY: I didn't change my host – otherwise my test would have been too inaccurate.
2. Keep WordPress updated
WordPress updates get released quite often. New major versions come out every 152 days on average, but smaller updates appear much more often (around every 50 days if I remember correctly).
In short, it's crucial for you to update as soon as a new version comes out.
Every new update comes with new improvements and new optimizations, thus making your site quicker (and safer, too).
MY CASE STUDY: I always try to keep my WordPress updated, so luckily I didn't need to make the update.
3. Keep plugins updated
The same thing goes for your plugins. Every new plugin update carries new improvements, not to mention security fixes.
So again, whenever you see a plugin update notification, act on it.
MY CASE STUDY: I had 3 plugins out of 15 outdated, so I updated them.
4. Remove the plugins you don't need
Once you're done updating plugins, it's a good idea to reconsider even having some of them in the first place.
Let's face it, not every plugin is an absolute necessity. You can probably do without a big portion of them.
Need a reason to do so? As it turns out, plugins often contribute to over 86% of your total load time. At least that's what happened on one of my sites:
MY CASE STUDY: I removed 4 plugins that were inactive.
5. Perform plugin performance scans
Okay, with some unnecessary plugins out of the way, now let's talk about poorly performing plugins.
Under the hood, plugins are basically small pieces of software. And it just so happens that not all plugins are built with optimized and well-structured code. Some of them are simply poor.
You can measure the performance of your plugins with another plugin – called P3.
The thing to do is scan your site regularly. If any plugin starts acting wonky, find a quicker alternative over at WordPress.org (there's always something).
MY CASE STUDY: I ran the scan and noticed that plugin named BackWPup was really heavy. Thus I removed it.
6. Optimize image file sizes
Did you know that most of your website's bandwidth is consumed by images?
For instance, the original 13 chapters of The Art of War, when saved as a text-only version, takes up only 63KB of disk space. Again, that's the entire Art of War.
You know what else takes up 63KB? This one single image right here:
There's 3 things you can do with your images
- You can install a plugin named Imsanity which will resize large (dimension) images being uploaded
- You can re-size your images that are WAY too big by using this cool site – bulkresizephotos.com
- Optimole – This can lower the size of your images for more than 70%. They have a free version which will be more than enough for most sites
- (Recommended) Use WPRocket which pretty much covers this and everything else in this guide
MY CASE STUDY: Since my homepage is aimed for people who are are learning to start a blog, I couldn't resist less than 20+ images to describe the whole process.
Sadly, this made my homepage size to 7,2MB! But after following the 3 steps above, I managed to get it around 2,5MB – far from perfect, but almost 3x times lighter than before.
7. Minimize your homepage design
Minimalism is the new black.
Especially when it comes to homepages on WordPress websites.
Here's the reasoning:
Basically, the more elements you have on your homepage, the more time it will take to load them. And as it turns out, you really don't need much on your homepage anyway. Some of the most successful sites on the web have very simple homepages.
Example by Slack:
Why? Less is more. Less is more understandable. Less is easier to grasp.
MY CASE STUDY: I didn't minimize my homepage. Although one image can tell a 1000 words, I just can't keep my blogging guide so short.
WordPress plugins that will improve your performance
I'm not a BIG fan of plugins since in my opinion, they are vulnerable and often slow down your blog, but some of them can really do wonders in terms of speed and performance.
8. Resize large image dimensions
Imsanity: Imsanity automatically resizes huge image uploads. Are contributors uploading huge photos? Tired of manually scaling? Imsanity to the rescue!
Settings done (Settings > Imsanity):
To get your content's maximum width:
Inspect your website (Right click, then “Inspect Element” – I'm using chrome), then find your site's content and hover over it, you'll see the width.
Then do a Bulk Resize Image on Imsanity Settings:
MY CASE STUDY: As mentioned earlier, I DID use that plugin.
9. Use a caching plugin
Caching is a complicated and quite boring concept. But in a nutshell, it speeds up your site by storing the last known version of the site, and then delivering it to the visitors, instead of forcing WordPress to generate a new one on the fly … more or less.
Basically, the only thing that any one of us needs to know about caching is that it works and that it's an impressive improvement.
For instance, in a case study at yuiblog.com, we can see that introducing browser-side caching can reduce load times from 2.4 seconds to even 0.9 seconds.
Want results like that? One of these plugins (but never more than one at the same time):
MY CASE STUDY: I use WPRocket caching plugin as it is the easiest to use, and quite frankly it is the best in the industry. This plugin can REALLY speed up your blog. Especially when you're using a shared hosting account. If you use one of the first 2 options, make sure you check the manual tutorials, because it's really easy to mess everything up.
10. Optimize your database
Don't be afraid, this involves no coding work at all. Optimizing your database is a fairly simple thing, and it can have a big impact on your site speed.
Quite simply, over time, the database that WordPress uses to run your website will get crowded and messy. So every once in a while, you should use a plugin like WP-Optimize to clean it up automatically, but WPRocket does this also.
MY CASE STUDY: I optimized my database since my site is getting quite large with over 300 pages of content.
11. Monitor your site security
Wordfence is a nice plugin that helps you put basic security in place, and overall keep your site healthy. It performs a range of scans and monitors what's going on on your site, notifying you in case there's something fishy.
Sometimes, your site slows down because of malware or other nasty things. Wordfence saves you from those.
MY CASE STUDY: I'm not using WordFence, but I've only heard good things about it. If you are a bit paranoid, feel free to install that plugin.
12. Lazy load images
Sticking with the topic of images for a minute; another thing you can do is “lazy load” them. The idea behind this is to show images only once the visitor scrolls down the page to actually see them. With a lazy loading solution, the images aren't getting loaded until that very moment.
MY CASE STUDY: I set it up on WPRocket, and it's one of the biggest game changers for site speed. The only downside is that when the visitor is scrolling your site and the image pops up, it will be loaded as they get to it (not before). I find this is pretty much a non-issue, especially when you take into account that load speed is very important to visitors anyway.
13. Move scripts to the footer
14. Regenerate thumbnails
This is something worth doing whenever you change your theme to a new one. Most themes use different thumbnail sizes. If your previous thumbnails – for the images uploaded in the past – aren't optimized, they will take up more bandwidth.
You can fix that with a plugin called Regenerate Thumbnails.
MY CASE STUDY: I did install and activate Regenerate Thumbnails. You can also remove the thumbnails that you're not using. Once you are done with it, you can simply deactivate.
Your WordPress website is a fairly complex creature. It consists of a range of files and data rows. One way to make it work faster is to minimize the number of those files, thus minimizing the number of requests that your visitors' browsers need to make to fetch the site.
MY CASE STUDY: Since I'm not some WordPress guru – I used to ask an experienced web developer to do it at first, but now I let WPRocket take care of it.
Technical fixes to speed up websites
16. Use a content delivery network (CDN)
A CDN is meant to take all the static media files that you have on your site (usually images and other uploads) and distribute them across a network of servers for faster delivery to your audience.
Hooking up your site to a CDN can result in your site loading much, much faster and also result in reduced bandwidth consumption.
Use Key CDN for maximum results (they are great alternative for Max CDN or StackpathCDN), or use a free cloudflare CDN with WPRocket
MY CASE STUDY: I'm using a free Cloudflare CDN through WPRocket to speed up my site. It was turned OFF when I ran the speed test. For average WordPress users – it's not essential. But if you're running a site like Mashable or HuffingtonPost – it's probably a MUST-HAVE.
17. Enable gzip compression
Another thing you can do to speed up your site is set up what's called gzip compression. It is a fairly technical process, but it's been well-documented across the web, so you should be able to get through it by following the steps.
In short, gzip compression is about making the size of the files that comprise your website smaller – so they can be delivered to your visitors faster.
MY CASE STUDY: I didn't have it enabled when I did the test, but WPRocket can do this also.
18. Disable hotlinking
Hotlinking is what we call a situation when another webmaster attempts to display an image on their website by linking it directly from your website. This puts additional load on your server.
You can disable hotlinking altogether by following this guide.
MY CASE STUDY: While this can speed your WordPress site/blog – I felt that the advantage I can get from hotlinking doesn't overweigh the speed issue.
19. Remove sliders from your design
Sliders may look cool, but they aren't a valuable addition to your site on so many levels.
First of all, they don't work as a conversion/design/business tool.
Also, they tend to take a lot of time to load.
The easiest fix is to remove all sliders you have on your site, and replace them with either static images or something entirely else, like an opt-in form.
MY CASE STUDY: I absolutely HATE sliders, thus I didn't need to remove them.
Optional fixes to help speed WordPress up
20. Hook up to CloudFlare
As I said, you can do this with WPRocket which makes the setup a lot easier.
CloudFlare is magic. At least for me. I mean, I find it hard to understand how something as simple to set up as CloudFlare can have such an impact on your site performance.
People report results upwards of even -44% shaved from their page load times.
In a sentence, CloudFlare is an integrated CDN, optimization, security, and analytics solution. It filters the traffic that your website gets and makes sure that actual visitors get faster experience, while attackers are kept at bay. The setup is about five minutes and anyone can do it (there's a free plan available).
MY CASE STUDY: This is something I have in place as I feel it is a major factor in speeding up your site.
21. Switch to a faster theme
This isn't always possible, especially if you're using a custom design, but you should still at least consider it.
Some WordPress themes are much slower than others due to various factors. Usually, the overabundance of features is to blame (the more features there are, the slower the theme).
So the trick is to use a WordPress blog theme that has all the features that you absolutely need, and nothing that you don't. You can find quality free themes in the official directory, as well as some alternative directories.
MY CASE STUDY: I have a custom designed WordPress theme built on Genesis (which has a pretty clean code), so I didn't change my host. But believe me, there some great themes like Astra that are abnormally fast.
22. Disable pingbacks and trackbacks
Pingbacks and trackbacks are a fairly confusing feature in WordPress. You can read about them on the official pages, but basically, it's WordPress' way of communicating between other WordPress websites. The downside though is that these days, pingbacks and trackbacks are mostly used for spam.
Disabling them all together is a quick fix that can speed up your site, as the WordPress software doesn't have to deal with them any longer.
Do this by going to your wp-admin: Settings / Discussion, and deselect the option labeled “Allow link notifications from other blogs (pingbacks and trackbacks) on new articles.”
MY CASE STUDY: I disabled them. Why? There's not much advantage you can get from them except spam.
23. Use CSS sprites
Normally, your CSS is arranged in a manner that fetches a number of individual images and then serves them in various parts of your site design.
A more optimized solution, however, is to have one large image, in which all the previous images are arranged next to each other. This is a CSS sprite. Here's some more info on this method.
24. Disable post revisions
Post revisions are a great functionality in WordPress … for some people. For others, it's a totally useless thing.
In themselves, revisions allow you to go back to any previous version of a given post. This gives you a possibility to restore it in case you've mistakenly erased something you didn't intend to erase.
However, if you always stay with the latest version of your content and don't revert back to anything, revisions won't be of much use to you.
If that's the case, consider disabling them altogether. This can be done by editing the main wp-config.php file of your WordPress installation. Add this line somewhere at the bottom:
define( 'WP_POST_REVISIONS', false );
MY CASE STUDY: Some of my posts had more than 200 revisions. I limited them to 5 revisions.
25. Remove Gravatar images
Gravatar is the default way of handling comment avatars in WordPress. A very cool feature in itself, but it can have an impact on your site speed if your posts receive a lot of comments.
This is simply a result of your site having to display tens of avatar images. You can reduce this load by disabling those Gravatar images completely.
Handle this is your wp-admin: Go to Settings / Discussion, and deselect the “Show Avatars” box.
MY CASE STUDY: I think people are more eager to comment when their face is being shown. I am testing this nonetheless moving forward, but during this test, I didn't remove Gravatar images.
26. Delete spam comments
Sites that get tons of traffic tend to get tons of spam comments. Spam comments are all taking irrelevant space. I'm trying to block them with the plugin named CleanTalk, but some of the spam comment slip through.
MY CASE STUDY: I had 4,500 spam comments waiting to be removed – I flushed them down the toilet.
Did I forget any important speed optimization? Feel free to chip in and share your comment below. Heck, I might even test it out and credit you for the awesome tip 🙂
How to speed up WordPress websites: My conclusion
Personally, I feel that the plugins above are great for speeding up your site, but one of the factors is itself not to install too many plugins. The benefits of installing a few plugins, in this case, is overridden by the benefits, but I prefer to use WPRocket as it also checks this box by doing the job of many plugins.
If you don't want to pay the small price for WPRocket, then following the guide above will definitely help. But if you want to make life easy and take your site speed to insane levels then I would definitely take a look at WPRocket.