John Stevens  — 24 Comments

What are the benefits of speeding up a website?

As a website owner, the impact of your website speed on traffic, conversions and revenue should not be underestimated; research conducted by Akamai found that 47% of people expect a web page to load in less than two seconds, and that 40% of people will abandon a web page if it takes more than three seconds to load.

A 2010 study by Gomez, titled “Why Web Performance Matters: Is Your Site Driving Customers Away?”, that interviewed 1,500 consumers about how website performance impacts their shopping experience, revealed the following insights:

An increase in website loading time from 2 to 10 seconds increased page abandonment rate by 38%.

During peak traffic periods, more than 75% of consumers left for a competitor’s website instead of suffering a delay.

Many other studies have been published on the impact of website speed, and a study by Aberdeen Group found that a one second delay in site loading time resulted in a 7% decrease in conversions, an 11% decrease in pageviews and a 16% decrease in customer satisfaction. It’s also important to note that Google now uses website speed as a ranking factor.

In a nutshell, having a slow website will negatively impact the following:

  • Traffic and page views
  • Conversions
  • Sales
  • Brand image and perception in the mind of your visitors

Since it’s my goal to make HostingFacts.com the premier resource on building successful websites, I’ve decided to prepare a guide on how to boost your website speed. Below are 21 ways to increase your website speed:

What you’ll learn:

UPDATE: Before you start optimizing your website to load faster, there are two things you should consider:

First, go and check your current website load-time via Pingdom or Google PageSpeed Insights. This helps you to compare the speed changes once you’ve tweaked your site.HostingFacts pingdom speed

HostingFacts pagespeed insights

 

Secondly, make sure you back-up your site as some of the methods require tweaking/editing files that can mess up your site. Here’s how to back up WordPress website and here’s how to backup any other…

Ready? Let’s start with STEP 1:

 

1. Remove Unnecessary Plugins and Add-ons

Unnecessary plugins and add-ons can reduce your website speed by A LOT, and it’s especially important to pay attention to them if you use blogging CMSs like WordPress, Joomla or Drupal.

A good case study about the impact plugins can have on a website’s speed is this one by Mike in which he reveals how he was able to take his website speed from 4.23 seconds to 1.33 seconds; while analysing his website to see what was slowing things down, Mike realised that plugins contributed to a whopping 86% of his website load time.

It’s very important to note that it’s not just about the number of plugins you have installed on your website but about the quality as well; a website with 50 plugins can load much faster than a website with 10 plugins if the website with fewer plugins have crappy plugins; generally, you want to avoid plugins that load a lot of scripts and styles, plugins that perform lots of remote requests and plugins that add extra database queries to every page on your website.

Indeed, plugins help enhance your website’s functionality but it is also important to only use a plugin if you’re convinced that it is absolutely necessary.

If you’re a WordPress user, you might want to install the P3 (Plugin Performance Profiler);

P3_performance

This plugin will scan all of your WordPress plugins to find the bottlenecks, and it’ll give you a report so that you can see how each plugin affects your website performance.

 

2. Significantly Limit, or Remove, Social Sharing Buttons on Your Website

If you believe that you need to have 100 social sharing buttons on your website, think again; it’s hard to pinpoint research that establishes a massive boost in website traffic due to having social sharing buttons (if anything, too many social sharing buttons will confuse your readers), but research shows that a slow website does reduce traffic.

Most social sharing buttons use JavaScript, and this can be very troublesome when it comes to performance; there have been repeated cases of a Facebook, or some other social media site, outage that significantly impacts the website speed of people who installed their share buttons.

The solution to this is to either limit/remove social sharing buttons, or to configure them to load asynchronously so that an outage of a particular social media site won’t slow down your website.

 

3. Load Analytics and Ad Networks Code Asynchronously

Analytics tracking codes and ad networks’ codes can also significantly impede your website speed, especially if the remote server is slow or down; you can easily prevent this problem by configuring all of your tracking codes to use asynchronous delivery; this way, a server outage or delay with your Ad network or analytics service won’t slow down your website.

 

4. Enable Expires Headers

There are several factors that influence how fast a website is, but the server response time contributes a great deal to site speed; the more requests are being made to your server, the slower it’ll take your website to load.

Expires Headers tell your visitor’s browser when to request certain files from your server vs. from their browser cache; if an Expires Headers is configured so that your visitor’s browser only request a file once in a month, and that file has been stored in their cache from a recent visit, then their browser won’t request that file again until a month is over. This is like a double-edged sword for boosting site speed because it limits the number of HTTP requests on your server and at the same time reduces load on your server since the same file won’t be requested repeatedly.

If you want to implement Expires Headers on your website, this tutorial by GTmetrix shows you how to do just that.

 

5. Enable Caching

Caching ensures a much faster experience for your website users by storing a version of your website on their browser and serving them that version until your website is updated or until you instruct it to refresh the version of your website they are served.

Enabling caching for your website can boost its speed significantly, and research shows that enabling a full cache for a website can reduce the website loading time from 2.4 seconds to 0.9 seconds; now, that’s massive!

There are different ways to enable website caching depending on what platform you are using; for WordPress, you can install the following plugins:

If you want something more advanced, go ahead and buy WP Rocket (it’s probably the best!). For Drupal, you can follow this resource.

Here are more tutorials on how to enable caching for your website:

 

6. Use a Content Delivery Network (CDN)

Most sites are hosted on servers in the US, and while these websites will generally be faster for people in the US or people visiting with a US VPN service, your website will be a slower for people from other parts of the world. A CDN solves this problem by distributing your website files across a network of servers in different locations of the world, so that someone trying to visit from India will get served from a server in Asia instead of from a server in Europe. This will lead to significant increase in your website speed.

To determine how effective CDNs can be, Matthew Woodward conducted an experiment and found that using a CDN can increase website speed by up to 60%.

Here are some of the best CDN options for you:

 

7. Get a Better Web Host

List of fastest web hosting providersSorry, but we just had to throw it in here…

If everything you’re doing to make your website faster isn’t working, or you’re only noticing little, insignificant difference in site speed from following best practices, perhaps it’s time to change your web host.

In an article for Smashing Magazine, Marcus Taylor revealed how the web host that was being used impacted the site speed of two of his clients; both clients have similar websites but a different hosting provider. One of the clients hosts on a reliable dedicated server while the other hosts on a cheap server, the result was a massive difference in site response time; the DNS response time of the client on the dedicated server was 7 milliseconds while the response time of the client on the cheap server was 250 milliseconds. No tweak or plugin can remedy such a difference!

Your web host is very important when it comes to your website speed, so choose something good from our hosting reviews here. Alternatively, you can use this comparison to do some due diligence. However, according to our tests and analyses on HostingFacts.com, those three hosting providers should be the fastest (<500ms):

  1. A2 Hosting ~300ms
  2. SiteGround ~400ms
  3. HostGator Cloud ~500ms

So unless you’ve used website builders (like Wix for example) to build your site, do your research to find a best host for your website.

 

8. Your Website Theme

Exactly how much of an impact does your website theme have on site speed? A lot! Julian Fernandes was able to take his website load time from 630ms to 172ms just by switching themes; this was the same site, with the same host, and nothing else was changed but the website theme, and this resulted in a massive boost in site loading time.

Even the best server configuration won’t save your site if you use a crappy theme with bloated code; make sure you also consider performance when looking for a website theme, not just aesthetics.

 

9. Install Google PageSpeed on Your Server

The PageSpeed module is an open source server module from Google that automatically optimizes your website speed; it makes modifications to your server and files, following website performance best practices, without requiring you to do anything else.

If you’re tech savvy, you can install Google PageSpeed yourself. If you’re not tech savvy, you can ask your web host/developers to install it for you.

 

10. Optimize and Reduce Image Size

Un-optimized images can be very heavy, and as a result use a lot of server resources and take longer to load; if the average image size on your website is 1mb or 2mb+, you’ve got serious work to do. You can significantly reduce the size of your image while ensuring that its quality is not negatively impacted by making use of the following tools:

 

11. Enable Gzip Compression

You’ve probably tried compressing a file on your computer and you’ve seen what a massive reduction in size this can result in; a 60mb file can be compressed to just 5mb. Gzip compression works in the same way, but for websites; Gzip automatically compresses your website files into zip files, drastically reducing the size of your files and increasing your site speed as a result.

In the Smashing Magazine article we referenced earlier, a site went from being 68KB to 13KB solely due to Gzip being enabled.

If you want to enable Gzip compression on your website, this guide by GTmetrix is a good place to start.

 

12. Regularly Optimize Your Database

This is an often ignored but very powerful way to boost your website speed; it is especially effective if you use WordPress or any CMS that rely heavily on database usage.

Some CMSs, and the plugins you install, rely a lot on your database to save data; this increases data stored in your database as you use the CMS/plugin, making your website gradually slower. This especially applies to plugins that save logs, statistics and user data. It also applies if you use WordPress and enable post revisions, pingbacks and trackbacks.

You can make your website much faster by regularly cleaning up your database, a process that can be automated with the WP-Optimize plugin if you use WordPress, or manually (for other platforms) by following this tutorial.

 

13. Minify Javascript and CSS Files

If your website uses a lot of JavaScript and CSS files, there’s a high likelihood that your site is telling your visitor’s browser to treat these files individually; this leads to a lot of requests that eventually impacts your site speed negatively. Minifying JavaScript and CSS files reduces the number of individual JavaScript and CSS files, by having them in one place, thus significantly improving your website speed.

 

14. Combine Your Background Images into Image Sprites

The more requests a user’s browser has to make to your server, the slower your website will be for that user; most website templates are made up of multiple background images, and this ends up creating several different requests whenever visitor’s try to load the website. The solution to this is to combine those images into one, so that a visitor’s browser only has to request one image when trying to load your website; this can be achieved with image Sprites.

By combining background images into image sprites, you’ll be able to reduce request overhead, the number of bytes your visitor’s browser downloads and delay caused by roundtrips made when your server is downloading other resources. This will lead to a much faster website.

You can use SpriteMe to combine your images into sprites, or you can follow the suggestions in this Smashing Magazine article.

 

15. Enable HTTP Keep-Alive

Usually, when a visitor’s web browser tries to request a file from your web server, it will grab each file individually; in other words, a connection closes when a file has been grabbed, and then reopens to request a new file. This uses more processor, network and memory and eventually leads to a slower website if there’s a lot of load on your server. Enabling HTTP keep-alive ensures that all file requests to your server will be made via a single open connection, leading to a much faster website for your users by limiting the number of connections to your server.

You can enable keep-alive by copying and pasting the code below into your .htaccess file:

Header set Connection keep-alive

Alternatively, you can follow the instructions here or here depending on your server.

 

16. Fix All Broken Links on Your Website

While broken links inside your content won’t affect your website speed, although they can make for a bad user experience, broken links in your JavaScript, CSS and Image URLs can make your website irritatingly slower; be sure to scan these aspects of your website for broken links and fix them before they send your users away.

 

17. Avoid Image Hotlinking

Image hotlinking, also known as “inline linking” is the act of linking to an image on another person’s website, instead of loading the image on your own server. On the surface, this seems like an act that will save you a lot of bandwidth, especially if you have a high-traffic site, but it can actually make your website really slow if the website that hosts the image you hotlinked is experiencing a downtime or is slow.

Whether it is images inside your content, or banner images for your ads, be sure to first host your images on your website before linking to them.

 

18. Limit the Number of External Requests

To ensure a fully functional website, you have to rely on files and resources from other websites; as a result, you have to embed videos, presentations and other multimedia files. While this isn’t necessarily bad, if it’s too much or if you’re requesting external files from slow websites, it can have an impact on your site load time.

Try to limit the number of external requests your website will make; if possible, host as many files as you can on your server. For other files, only let your website request them from very reliable websites.

 

19. Use a Reliable CMS

Your CMS is the framework of your website; if you use simple HTML or popular and reliable CMSs like WordPress or Drupal you should be fine. If, however, you’re using a less popular CMS or something you built for yourself, you risk having a slow website; make sure you run appropriate tests and do the right research to ensure that a CMS is fast and reliable before using it.

 

20. Use a PHP Accelerator

PHP reduces the need to keep entering the same information on your website all the time but it can add to your website loading time. You can either try replacing PHP files with static HTML files when possible, or you can use a PHP accelerator to make your website much faster if it relies a lot on PHP.

This Wikipedia entry includes a list of several PHP accelerators you can use.

 

21. Prevent Others from Hotlinking Your Images

Just as it is important to avoid hotlinking other people’s images, you should also prevent others from hotlinking your own images.

When people hotlink your images, they are basically stealing your bandwidth since a request will be made to your server every time their readers tries to view the images on their website. You can prevent this by disabling hotlinking of images hosted on your server.

This article on Hongkiat will teach you how to prevent hotlinking of your images, and this tool will help you automatically generate an .htaccess file that prevents your images from being hotlinked.

 

Your Turn – Test Your Website Speed

Test your site speedAfter implementing the above suggestions, you should go ahead and test your website speed to see if there’s a difference (leave a comment below if you see difference :). Here are my top recommendations for testing your website speed:

Pingdom Website Speed Test: With this tool, you should aim to get a reduced site load time as well as a reduced number server requests. This tool also compares your website speed to other websites online.

GTMetrix: This tool analyzes your website speed using Google Pagespeed Insights and Yslow and gives you a rating from A to F. It also offers suggestions for improvement.

Webpage Analyzer: This tool gives you information on your page size and website download time, and it offers suggestions on how to improve your site load time.

Google Pagespeed Insights: You should aim towards a score closer to 100. It also has a mobile speed test tool that you can use.

Yslow: This tool analyzes your website speed based on Yahoo!’s rules for website performance.

WebPage Test: The closer your score is to 100, the faster your website is.

24 Comments

  1. Hey John,

    Great article. I’ve tried some of the suggestions above, but for me it seems like the most bang for the buck was optimizing images. Didn’t know that they could slow down a site. I ran some results for my homepage and managed to cut down my page loading time from 1.33seconds to 0.82seconds. I guess, it’s a win 🙂

    I’ll keep implementing and report back if I see any other major changes.

  2. John,

    Can you recommended a legitimate website monitoring service that tracks speed and uptime and is affordable? I have 5 sites (generating me passive income) that I’d like to keep an eye on.

    • Hi Pavel,

      We’re using PingDom. I think it’s around $150/month and you can track and monitor unlimited websites. Hope this helps.

  3. Great stuff. Website optimization can be very difficult and time consuming task (I’ve done it twice), but if you take it slow, step-by-step you should be able to see some serious improvement site speed wise…

    Definitely worth it.

  4. Hi thanks for sharing your tips on how to speed up a website.

    I just used WP Total Cache plugin, according to your suggestion, and saw a dramatic increase in speed … by 7%.

    I think I will implement other tips shared here – use CDN (free plan), and light themes – to boost website page load.

    Thanks for sharing

  5. Website optimization is a good idea, because you can definitely lose customers with a slow website. Impatience will drive customers to do a lot of things, including leaving your website for a faster option. Thanks for sharing the tips.

  6. Steve Rice at Iflexion

    Hello, John!

    Thank you for this comprehensive review, one of the best I met on the Web. Thus, I’d like to ask you, did you noticed the dependance between Google speed insight metrics and the presense of the google analytics code on the site? We can’t reach 100% score and defined it as one of the possible reasons.

    • Hi Steve,

      I haven’t noticed it correlations between Google Analytics and page speed, but I don’t think you should worry about it. GA is a part of Google and I don’t think they’ll punish you somehow for not getting 100% score while using GA.

  7. Thanks so much for this post!
    I have no idea about page load times, but after reading your post and implementing I have increased my load score from 50’s to the 90’s !!!

    Thanks again.

  8. Article is good in terms of content. But is missing on few things like infographics and presentation part. It was just reading black and white with some blue reference links. Nothing unique was there that could be out of the box and could make you stick on websites. More good content is available on websites like template toaster, wexplorer and more. I would suggest increase your level of article so that more readers can stick on it.

  9. Nice article for bloggers like me who are struggling to reduce the response time of the website. Will try to implement these instructions and share my experience.

  10. Really, we should speed up our site loading speed to beat our competitors in SERP. Your post will help newbie bloggers to speed up their blog loading speed. I have also optimized my blog as much as possible. Thanks for sharing the guide.

  11. I would like to ask about the on how to speed up a website having SSL? It is a struggle to have this problem. Any advice you can give?

  12. John,

    This is a really helpful article. What I’m having the most difficulty with is trying to make javascript load asynchronously when the code is part of plugins I’m installing. I can’t go through my theme and plugins looking for every reference to a script tag. Why aren’t the authors of these components using asynchronous loads in their code?

  13. Great post, we are spending more and more time helping clients understand that page load is important factor despite the idea of high-speed bandwidth, just because you have it does not me you have to use it!

  14. Hello John Stevens,

    Great topic and a good write up as well with surefire ways to speeding up the wp blogs. Google is working hard to give users a better experience while they visit any website thus it is giving preference to those sites that load faster.

    Fewer number of plugins is one thing that everyone is doing to speed up but few other things like gzip compression and cleaning up database tables are important too and everyone should take these into consideration.

    I would like to read such guides more from you over here. Thanks for the post 🙂

  15. Hey John,
    Excellent stuff!! I learned many things from your post and now able to solve my site speed issue. I have so many unnecessary plugins and my image should be optimized. I also heard that Cloudfare is alos effective for speeding up the website. BTW, many many thanks for your useful post.

  16. Steven you had done a great job by listing the important facts on a single list. I am already using the WP Rocket for caching and WP Smush for optimizing images. But, the new thing I found here is the use of Cloudflare CDN for reducing the loading time, I would add my site as soon as possible. Hope to get the good results! However, keep up the awesome work.

  17. Due to its simplicity to use features and a large library of easily available plugins, even a new or zero knowledge tech person like me can build the professional websites by using the WordPress. And following some new updates in Google’s ranking algorithm, site loading speed has become even more necessary for a ranking website.

    Thank you so much for sharing an excellent article about “Faster Loading WordPress Plugins”. These are the plugins which I feel everybody need to be used in their blogging life. Now as you explain superbly the use of plugins to us, I am going the practice those to my blog. Also, with my experience, I highly suggest you configure Cloudflare with your website. It’s free, easy to install & it offers free CDN & makes your blog fast and secure.

    One quick question; using too many plugins make the blog or website to load slowly. What do you say? Thanks in advance.

Leave a Reply to Nathan Araujo Cancel Reply

Your email address will not be published. Required fields are marked *