BlogTechnicalThe Top 10 ways to speed up your website

The Top 10 ways to speed up your website

Suffering from a slow website? Getting frustrated over the tortoise pace sites? Perfect! We can guide you through speeding up your websites in no time. Moreover, most of these tweaks are free and just require a few configuration changes to undertake.

Find out the current loading speed of your website with WebPagetest or Google PageSpeed. It’s a great way to gauge the speed of your site for the average visitor and check again later once you have made some improvements.

A great first-step is to begin by looking at the infrastructure supporting your website. The technologies being used really make a big difference, especially if you are hosting in a dedicated server environment where you have the flexibility to choose how the web application stack is setup. Often we find people using under-resourced shared hosting packages that do not provide them with enough resources for the site to be fast. Hosting on a purpose-built dedicated server can be great help to your business, especially if you started with a cheap service and now have increased traffic.

Reduce server response time

Ideally, your website should have less than 200 milliseconds of ‘time to first byte. This helps to make your web experience a better one. One of the best ways to achieve this is to use a front-end caching system. One of the most popular ones for larger websites in varnish, which acts as a front-end cache and can be customised to only cache the objects on the front-end that are not individual-user specific.

Read more on how to improve server response time here.

Enable Gzip compression 

Gzip compression is one of the most important tools to have setup as part of your hosting, as it can save downloads of 1MB+ on each page load, dramatically increasing the speed your website can be received by and end-user. It is very effective in compressing the size of HTTP assets being returned by up to 70% and reducing your response time.

There are a couple of ways to enable this and it all depends on the server environment you are using. If you are using a shared cPanel server, then you should be able to ask the host to enable it server-wide. Alternatively there are many how-to’s available on the internet which will explain for a way to add this in to a .htaccess file to enable it for your website.

Install a caching plugin

Every major CMS has a different method of being able to cache it’s assets. By installing a caching plugin, the CMS will no longer get queried for data that is not unique (depending of course on how you set it up). 

This allows for pages that have not got dynamically generated content do not rely on PHP and MySQL to generate them (presuming you are using these technologies). By bypassing these two services, the web server can instantly send through the required HTML to load the page and reduce the page load time drastically.

Optimise images

Images may not be the first place to look in order to gain additional speed out of your website, but they can definitely be a large factor in reducing the amount of data that needs to be transferred, which will always enhance page load speeds. By default, the majority of images created are not created in a web-optimised state. There are many methods of converting all of your image using ‘loss-less’ conversion methods to get your image file sizes down at no-cost to the end-user experience.

There are many tools and plugins you can use in order to perform loss-less compression on your websites images. Some CMS’s have plugins you can install that will retrospectively go through your website and perform this task for you. Alternatively there are online image resize tools such as  TinyPNG of which you can use prior to uploading images to your CMS.

JPG is our recommended default as it is the smallest and fastest loading file type. Use PNG for images with texts or transparent background to optimise response time. We would also recommend cutting out the use of GIF images as they can slow down loading time.

Enable KeepAlive

KeepAlive is a setting that is set server-wide in the web server service itself. In a shared hosting environment this would be completed by the hosting provider themselves as unfortunately it cannot be enabled for an individual website. On a dedicated instance this option should be enabled on the web server. The vast majority of web server daemons support the use of KeepAlive.

KeepAlive keeps the TCP HTTP session alive when making requests rather than causing the client to have to reconnect to the server for each asset it requests. This will save minimal amounts of bandwidth and definitely speed things up by facilitating less connections to the server and less TCP handshakes.

Minify resources / codes

At a basic level, minifying is the manual act of eliminating any additional spaces in your HTML, comments in your code, white spaces, indentation in your codes, etc. Each of these adds to your page size.

On a more advanced level you can use a ‘minification’ plugin developed for your CMS. This will remove all of the objects that are wasting space in your CSS, Javascript and HTML reducing the file size and creating a faster end-user experience.

Minify Cascading Style Sheets (CSS) and Javascript (JS) files

Browsers have limit to handling HTTP requests, when this limit is reached, other files wait to be loaded.  By merging all CSS or JS files into a single file, the amount of requests going to the server can be drastically reduced, which in turn can page improve page response time. Again, the best way to achieve this is through a plugin for your CMS as each CMS has different requirements on how to achieve this best.

Minimise redirects

Redirects adds an extra HTTP request which (especially when it is the main site) could add hundreds of milliseconds on to the initial page load. Try to only keep redirects which are really necessary. Another thing to avoid is referencing URLs that frequently redirect to other URLs.

Another key thing to do is to try and reduce the amount of domains that your content is served from.

Minimise HTTP requests

Up to 80% of a website load time can solely be the transfer time of downloading the assets on the webpage (like scripts, images, Flash etc). This generates an additional HTTP request for each asset which, in turn increases the time for a page to load.

A couple of additional tips to improve your web speed:

  • Reduce the number of elements on page, use only what is necessary.
  • Use CSS whenever possible
  • Combine multiple style sheets to one
  • Remember to keep your website as lean as possible.

Take care of your page size

Trying to keep a lid on the size of your pages is key to being able to have a fast and responsive website. Although many people find it attractive to fit as much content on to a page as possible, this can often have unseen consequences when it comes to your websites ability to have a quick end-user experience. Keeping the overall size of each page load to a minimum is always going to assist you with this.

With the growing amount of mobile users making up website visitors, page load times over slower networks is more important than ever. Loading a large website is never fun over a 3G connection and it is always good to be mindful that people on average do not like to wait a more than 3 seconds for a page to load.

Conclusion

There are many factors to consider when making a webpage faster and sometimes it’s best to consult professionals who do this work for a living. Having a fast site may be the difference of of being ranked higher on Google. Not just that, but people will be happy to visit your sites, conversion rates should increase and you make more sales.