The Ultimate Guide to W3 Total Cache: Works-Every-Time Settings for Shared Web Hosting

The Ultimate Guide to W3 Total Cache: Works-Every-Time Settings for Shared Web Hosting

Shared hosting isn’t the ideal environment for speeding up WordPress with W3 Total Cache. There are features that just don’t work well on a shared server. In addition, if you run into server configuration issues there isn’t much you can do about it if your site is hosted on a shared server.

In an ideal WordPress world, every WordPress website would be hosted in a private environment. However, many WordPress websites don’t generate the kind of traffic or revenue needed to justify anything more than bare-bones shared hosting.

If that’s where you find yourself, it’s easy to get frustrated and give up on W3TC entirely. Instead of throwing in the towel, what you really need is a simple baseline configuration – a starting point that produces a measurable improvement in site performance. From that starting point you can customize W3TC for additional gains, but at least you’ll know right off-the-bat that you’re starting the process with a mark in the win column.

This article is 100% affiliate-free!

We will never take money to promote others, everything you read is genuine. Learn more.

This post is the final part of our four-part series on W3 Total Cache. If you want to read all of the W3TC goodness we have on tap, check out the rest of our Ultimate Guide to W3 Total Cache:

Simple Settings That Just Work

You might be surprised to learn that all it takes to produce a measurable improvement in site performance is page and browser caching. That’s good news because no other modules perform consistently from one shared hosting environment to the next.

What that means is that you only have to mess with three of W3TC’s sixteen menus to see a noteworthy boost in site performance: General Settings, Page Cache, and Browser Cache.

Clear the Slate

Ideally, you’ll come to this tutorial with a brand new, untouched W3TC installation. However, if that isn’t the case, the first thing to do is to clear the slate by resetting the default settings. To do that go to Performance > General Settings and scroll all the way to the bottom of the page. Select the very last button you see to Restore Default Settings.

Now we’re ready to get started.

General Settings Menu

First, enable the Page Cache and Browser Cache modules from the General Settings menu. To enable these modules, follow these steps:

  • Go to Performance > General Settings.
  • In the Page cache section select the Enable checkbox.
  • In the Browser cache section select the Enable checkbox.
  • Leave all other checkboxes and settings in their default configuration and click any of the buttons labeled Save all settings.

Page Cache Menu

Next, configure page caching. Go to the Page Cache menu and make sure the following settings are selected:

  • Go to Performance > Page Cache.
  • Select the checkbox to Cache front page.
  • Select the checkbox to Cache feeds: sites, categories, tags, comments.
  • Select the checkbox to Cache requests only for yourdomain.com address.
  • Select the checkbox next to Don’t cache pages for logged in users.
  • In the Cache Preload section, select the checkbox to Automatically prime the page cache.
  • In the Cache Preload section, select the checkbox to Preload the post cache upon publish events.
  • Leave all other settings in their default configuration and click any of the buttons labeled Save all settings.

Browser Cache Menu

Finally, configure browser caching. From the Browser Cache menu just a couple of minor modifications are needed:

  • Go to Performance > Browser Cache.
  • Select the checkbox to Set Last-Modified header.
  • Select the checkbox to Enable HTTP (gzip) compression.
  • Select the checkbox next to Don’t set cookies for static files.
  • Leave all other settings in their default configuration and click any of the buttons to Save all settings.

Where Did These Settings Come From??

This plugin configuration was thoroughly tested.

  • Shared servers from four hosting providers were tested: Site5, Hostgator, SiteGround, and Surpass Hosting.
  • The test platforms include both Apache and NGINX web servers running PHP versions ranging from 5.2 to 5.6.
  • None of the hosts knew what we were doing.
  • We used standard consumer-level shared hosting plans: the exact same sort of plan you would get if you purchased a shared hosting plan from one of those providers right now.

A standardized test process was developed and used to test out W3TC configuration on each of the servers.

FREE EBOOK
Your step-by-step roadmap to a profitable web dev business. From landing more clients to scaling like crazy.
FREE EBOOK
Plan, build, and launch your next WP site without a hitch. Our checklist makes the process easy and repeatable.
  1. A clean WordPress installation was created with the default TwentySixteen theme activated.
  2. Test data from WPTest.io was uploaded to each site to bulk up the size of the site homepage.
  3. Each site was then tested at least five times using Pingdom’s Website Speed to determine the typical page load speed.
  4. After testing the site, W3 Total Cache was installed and configured exactly as described in this article.
  5. Once page caching had taken effect – which was confirmed by checking the site debugging information – the site was retested at least five more times with Pingdom’s website speed test.

What Sort of Results Will These Settings Produce?

That’s a tough question to answer.

The improvement you will see after installing W3TC and configuring it exactly as we’ve recommended cannot be predicted. There are just too many factors in play. However, we can show you the results that these settings produced when we tested them out.

Baseline Performance: No Caching Plugin Installed

The test site is a pretty lightweight website. So it should load pretty fast without any caching, right? Yes, and Pingdom agrees.

screenshot of a pingdom website speed test
Host 1: Performance Without Caching
screenshot of a pingdom website speed test
Host 2: Performance Without Caching
screenshot of a pingdom website speed test
Host 3: Performance Without Caching
screenshot of pingdom website speed test
Host 4: Performance Without Caching

In every case, the average load time was less than a second and a half — not too shabby and nothing to complain about. How much improvement can you really expect by implementing just page caching and browser caching on a site that already loads pretty fast? Not much, right?

Wrong.

The correct answer: more than a 30% improvement.

Performance with W3TC Installed and Configured

With W3TC installed and configured, and the site homepage cached, our test site loaded significantly faster.

screenshot of a pingdom website speed test
Host 1: Performance With Caching
screenshot of a pingdom website speed test
Host 2: Performance With Caching
screenshot of a pingdom website speed test
Host 3: Performance With Caching
screenshot of pingdom website speed test
Host 4: Performance With Caching

On average, the test site loaded 33% faster with page and browser caching enabled. Here are the numbers so you can judge the results for yourself:

  • Average load time prior to caching: 1221 milliseconds.
  • Average load time with caching: 815 milliseconds.
  • Reduction in average load time: 406 milliseconds or 33.3%.

Keep in mind that our test site started the process as a light site. Heavier sites can expect to see a larger improvement in site performance with the same settings in effect.

Next Steps…

There is so much more that you can do with W3TC, even on a shared server. Minification has the greatest potential to boost website performance, but database and object caching may also prove helpful for some sites. If you’re using WordPress and W3TC on a shared server use these settings as a starting point, but not as the final plugin configuration. If you do, you’ll be leaving a lot of potential improvement on the table.

Your next step should be to take a look at the minify, database cache, and object cache modules in W3TC to determine if any improvement in site performance can be produced by configuring those modules. If you’re intimidated by that thought, refer to the second part of this Ultimate Guide to W3 Total Cache in which all of the plugin modules are explained.

Did you give these settings a try on a shared server? What sort of results did you see?

Tags:

Jon Penland Jon manages operations for Kinsta, a managed WordPress hosting provider. He enjoys hiking and adventuring in northeast Georgia with his wife and kids when he isn't figuring out the ins and outs of supporting WordPress-powered businesses.

View Plans & Pricing