This article was originally published on Sitehip.com, a site that I have since taken down. I created Sitehip as an experiment. The idea was to have a blog dedicated to WordPress tutorials etc. However there are only so many hours on the day, so I have decided to close up Sitehip and focus on this site.

This is the second post documenting my efforts to make Sitehip.com as fast as possible on a Bluehost Basic Hosting Plan.

Be sure to see the first post in the series to see what I have done so far.

Testing W3 Total Cache

W3 Total Cache is a very robust and effective cache plugin for WordPress. It’s been around for a long time and has been installed on over 1 million websites. For the purposes of this test, I am using the free version.

Here is how the site is performing so far:

Benchmark Page Load Test

Pingdom Tools test after Shortpixel image optimization. See full results.

Page Cache Settings

General

Cache posts page: Enabled

Don’t cache Homepage: – Not enabled

Cache feeds: site, categories, tags, comments – Enabled

Cache SSL (HTTP) requests: Not enabled because there is no SSL on this site. If I decide to keep W3 Total Cache I will enable this once I set up the SSL.

Cache URIs with query string variables: Not available in the free version.

Cache 404 (not found) pages:
Not enabled

Don’t cache pages for logged in users:
Enabled

Don’t cache pages for following user roles: Enabled for administrators

Aliases

You should not need this. If you do chances are you have your site set up wrong. It’s better to have one hostname and redirect any others to that single one. For example, if you use www, the non-www variant should redirect to the main www variant.

Cache Preload

Automatically prime the cache: Enabled
Update interval: 900 seconds
Pages per interval: 10
Sitemap URL: Add your sitemap URL here
Preload the post cache upon publishing events: Enabled

Purge policy

Leave default settings.

Advanced

Leave default settings.

I selected the Disk: Enhanced page cache method and clicked the “Save Settings & Purge Caches” button.

Test Page Load Times

Once I had saved the W3 Total cache settings I ran the Pingdom Tools test twice. Here is the 2nd result:

Page Cache Test Result

Pingdom test results after activating the page cache. See full results.

Page load speed is down to 729 milliseconds. Not bad at all.

Minify Settings

Minify removes unnecessary characters from the source code, streamlining the code so it will load faster. If there is one thing that can screw up your site this is it. It is very important to test carefully as you set this up!

As I was working out the best settings for my site I found that when I activated CSS minification it broke my site.

You may have different results. Be sure to check carefully after changing any of these settings. If your site is not displaying correctly deactivate minify, clear the cache, and check again.

I like to keep a different browser window open with my site that I am not logged into. This is very important! You want to see things the way your visitor will.

I spent a pretty good amount of time working with the minify settings and testing. The JS minify worked fine, but it did not affect on page load times.

No matter what I did with CSS the site broke. In the end, I decided not to use minify. Your results may be different than mine though.

Before going any further I decided to run the page through Google’s mobile speed test https://testmysite.thinkwithgoogle.com/intl/en-us, which tests over a 3G connection. Here is the result:

Google Mobile Test My Site Result

Looking good! Who needs to minify CSS anyways?!

Opcode Cache

Not available. Lets just move on.

Database Cache

“Best used if object caching is not possible.” So nothing to do here.

Object Cache Settings

Use default settings and enable the object cache. There is no option for the method other than disk.

After clearing the cache I ran a few more tests with Pingdom Tools. Here is the result:

Pingdom test results with object cache. See full results

A slight improvement. Closer examination revealed that the ttfb (time to first byte) is the lowest it has been so far, 168ms.

Browser Cache

The browser cache is enabled by default. Enable all possible items on the browser cache page. (some options are not available in the free version).

I did not check the “Apply HTTP Strict Transport Security policy” box because I do not have an SSL on this test version of the site. If I do decide to go with W3 Total Cache I will enable this after the SSL is in place.

Here is the result:

Pingdom Tools test with browser cache settings. See full results.

This did not really make a difference in the page load time, but it did increase the overall score. As I discussed in part 1, the score really is not what’s important. Only page load time matters. But I did leave these settings.

Other settings

Fragment caching is not supported in the free version of W3 Total Cache.

Extra is a responsive theme, so there is no need to worry about User Agent Groups, which allows you to assign specific user agents to specific themes. If you run a separate mobile theme this would be useful for you.

I am not setting up the CDN yet. Once I have the real version of the site live I will do that, and I will write about it.

I have exported the settings. You can find that function at the bottom of the General tab. Feel free to use this file for your own site.

Download it here.

Next, I am going to going to try WP-Rocket.

Shameless Plug

For a reliable and fast loading hosting account for your WordPress website, Bluehost is a great choice.

Yes, that is an affiliate link. That’s what keeps the lights on at Sitehip.com.

Now, on to How to Speed Up WordPress on Bluehost Part 3 – WP-Rocket.