There are a number of factors that determine website speed - and surprisingly, your website developer has little to no control of most of these factors. In this article we will look at all factors and see what can be done to improve load speed to ensure you get the best results from your website.
The Render Path
Let us start by looking at the various components that determine the speed of a website.
When a request for a page is made, the Front-end and Server-side components both take a certain amount of time to complete their operations. Since their operations are essentially sequential, their cumulative time can be considered the total page load time.
Even after you've optimized your Front-end, speed gains can still be achieved by optimizing the Server-side. This means optimizing the way the page is generated by your server.
click on image to enlarge
A good indicator of your Server-side performance is the time it takes to generate the HTML page (page generation time). Generally, this time should be kept under one second (or as low as possible). The magic figure for a web application is under 20ms - this is considered an instantaneous load time in computer terms. After all, consider that the time it takes us to blink is 400ms, under 20ms is ludicrously fast.
Of course, servers can speed up and slow down as the load on the server increases or decreases. However, you can get an idea of what the server's is capable of on its best day to see what the optimum speed is. After all, it simply cannot get any better than this speed. However, you need a measurement directly from the server to be able to judge this. The "Waiting" time on the first element in the waterfall graph (also known as the "time to first byte") also includes the amount of time it takes for the signal to get from your computer to the server and back - otherwise known as the Ping time (NOTE: to see this waterfall graph, look under Network tab on the browser when you right click on the page and Inspect Element).
We have seen a website platform that had a Page Generation speed of 16ms (on its best day) - which is very, very impressive for a database back-end, CMS system with the level of functionality that it boasts of (contact us for the name of the system).
Obviously, the further away your computer is from the server, the longer it will take for signals to ping backwards and forwards. Also, the load on the internet connection will affect this ping time. You only have to look at the graph generated by www.speedtest.net when you are testing your own internet connection's speed to see the variance in traffic on your connection. (NOTE: sometimes the graph jumps up, then bottoms out - this shows you how your 10MB connection has an awful lot of variance in it from the time you make the request to the server for your web page and when the page finally arrives.)
However, once the server has done its job, all the factors that determine speed are pretty much out of the hands of the web developer. Yet the web designer may have a part to play in what is sent by the server, which does determine speed.
With the advent of better internet connections, it is easy to justify more graphical and complex designs. However, remember to keep this initial decision in mind when you now judge the speed of your site. Would you still prefer better branding and a smarter looking site with more functionality - or a faster loading boring website?
Do remember, your computer's speed, aggressive virus blockers and browser will also affect load speeds. This is what you do have control over.
Sometimes people tend to judge the speed of their website by comparing it with the speed of an often visited news site - or Google. Be careful. Ask yourself, "How much do these companies pay for infrastructure (hosting) and ongoing support?" Have you asked your hosting provider what that sort of budget would get you? We imagine that they would be able to promise both heaven, and a fast elevator to it, for the monthly fees that the big companies pay.
The Emotional Response
So often our perceptions (or beliefs) about how fast our website loads depends on the feedback we get from clients and friends. If they tell us it's bad, then we reason that it must be. We almost always fail to look at the stats and weed out the whining from the reality.
I imagine that if we owned Google, we similarly would harshly judge all the times when the internet connection was slow, or our browser's cache was loaded with temp files and the site took too long to load. We would see every negative comment as reinforcement of our dim view of the infrastructure and code of our system and start a war against those 'responsible'.
Unless, of course, we were the ones who wrote the code and built the infrastructure, then we would be carefully judging every aspect of the system before jumping to conclusions. But as website owners, we arn't that person - and our technical knowledge is finite - or non-existent. So we would rather listen to those we love, or who our business serves, instead of the technical guy trying to 'pull-the-wool-over-our-eyes' with fancy computer jargon.
Hence this article to try and provide some semblance of balance from an independent perspective.
It always pays to take a step back and look at the facts - especially when not doing so would cost us a full redesign of our website and the breaking of a relationship that may have taken years to develop. Take a deep breath and gain some perspective, then discuss what you have learned with an open mind and an ear for reason.
This article should help you determine fact from fantasy and tell when your provider is truly being way too tricky to trust any further with supplying your valuable marketing and business tool (your website).