A few weeks ago, I was digging into some WordPress speed/performance resources and ended up reading Gregory Ciotti’s blog post about 15 ways to speed up WordPress. After reading it through, I wondered – what if I do a case study on speeding up my own site (StartBloggingOnline.com) that is also built on WordPress?
Long story short, I did it.
But before that, I did even more research and came up with 26 ways to speed up your WordPress site/blog. 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 for ways to speed up your WordPress, but first – read this:
Why does page load speed even matter?
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?
25 ways to speed up your WordPress
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 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 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 your 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 your 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 regular 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 your images
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
- You can re-size your images that are WAY too big by using this cool site – bulkresizephotos.com
- Optimizilla – This can lower the size of your images for more than 70%.
MY CASE STUDY: Since my homepage is aimed for people who are are learning to start a blog, I couldn’t resist with 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.
Be my guest and tweet this:
[Tweet “Minimalism is the new black #webdesign #webdev”]
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. Imsanity plugin
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 you content’s max 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 rather impressive, to be honest.
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? Use either of these plugins (but never both at the same time):
MY CASE STUDY: I didn’t use a caching plugin since I’m lucky enough to a have server-wide caching enabled. However, this plugin can REALLY speed up your blog. Especially when you’re using a shared hosting account. Make sure you check the manual tutorial, 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.
MY CASE STUDY: I didn’t optimize my database since my site is relatively small. I’ve only 30-40 pages of content on StartBloggingOnline.com.
11. Use WordFence to monitor your site
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.
The best plugin to make this happen is called BJ Lazy Load. Again, very easy to use.
MY CASE STUDY: Initially I installed it, but I realized that it’s not that user-friendly. Here’s the thing: When the visitor is scrolling your site and the image pops up, it will be loaded (not before), but when it’s loaded the content will be pushed up – which forces visitor to do some additional scrolling.
13. Move all 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 Regenrate Thumbnails. You can also remove the thumbnails that you’re not using.
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 just asked my web developer to do it.
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).
MY CASE STUDY: I’m already using CDN 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 enable it.
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 any 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.
20. Hook up your site to CloudFlare
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’m planning to try out soon, but at this moment – I just feel that it could be an overkill for a such a small site like StartBloggingOnline.com
21. Consider switching 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 custom designed WordPress theme built on Genesis (which has pretty clean code), so I didn’t change my host. But believe me, there are tons of FREE themes 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 altogether 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 your 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 10 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 showed. Thus I didn’t remove Gravatar images.
26. Remove 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 awaiting 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 🙂