Website speed is such as important factor for every website. Visitors expect a fast loading site and failing to do so will plummet your visitor retention rate. Most webmaster fail to actually speed test their site correctly resulting in a poor visitor experience but to you your site loads fast.
In this post i will show how to correctly speed test your website to provide an accurate representation of what your visitor experience. I will be using the popular GTMetrix for doing the speed tests.
Time of Day
In order to get a realistic speed result you need to speed test your site at multiple times of the day. Your website traffic will fluctuate in volume depending on the time of day and country they visit from. Your site may load within 1 second in the morning but slow to 3 seconds in the afternoon or evening.
The hosting company you use may even effect this result. especially if you are on shared hosting with is notorious for other people websites effective your own site speed and performance.
Number of tests
Best practice will say you should perform multiple tests through the day, not just the time of which tests are done. For example testing once per hour could skew your results if the you have a particular traffic spike within the last 10 minutes of that hour. Ideally you want to do several test each hour to get an average speed rating and an accurate representation of your sites speed.
Location of Test Server
Many speed test sides online will assign a random server in a random location for each test. For example your first test might be from a server located in the US while the second could be in Sweden. Depending on your server location you will see different speed tests between those 2 locations.
You want a tool that allows you to test are location you specific and allow you ther freedom to test from multiple locations, ideally US, Europe, Asia and Australia. Fortunately GTMetric offers this feature for free.
Pages To Test
Most people will test their home page which if you think about it is inaccurate to do so. The home page your site is often the least intensive on your server and if you receive organic traffic its unlikely to be direct to the home page, but an internal post or page instead. When testing your website you should check multiple pages of your site not just the home page.
GTMetric is a free to use website speed tools that offers more than the normal amount of features. Right off the bat you can test your site and get a lot of data without having to sign up for an account. However by signing up for an account you can access additional features that help you hone in on your speed test data such as location choosing.
The first to tabs are Page Speed and YSlow. These use different measurement to give you speed results and recommendations on how to improve the speed of your site.
By clicking on each recommendation shown you will get a details break down of the files that are causing an issue, along with a “whats this mean” button to explain why its slowing down your site.
It’s important to note that you probably wont ever get your site to a 100% total score for each element and you shouldn’t loose sleep over trying to do so. You can optimize everything in the book but ultimately one tweak can adversely effect another speed option, making you go round in circles hunting for the coverage 100% score.
What to do
Go through each of the recommendations and look at each file, click the “whats this mean?” button to find out how you can improve your score and them implement the recommendations. After each change run a speed test to ensure you have correctly implemented the changes and it has not effected any other results.
The Waterfall is one of the best tools that GTMetrics offers as it allows you to see a detailed break down of each resource that loading on your page, how long it took to load, the size of each file, the status code and domain the file was located on.
Personally i wouldn’t look at this sections until you have optimized the page speed and YSlow sections as the waterfall result data will be impacted by any changes you make on your site.
Each request will go through 4 key metrics
- Blocking – Time the resource spend waiting for it to start loading
- Sending – How long it took to send the request
- Waiting – How long it took for the request to complete
- Receiving– How long it took to full load the resource
You should pay special attention to the “waiting” section which basically mean time to first byte. Its often regarded that time to first byte is an indication of the speed capacity of your server. If after all the recommended fixes and changes you still see a high time to first byte figure then your server my to blame for the issue and it might be time to look at upgrading.
What to do?
Once you have optimized the Page Speed and YSlow look at the waterfall data.
- Look for images that are high in size and reducing the page speed times.
- Look for large files that you may be able to reduce in size or merge such as CSS and JS files
- See what font files are loading and try to host these on your own server if possible.
- Refer to my guide on speeding up WordPress.
You aim here is to find and reduce the number of requests aka files and also the size of those files.
At this point the features you can get without an account end, however creating an account is free and gives you access to some additional data
GTmetric will record your page loading and allow you to slow the playback down so you can see exactly what the issues are effecting your site speed
The history feature will allow you to apply the advice given at the start of this post, by recording multiple tests and seeing how they compare.
You can view the historic Page timings, Page sizes and request counts, PageSpeed and YSlow Scores.
You can set GTmetric to monitor your pages either Daily, Weekly or monthly (hourly if using a paid account) and the results will emailed to you for viewing later. You can also adjust the test settings by visiting the user settings page . The main settings to adjust are:
Default Test Server Region
- Dallas, USA
- Hong Kong, China
- London, UK
- Mumbai, India
- Sydney, Australia
- São Paulo, Brazil
- Vancouver, Canada
Default Test Connection
- Unthrottled Connection
- Broadband Fast (20/5 Mbps, 25ms)
- Broadband (5/1 Mbps, 30ms)
- Broadband Slow (1.5 Mbps/384 Kbps, 50ms)
- LTE Mobile (15/10 Mbps, 100ms)
- 3G Mobile (1.6 Mbps/768 Kbps, 200ms)
- 2G Mobile (240/200 Kbps, 400ms)
- 56K Dial-up (50/30 Kbps, 125ms)
- Firefox (Desktop)
- Chrome (Desktop)
- Chrome (Android, Galaxy Nexus)
Changing these will allow you to test a variety of real world visitor devices and connection speeds and see how your site speed is effected.
If you want your site to load fast you will need to use a tool that can accommodate the needed performance test signals and GTmetric offers such features. Remember to follow the advice at the start of this post by testing multiple pages, multiple locations, time of day and frequency to ensure you get a good set of all round data.