Nothing is more frustrating than a slow website. A slow website is bad for the end-user and search engine optimisation (SEO). It can cause your website to rank lower in search engine results which translates to fewer page views and less revenue or customer conversion.
Below we share nine ways you can make your website load faster. While this article shares some general tips, it also includes some for WordPress sites only.
Throughout the article, we indicate clearly which tips are for WP users, and which can be for everyone.
Why Your Website’s Speed Matters
When it comes to user experience, Google’s research experiments show that faster site speed leads to happier users, increased productivity, and more time users spend browsing.
Moreover, research by Kissmetrics showed that 40% of people would abandon a site if it takes longer than three seconds to load. 47% of users expect a page to load in two seconds or less.
Overall, your site’s speed has a more significant impact on user satisfaction than extra “bells and whistles”. It doesn’t matter how great a site looks: if it loads too slowly, users will click away.
Regarding SEO, Google uses site speed as one of the many factors determining rank (how high your page appears in search results).
To determine rank Google factors page speed on both desktop and mobile platforms. If your site’s speed isn’t up to par, you can suffer ranking penalties.
Bing also uses page speed as a factor.
Search engines want to make sure the user lands on the best overall content based on their search; this provides the user best experience.
Users can’t access all the great info you have if your site is unbearably slow.
How to Check Your Website’s Speed
To tell whether your website is slow or not, use one of the many free tools out there designed to report just that.
Here are several:
- Google’s PageSpeed Insights: Google’s very own tool: Provides mobile and desktop recommendations.
- Pingdom: Useful for all skill levels: Reviews site performance, grades it, and tracks performance history so you can see how your site speed has changed.
- GTmetrix: One of the most popular tools out there: GTmetrix analyses how well your site loads, checking both PageSpeed and YSlow scores. It also gives suggestions on how to improve the load time.
- YSlow: Grades webpages on how they meet established high-performance guidelines. Also summarising the different components of the website and allowing you to view the analysis, offers advice on improving your site. YSlow provides a Chrome extension to test the speed of websites.
Our personal favourite is Google’s PageSpeed Insights. It’s easy to use, and the results are presented clearly. It also organises suggestions by “should fix”, “consider fixing”, and “passed rules”.
9 Ways to Make Your Website Load Faster
1) IMPROVE YOUR HOSTING PLAN
Changing your hosting plan is one of the simplest ways to speed up your website: looking at your server. Often when we first start, we go the cheap route and sign up for shared hosting. However, as sites grow in usage and content, they get slower. You can battle this by upgrading your hosting plan (moving to a VPS or dedicated option).
A quick note about VPS vs dedicated hosting:
VPS hosting is probably the option you want to choose. It’s “in the cloud,” meaning it is distributed over multiple computers, sometimes even hundreds. It’s a scalable solution, and it’s a more affordable solution than dedicated hosting. Bloggers and medium/small businesses will find this option most appealing.
Dedicated servers are like you are renting out a big box. It’s essentially like owning your computer. The most significant upside to dedicated over VPS is that you have full control because you have all the resources to yourself. However – it is usually much more expensive. And unlike a VPS, it’s less flexible, since you don’t have numerous computers.
2) UNDERSTAND HTTP REQUESTS
Sites are mainly slow because of too many (or too large) HTTP requests. When you understand HTTP requests, you can better eliminate them.
“Whenever your web browser fetches a file (a page, a picture, etc.) from a web server, it does so using HTTP – that’s “Hypertext Transfer Protocol”. HTTP is a request/response protocol, which means your computer sends a request for some file (e.g. “Get me the file ‘home.html'”), and the webserver sends back a response (“Here’s the file”, followed by the file itself).”
There are many ways you can reduce or eliminate HTTP requests, which this article covers later.
However, to see how many HTTP requests a page on your site makes, you can run a Pingdom speed test.
3) MAKE IMAGES INTERNET-FRIENDLY
Site size generally, and image sizes specifically, make a significant difference to your site speed. The larger your content/images, the slower the site.
Some basic ways to counteract this is by shrinking the file sizes of images on your site, reducing the number of images you use or eliminating them. (This is why I removed featured images on my blog reel last year when I redid the site.)
But having no images on your site is boring! Rather than removing them, optimise images before uploading them to your site by:
- Changing the resolution: reducing the “quality” of the image (and thereby the file size)
- Compressing the picture: increasing the efficiency of image data storage
- Cropping the picture: when cropping, you are cutting out unneeded areas and thus making the image smaller in size
For more information on optimising images for your website take a look at our blog post called: HOW TO OPTIMISE YOUR IMAGES FOR YOUR WEBSITE
4) USE PLUGINS SPARINGLY (WP SITES ONLY)
Plugin bloat can significantly slow your site performance by creating too many extra files, thus increasing load time.
Try to avoid the use of plugins whenever possible. In my opinion, it’s not possible to avoid plugins entirely. But there are ways you can reduce the overall count.
For starters, if there is an easy way to get around using a plugin – do it. (Example: the Google Analytics plugin. Instead, add the tracking code to your website footer manually.)
Also, every 4-6 months, set aside time to review your plugins. Evaluate each one and delete it if:
- You don’t use it anymore.
- It’s not doing what it’s supposed to be doing.
- It is “calling deprecated functions.”
- There are new and improved plugins that will work better.
Aside from taking up space, outdated WordPress plugins are often responsible for security vulnerabilities. (Think about it: it’s a third-party package of code on your site.) Just another reason to keep plugin count low.
5) CUT DOWN ON EXTERNAL SCRIPTS
Here are some examples of external scripts that could be slowing down your site:
- Facebook “like my page” boxes
- Bootstrap (if brought in via CDN)
- Icon sets like Font Awesome (also when brought in with a CDN)
- External commenting systems (like Disqus)
- Pop-up boxes and similar lead-capture tools (like SumoMe)
- Website analytics services (i.e. Google Analytics or Mixpanel)
- External fonts (i.e. Google Fonts)
This isn’t to say you should avoid these altogether (which is difficult to do anyway). Just be aware of this.
To figure out which scripts are especially large, you can turn back to Pingdom to see which files take the longest to load.
6) OPTIMISE JS AND CSS FILES
There are two ways you can do this: minification and gzipping (or compression).
According to CSS genius Chris Coyier:
“Minification does things like removing whitespace, removing comments, removing non-required semicolons, reducing hex code lengths…”
“finds all repetitive strings and replaces them with pointers to the first instance of that string.”
For best results, you want to use minifying and gzipping together.
However, gzipping is done at the server level: you must configure it to do it.
To get started, here are some minifying tools:
- (WordPress Plugin) W3 Total Cache: This is one of the most popular performance plugins.
- WillPeavy: Free HTML, CSS, or JS minifier.
Note: if you are using a workflow tool like Grunt or Gulp, you can add NPM packages to minify your files.
7) TAKE ADVANTAGE OF CACHING
Page caching is when web pages store static files (like HTML documents and images), which allow visitors to access that page more quickly since the database does not have to retrieve each file every time there is a request.
The thing with caching, though, is that in most cases it only works for repeat visitors. First-time site visitors won’t have the site cached yet, since the page needs to load files at least once before it stores them.
If you’re a WordPress user, you can install a plugin to enable caching. Here are some popular caching plugins:
- W3 Total Cache: most popular performance plugin
- WP Super Cache: suggested for high-traffic sites with underpowered servers, seems to be updated most often (created by Automattic)
If you’re not using WordPress, you can configure your site to cache at the server level.
8) ELIMINATE WEBSITE BAGGAGE
“Baggage” can be many things—many of which have already been discussed (images, plugins, and external scripts).
Some other common examples of website baggage:
- Code that accumulates on your website (like when you go in to make quick fixes, without considering the most productive way to implement the changes)
- Databases that have become massive—this can mainly be the case with e-commerce sites with many orders
- Too many backups done at the server level
- For WordPress users – excessive plugins, themes, saved post and page revisions, and massive media libraries
The primary way to clean up extra “baggage” is to go in every so often and do a manual overhaul.
Here are some additional pro-tips:
- Remove spam comments or trackbacks that you don’t need.
- Store media files like PDF downloads externally on Amazon S3 (which is what I do)
- For WP users: remove older installations of WordPress on your server.
- For WP users: use a plugin like WP-Optimize, which allows you to clean up your database more efficiently.
9) USE A CONTENT DELIVERY NETWORK (CDN)
A CDN is essentially many optimised servers around the world that deliver web content to users based on their geographic location. This means significant performance improvements for site users. Because, say, if a person is accessing your site in India, they will be retrieving web content from a server nearby, rather than across the world in Utah.
Here’s what you can store on a CDN:
- JS files
- CSS files
- Other uploaded files (like videos, PDFs)
Some standard CDNs include:
If you’re on a WordPress site, and already are using the popular W3 Total Cache plugin, here is some good news: it integrates with MaxCDN, so you can get running on a CDN in basically no time. (In other situations, it may not be so simple to move your site assets over to a CDN.)
However, here’s a downside to CDNs: they can get pricey, especially if you are using a lot of bandwidth.
But for larger sites, with lots of visitors coming from all around the world, a CDN is necessary. And all “big” sites use one without a doubt. However, if you’re starting a blog, or building a mini-app, a CDN is unnecessary.