How W3 Total Cache Speeds Up Your WordPress Site (Plus the Novice’s Guide to Minify Settings)

W3 Total Cache

If you run a website, content may be king, but speed is the cook that keeps the king fed.  Recently, we talked about WhichLoadsFaster, a site that compares loading times of two or more websites.  How do you improve your site’s chances of being the site that loads faster?One of the best tools for speeding up sites, and one that we use here at 40Tech, is W3 Total Cache, a caching plugin.  W3 Total Cache not only speeds up your site, but it can also save you bandwidth.

First, though, let’s look at how WordPress works without a caching plugin.  Normally, when someone visits your site, WordPress has to build everything on the page.  It does that by processing code, making calls to your database, and outputting the final content that your visitors see in their browsers.  Caching strips down this process.  The general idea behind caching is that much of this process will (ideally) happen once – the first time someone visits the page.  The page is saved at the time of that visit, and the prebuilt version of the page is then displayed to subsequent visitors, for a predetermined period of time.

W3 Total Cache is one of the more advanced caching plugins, so it can be daunting.  There are several ways that it can cache your site (all of which we’re using here at 40Tech).  The caching options are Page Cache, Minfy, Database Cache, Object Cache, and Browser Cache.  You can also set up a CDN (Content Distribution Network).

Most of the settings don’t require any effort at all if you have a typical shared hosting solution.  I went with the default settings for almost all of the settings, and they worked without any trouble.  The two exceptions to this, and the two that are the most interesting from a geek perspective, are Minify, and the CDN options.

Using a CDN is a way to distribute some of your site images and other files on servers closer to your users.  This not only speeds up your site, but also saves you bandwidth.  40Tech uses Amazon’s S3 and Cloudfront, which has a global network and is so cheap it is almost free.  All that I had to do was input my Amazon S3 settings on the plugin’s CDN settings page, let the plugin walk me through getting the initial files uploaded, and I was good to go.

How I Set Up the Minify Features

W3 Total Cache’s Minify feature decreases the size and number of CSS and JS files by combining them into one file.  You have to configure this, though, which might make your head explode at first glance.

If you take your time and do it in steps, though, it isn’t so hard.  I did it by clicking on the Help Wizard button on the minify page, and just going through trial and error.  I checked the box next to a few scripts at a time, testing out the site to make sure that I didn’t break anything.  Fortunately, W3 Total Cache allows you to preview any changes before deploying them to the site (by clicking the “Preview” button near the top of the plugin settings page).  So, if a minfied item messed up the site, I tried it in a different location, and ultimately removed it from the minified settings if it just wouldn’t work.  It took time, and eventually I had identified each piece that could be minified.  This might not be the ideal way to do it, but for a novice, it works.  When you’re done, don’t forget to click the “Deploy” button to have the changes go live on your site.

Are you a site owner?  What ways have you found to be speed up your site?

Evan Kline

Hello, I'm Evan. I write about tech from my perspective – that of the average 40-something tech geek. You can also find me on Twitter and at my real-life job as a lawyer.    MORE ABOUT ME.


  1. I implemented W3 Total Cache and JQuery Image Lazy Loader (which Bobby wrote about here -> at the time when I switched over to my new theme.

    Not only does the site appear to load more quicky, but the numbers back it up. I used the latency tracker plugin, and my load times have dropped dramtically – almost every request is taking just a second or so. I’m not even using the advanced features – I just activated the plug-in and clicked a few buttons.

    The exception to this is when someone delves into the older pages (going to /page/36/, for example). These requests can sometimes take 12-30 seconds (but at other times are much quicker). My first thought is that this is somehwo related to the way the database in indexed – placing more emphasis on newer data? Let me know if you have thoughts.

    • Interesting. I just tried loading some older pages at work, and didn’t notice any slowdown. I’m not sure why you may be seeing that. The way that most caching plugins work is by caching a page when someone first visits it. Is it possible that you are simply the first visitor to the older page, so you’re not seeing a cached version of the page?

      • Hmm. That could be it. It seems that page 90 loads more slowly than page 85, which loads more slowly than page 80, etc, though. And whenever a new post is published, the “pages” would repaginate, since page 1 is the most recent – meaning that there would be no cached version of any of those pages at that point.

        I guess if the DB calls were cached, it would make sense that the newer ones were more likely to be in cache. I need to learn moer about how WordPress works under the hood.

        Nobody has actually suggested to me that this is a problem – I most have noticed it when I’ve been poking around to see what Adsense ads are appearing on older pages.

Leave a Reply