When I first started with WordPress, I knew one thing to be true: I needed caching. A WordPress site without caching is a site waiting to go down.
Even with a fast, powerful server you’re better off caching WordPress, which as anyone who has tried will tell you, is a black-art. Not a black-art in the “bullshit SEO” sense, but in the sense that few people know how to do it effectively.
Initially I chose WP-Supercache because it’s easy to install and get started. Over the years I have tried just about every plugin in WordPress.org’s database and even some outside CDN options. For most of this site’s life I have used a well known caching plugin called W3 Total Cache. It has, by far, the most daunting array of options but in all of my testing it was about a half–second faster than any other option out there. A half–second, folks.
That half–second was worth all the hassle of configuring a complex plugin because on the web speed really matters. W3 Total Cache has always done its job, even passing the toughest test: a day where this site logged over 50,000 uniques in the span of 18 hours, on a relatively cheap hosting plan.
I’ve moved this website to four different hosts over the course of its life ((For those not on App.net, I just moved to a Mac mini at macminicolo.net.)) and taken the same WordPress configuration with me. In all that time I’ve only had one bad experience with W3TC (when an update was corrupt and took my site down) and other than that I have been perfectly happy.
Recently I began hosting on the Mac mini. Right away I was seeing problems with the caching plugin, but after some sorting out everything started working. Then I made a change to the footer and nothing on the site updated. I did everything I could think of and still nothing.
It occurred to me that the cache wasn’t working correctly. I disabled the plugin, but the site was still being cached. Huh?
I tried deleting the plugin and all of its far-reaching tentacles. And then the site went down.
I tried searching for solutions and, while I wasn’t alone, I couldn’t find a single thing that worked. I enlisted the help of an elite WordPress guru and even he was stymied.
And then he figured it out. We restarted the server, waited, and then the damned beast was banished. ((It looks like APC was storing something it shouldn’t have, whatever the reason a disabled plugin was still running.))
I have since switched back to WP-Supercache and couldn’t be happier — and given the amount of complaints I have seen about W3TC and users not being able to remove it, I simply cannot recommend that anyone use W3 Total Cache at this time.