9 Easy Ways to Supercharge your Website

Ardi Coetzee

We have talked about ways to speed up your website as well as a wide range of tools and services you can use in conjunction with your website/hosting. This blog post goes one step further and looks at several advanced techniques that can really kick your website into overdrive! Some of these techniques are very easy to implement while others might require more technical knowledge or possibly also the right hardware (ideally a VPS or Dedicated Server). But these tips will definitely give you a huge advantage over competitors.

1. Start with a website audit

If you don't know what's wrong, how can you fix it? 

That is why it is so important to start with a simple website audit just to find out the exact state of a web page. With the many free online checkers available nowadays, you can easily get a very detailed technical analysis of your website in a matter of seconds. Before you do anything, we highly recommend you pop your website's address into the following free online tools:

  • GTMetrix.com: The benchmark tool for checking page speeds. This site will tell you if your images are too big, or if you are using inline CSS, and a bunch of other really useful information. 
  • Google Pagespeed Insights: Very similar to GTMetrix, but gives you insight into what Google, the biggest search engine in the world, thinks of your page. 
  • Website Grader: An SEO tool with a bit of attitude. This tool will point out the basic SEO mistakes on your site and explain to you in laymen's terms how to fix them. Very useful!
  • As many security scanners as possible! The more you can find, the better. Hackers get sneakier each day, but the tools to fight them become more readily available. All you need to do is use them! Check out all of these free options: Sucuri, TLS1.0 Checker, SSL Checker, Header Checker, Foregenix Webscan, Observatory by Mozilla. (and I'm sure there are loads more... leave a comment below if you know of any good ones!)

Each of these tools will return a detailed analysis which you can use to make improvements on your website. More importantly, however, is that you can use these sites as benchmarking tools. In other words, if you are scoring 50% now and you later score 80%, you know you have improved your website. Inversely, you can also tell if you have had a negative impact on a webpage.

PRO TIP: GTMetrix has an API which allows you to programatically find out page speed information on any URL. We used this API to write a simple monitoring app that would periodically scan various URLs and notify us if a page became too slow. This allows us to fix slow pages as they creep up.

advertisement

2. Gzip Compression

This is a really easy one and can speed up your website considerably with very little effort. Enabling GZip Compression can decrease the download size of your pages on average by 70%. Not bad for only a few lines of code!

Start by checking if you have GZip compression enabled. To check if you have it enabled, simply enter your website URL here.

Gzip compression not enabled? See this page for instructions on how to enable Gzip Compression.

3. Redirect www.

You may have come across sites that work on multiple urls. The typical scenario is if a site runs with www and without www:

  • example.com
  • www.example.com

This is fine if one of these redirect to the other. In other words, you must not be able to actually view the website on both URLs. You must choose a standard, either with or without the www, and then make the other redirect. For example, if you open https://namhost.com, you will be redirected to https://www.namhost.com. Our convention is to include the www and therefore we have a setting that will redirect all traffic from namhost.com to www.namhost.com.

This can actually get worse when you bring SSL in the mix. If SSL is included, then a typical website has 4 possible typical entry points:

  • http://www.example.com
  • http://example.com
  • https://www.example.com
  • https://example.com

Again, this is not a problem if you redirect the one from the other. And again I can use Namhost as an example. Try clicking on any of the following links:

All of these URLs will take you to "https://www.namhost.com". In other words, we have our website configured to redirect urls that don't include "www." and a rule that redirects urls that don't include "https". You can easily make changes to your .htaccess file to also allow for the required redirects. And you can easily test it by writing out the four variations and clicking on each link to make sure you end up at the right place.

As easy as this change might be, it is absolutely crucial. Google will severely punish you because google does not see "example.com" and "www.example.com" as the same site. It sees two sites with the same content and will nail you for duplicate content. The end result? Lower rankings on search engines. And possibly also a security risk if you don't redirect users from http to https. Don't hesitate, make the change today! 

advertisement

4. Uplink Upgrade

A typical shared hosting dedicated server has a 100 Mbit Uplink. That means that the server is limited to a speed of 100 Mbit, which is 12.5 Megabytes per second. That is quite fast and 99% of the time more than enough for anyone. But if your site is one of those that really do utilize more than 12.5 Mb per second, then upgrading your uplink is certainly a viable option. 

An example of a website that might want to do this, is a video streaming site or any site that offers large downloads. If, for example, you have a server that acts as a file server for Linux Distribution files. Let's say each file is the 4.7 Gb (typical DVD Size) and on average you have 100 people downloading this file. If 100 people are downloading at the same time, they will each get a maximum speed of 12.5 / 100 = 0.125 Mb per second. At that rate, it will take them 4700 / 0.125 = 37 600 seconds = 626 minutes = 10 hours just to download one file. If you have 50 users, the speed should double, but still, take about 5 hours. 

If you upgrade your server uplink to 1000 Mbit, it means you will have 10 times that capacity. So 100 users will each get 1.25 Mb per second and they will be able to download that 4.7Gb file in 1 hour. To be able to download something in 1 hour as opposed to 9 hours can actually make or break certain websites. You certainly can't provide a streaming service where you only offer 100 users a maximum streaming speed of 0.125 Mb per second. So it is important to make sure your website will actually benefit from an uplink upgrade before spending the money. An easy way to spot that you might be on your way to needing an uplink upgrade is to have a look at bandwidth usage. If it's becoming excessive, it might be time to check the server load.

To upgrade from 100Mbit to 1000Mbit, please contact us and we can assist you with the process.

5. Implement Unit Testing (with Mock Testing)

Unit Testing is a method where you test small individual sections of code within an application. Unit tests are written in a way that they can be repeated in future. This allows you to keep adding more tests, knowing the previous tests will also run and flag issues if any are found.

Building up a huge collection of unit tests for an application is key in improving the robustness of that system. If you build up tests, then you always have something you can execute after having made more changes to the system. These unit tests will instantly flag issues that could have manifested through the most recent commits. 

Mock testing allows you to write unit tests that mimic your data and further give you the opportunity to write diverse tests that give you more confidence in your code by creating an overall more stable system.

There are various different unit testing frameworks. For PHP-based systems, you can use PHPUnit. Frameworks like Laravel has PHPUnit built-in, making it even easier to get started with unit testing. For .NET programmers, you also have unit testing built into Virtual Studio. If you code in anything else, please be sure to look around for unit testing solutions, as there is likely to be some form of it. And the earlier on you include it in your project, the more stable and reliable your application will be. 

6. Implement an Automation Testing Solution

Automation Testing is when you write a repeatable test that verifies if certain frontend functions of an application are working. For a website, that boils down to automating the things used to interact with it. I.e. A mouse and the keyboard. And then making sure the website does what it is supposed to do.

For example, you might want to write a test that makes sure a user:

  • can't add more of an item to their cart than how much stock is available of that item
  • is blocked if they typed in the wrong password 3 times
  • a comment is not automatically posted if the user uses swear words
  • etc...

Anything a user can do, you should be able to automate and test using a good automation solution. We used Selenium until about a year ago. We have since switched to Katalon Studio. It's very similar to Selenium, but seems to be more actively developed and therefore might have a sunnier future than Selenium!

7. Add a Reverse Caching Proxy

I was involved in a project where we did load testing using loadimpact.com. The goal was to see how many concurrent users the system could handle before maxing out resources and making the server too slow for anyone to use. Before we added a reverse proxy, we were able to support 400 concurrent users. After adding Engintron as a reverse proxy, we were able to get the number of concurrent users up to 1400. That meant a 350% increase in the number of users the system could support, a true lifesaver at a time when we were running marketing campaigns with massive amounts of incoming traffic.

Reverse Proxies are only effective for sites with massive amounts of traffic, and particularly traffic to pages where users aren't logged in. A reverse proxy focuses on caching pages that don't change, and the moment a user logs in, there is often a lot of dynamic content that changes frequently which would make the caching ineffective. So keep in mind that a reverse proxy will always improve performance, but only in cases where it would actually be utilized. And that is usually only anonymous traffic. 

One other scenario where a Reverse Proxy might be very useful is if you have a lot of pages on your site combined with lots of traffic. If there are a lot of pages, crawlers will spend more time on your site. Crawlers are an example of anonymous traffic and something you can stop from chowing all your valuable resources by simply adding a reverse proxy.

If you are using WHM/cPanel, I highly recommend Engintron as a reverse proxy solution. It is much easier to install and configure than, for example, Varnish. Both Varnish and Enginton have their pros and cons, so it might be best to read up a bit about both of them before deciding which one to implement. But I can certainly say after having tried both, that I will probably stick to Engintron for the foreseeable future! It is awesome!

advertisement

8. SSL Certificate

It's no longer optional to have a SSL Certificate. If you don't have one, you are shooting yourself in the foot:

  • Google penalizes sites that don't take security seriously
  • Your website is insecure if you don't have an SSL Certificate
  • People are starting to understand the importance of SSL certificates and might actually not shop from you if you don't have one.  (I, for one, would not even register a free account on your website if you don't have an SSL Certificate, nevermind buy something from you)

We provide free SSL Certificates to all our clients. We also have paid ssl certificate options. Notice the green bar in your browser at the top next to the current URL you are visiting? It might not be green, but it's usually bigger or stands out in some or other way, It should say "Namhost Internet Services (Pty) Ltd. [ZA]". This type of SSL certificate, that offers the green bar or the slightly bigger look, is known as an "Extended Validation SSL Certificate". They are considerably harder to get because your business has to go through various verifications before the certificate is issued. But the reward is that clients will see your green bar and know that this site is trustworthy and has gone through a lot of trouble to make sure people can see they are trustworthy. I highly recommend an Extended Validation Certificate if you want the world to know you are serious about security. 

9. Create and Study Heat Map of Your Website

A heat map allows you to see where users are clicking on your site. Heatmaps can provide massive insight into how users use your website. Particularly to designers who can use the information to improve on the User Interface of the website.

Clickheat is a great free PHP heat map tool. For a more sophisticated, but paid heat map solution, we recommend LuckyOrange. They would offer more up to date support, particularly with regards to different mobile devices, than Clickheat.

advertisement

Did you enjoy our tips on how to supercharge your website? Please leave a comment. Or sign up for our newsletter to get more information like this via e-mail!

Subscribe to our newsletter and be the first to know about great deals and competitions!

About the Author
Ardi Coetzee
Ardi Coetzee
Ardi is the Lead Developer at Namhost.com. Ardi has been involved in the implementation of various technical projects that cover a wide scope of technologies and solutions. Ardi is also an avid supporter of Drupal and its open source community.