Website How we improved wordpress speed by over 300%
Getting a faster website is important for a lot of reasons. Search engine optimisation, Good customer experience, Global exposure, just to name a few.
For more information on the website, performance view our page on Website Optimisation and Performance.
It was time to do a complete overhaul of our website for a considerable update. We reviewed lots of online hosting websites and came to the decision we should use Hostgator for this website. It had a promise of hosting many websites on a rather low-cost plan and was rated well for website speed and recommendation by many others.
WordPress One-click Install
Firstly, we installed a WordPress site with the one-click install and then acquired a theme that we wanted to build the website. This was the base install with an overlay of different content but there were no changes to images or any other aspect of the website.
We then ran a speed test and obtained a speed score from Google’s site speed test of 5.7 seconds to completely load the website until usable. This was not a good result as the recommended web page load speed is under 3 seconds. Three seconds has become the limit and a web page should load in 1–2 seconds. As a digital agency, we won’t rest until your website loads in under 3 seconds.
Although 5.7 seconds was not ideal from a search engine ranking point of view, loading the webpage in Australia and the distance it was from America caused the loads to be up to 12 seconds to load the page. One of the most significant factors from this speed test was that the initial HTML document was taking 1 second just to return, then the page was downloading all the remaining resources after.
Moving to Self-hosting on AWS
The first test we ran to improve the speed of the website was to move to self-hosting the platform on an AWS Sydney server. We used prodm.com.au as the URL so that our main site could continue operating as normal. Moving the server to Australia would test the change in speed relative to Australia with the same install as Hostgator.
Unfortunately, it took a little time to discover that the results were presented for mobile. So in the screenshots below, the times are quite large, as Google indicates mobile speed load time is slower (This is an assumption by google, whereas Australia has a relatively fast mobile network). However, it shows that the tests between the two show the new server a little slower than when hosted by HostGator. However, it had reduced the load speed of the webpage in Australia from 12 seconds to over 3 seconds. This was a significant improvement for our customers in Australia.
What this revealed is that the American speed of the website had increased slightly, but the increase in Australia accessing the website was greatly improved.
Improved WordPress Speed
This turns to improved WordPress speed by over 300% gain for our Australian customers and an 8% increase in speed for America. It would also be safe to say that the website speed wouldn’t have changed much for other countries around the world.
Although we had a 320% speed increase for Australian customers. The original 12 seconds load for a website was simply unacceptable. Now that the webpage loads in under 4 seconds around the world, this has only achieved averagely acceptable performance. We were not happy with this result.
Using AWS CloudFront for Content Delivery
We then decided to implement AWS CloudFront as our CDN or Content Delivery Network. A CDN is used to distribute all the resources around the world like Images, Styles, Fonts, and anything else on your page that doesn’t need to change between requests for the website. We chose to use the plug-in W3 Total Cache for this process, which has been a great choice.
Push/ Pull CDN
CDN’s come in two types. They operate as either a push or a pull. A pull is when the CDN pulls files from your server upon a website request and then stores them. Setting up a pull CDN in CloudFront is simpler, which means less can go wrong. However, it doesn’t guarantee the same speed for every user. The second website request benefits from the first request that did the initial pull. I wasn’t going to risk that when the search engines index my site and perform a speed test they get bad results due to being the first request. This meant we opted for introducing the cloud front CDN as a push model. Every time a change is made to the website, the server pushes that change to the CDN.
This proved to be complicated and many tutorials online had gotten halfway through this process and given up, because troubleshooting the issues was difficult.
There will be an upcoming article on the exact settings that were used to complete the working model of the push model for CDN with W3 Total Cache used. There are a lot of changes to the initial installation of this plug-in that increased performance. We had configured the static files to be pushed to AWS storage, then we route the requests via CloudFront to either the server or the cloud storage depending on what time of file was required and where it would be located.
It was now time to see the results and what performance we had achieved. The site was now loading the first page in 1.7 seconds according to Google PageSpeed Insights. This is an improved WordPress speed by over 330% from Google PageSpeed Insights. This is a helpful resource when search engines are deciding which service to rank, so that they see a well-optimized website.
In Australia, this website was loading even faster due to the AWS server located in Sydney. We were seeing 1.2 -1.5 second downloads for the initial page. This is a 1000% website speed increase for our Australian customers!
We will then go through our process of improving these for your business and helping you obtain more customers.
We have since noticed that the website load speed we obtained was partly helped by the failure of the CDN to cache the fonts included in the website. The theme we purchased had an unnecessarily large font package and getting this resolved increased the website to load in 3.7 seconds on Google PageSpeed Insights and around 2.5 seconds in Australia. Although these numbers are acceptable, we will be working to resolve the font issue and ensure we are back to incredible speeds on the website.