From 11.6 Seconds to 1.7 Seconds

the front page of the site we had to work onWhen it comes to ways to improve the time  it takes for your website or e-commerce site to load there seem to be many webmasters who have become rusted on to a particular way of achieving the results they want.

They have their favourite plugins that they use … and recommend … and never seem to look at other options that might be available. That becomes a problem when their favourite plugins either don’t to the job they are supposed to do … or maybe even make things worse.

Here at WP Workshop, we’re not rusted on to any “favourite” way to achieving fast load times because, if we were, we would have been in a right mess with this site.

The site is a perfectly legal adult toy store but, for obvious reasons, I have blurred out the images and anything else that may identify our client’s site.

An online shop that needed an aggressive solution

The site is built on WordPress/WooCommerce with the Avada theme. There are over 6k of products in the store that is managed by someone who thinks that every image on the site needs to have a huge file size … including a small logo that was a whopping 133kb PNG … for quality.

And to make things just a little more difficult … they wanted 9 product images on the front page of the site and they wanted them rotate with some of the other 6k product photos.

That means that the file size of the front page is always changing.

With all those things in mind, I was expecting a slow loading site that was going to take some work to get it even close to Google’s magical target of less than three seconds … and I wasn’t disappointed.

Numbers don’t lie

Most of the client’s customers come from the east coast of Australia so to run the tests for the site I used GTMetrix through their Sydney test server

The first test showed that the browser had to make 137 requests for various files to assemble a front page that was 0.97mb in size … and it took 7.9 seconds for the page to load.

A lot of that loading time was taken up in loading those big images, over 100 small Javascript files and a small group of CSS files.

The first thing I did was to add a plugin that would minify and compress the Javascript and CSS files (because several big files load faster than over 100 small files) and also cache the files for each page so that the site didn’t have to keep rebuilding the page each time a visitor arrived.

Then I had to do something about the images. I couldn’t reduce the file sizes but I could add a lazy load plugin that would load the first group of images that appeared on a screen but not start loading images that were below the fold on the first screen until a visitor started scrolling.

The caching/minification plugin I used was a fairly new release but it had worked well for me on smaller sites and I was expecting the same result with this site but …

Shock!! Horror!!

With everything in place I ran another speed test and could hardly believe my eyes.

The number of requests made for files had dropped … by just five … and the time it took for the page to load had blown out to 11.6 seconds. The second run to get a time on the page once it had been cached wasn’t much better.

If that was the best I could get out of the latest caching plugin then I needed to look at something with a lot more muscle.

Time for the tough to get going

So I went for the big guns and installed Swift Performance. This plugin, by its owner’s own admission, aggressively minifies, compresses, caches and even lazy loads so I removed the first lazy load plugin I had installed, along with the first caching plugin I had tried, and ran another test.

The first test on the front page of the site before it had been cached really surprised me.

This time the total file size of the front page was 1.16mb … remember, the images change … the number of requests was just 15 and the fully loaded time was 2.6 seconds.

The fully loaded time after the page was cached dropped to 1.7 seconds.

That was OK but we can do better and the owner of the site … not the manager … has now asked us to do something about the huge file sizes of the images. It will be interesting to see what we can achieve now that we can work on the images.

If we can achieve load times like that for the owner of this website then we can certainly go a long way towards reducing the load time for your website.