Use WP Super Cache for WordPress speed, not W3 Total Cache

We keep coming across WordPress customer sites that have hurt their performance by switching from the “WP Super Cache” plugin we recommend to a newer plugin named “W3 Total Cache”. Unfortunately, their site often ends up being far slower after switching to W3 Total Cache.

If you care about the performance of your site, please stick with WP Super Cache unless you have a very good reason to switch. It works, and it works well.

Some people tell us that W3 Total Cache works just as well if it’s properly configured, and they may well be right — but it seems like it’s difficult to configure properly. Our experience is showing that it’s easy to get wrong, and performance ends up suffering. WP Super Cache makes it easy to get great performance.

92 Comments

  1. Frederick,

    Thanks for your comments. Sadly, my negative feelings about W3 Total Cache have only increased since my original post, which is unfortunate because I really, really want there to be a wide choice of good WordPress caching plugins available.

    W3 Total Cache is fine when properly configured, but far too many people continue to configure it poorly because it allows bad choices. One common example we see is people configuring it to cache database results to disk, converting what are originally zero-latency in-memory reads to high-latency disk writes. This may work on dedicated servers, but disk latency is the usual bottleneck on shared hosting, and the fact that W3 Total Cache makes some people think this configuration is reasonable is frustrating.

    >Making a single tool (plugin or not) that magically tunes your site is impossible

    I really disagree with that. Such a tool exists for most WordPress sites on shared hosting servers. It’s WP Super Cache.

    I know you think I’m being a jerk by denigrating your hard work, but honestly, I’m tired of fixing customer sites that worked perfectly well with WP Super Cache, which W3 Total Cache then completely breaks, then hearing customers tell me they switched because they read it “has more features”, none of which they needed. (Reading comments here suggesting that people who are having these problems lack literacy skills, etc., is also tiresome.)

    I called W3 Total Cache “the site killer” in a tweet that you felt was “name calling”. That’s obviously a strong phrase I used: someone called it nasty, but it’s accurate far too often. I’ve seen W3 Total Cache cause extremely high loads (yes, sometimes completely “killing” sites) in more than a dozen separate cases, when I’ve never once seen WP Super Cache cause a similar problem. In each of those cases, the site owners were convinced that they set up W3 Total Cache properly.

    If it bothers you that we often see it causing problems on people’s sites, then please change it so that people can’t configure it to dramatically increase the load on their sites, or at least that it shows a big warning when they’re about to do so.

    Until then… it causes problems that I have to keep fixing, again and again, wasting my time. It’s probably not surprising that I get a little more annoyed every time I see someone using it instead of the perfectly good alternative that doesn’t cause these problems.

  2. I think the “W3 Total Cache” plugin itself slows down the website. I noticed the difference when I installed this plugin the site changed the speed automatically. I think it’s because it’s very heavy with stuff and features.

  3. I’ve been using WP Super Cache for almost a year now, and I’m very satisfied with it. I use it on both shared and dedicated servers. Though it took awhile to figure out what worked best for my setup, I’m quite happy with it. I tested W3 Total Cache for a short period and even though it seemed to perform ok, I knew that it would take some more time configuring it for my sites. For what little more that could possibly be gained from using W3TC, I just decided to stick with WPSC. You really have test and experiment to see what works best for you set up.

    I also cleaned up the default .htaccess rules that WPSC writes. It has several inefficiencies. I noticed a few tenths improvement by cleaning up the inefficient WPSC rewrite rules.

    For some reason minification of CSS/JS files made my sites slower with W3TC. Even with WP Minify it seemed to slow down my sites. So instead, I YUI compress all of my CSS/JS files and gzip them manually. Then via rewrite rules, I have those served to the user if their browser supports it.

    Just my 2 cents, I’m pretty sure everyone’s mileage varies. Not too many servers are set up equally.

  4. [This comment has been removed by Tiger Technologies due to inappropriate language and an abusive tone. Justin, you’re welcome to re-post your comment, but please: no profanity, and no calling other people names.]

  5. WordPress Supercache is faster than W3TC. I have switched back and forth multiple times over the last year or so and it is possible to feel and see the speed superiority of WordPress Supercache.

    W3TC is also trouble. On one blog that the plugin was deleted from the directives were not removed from the htaccess file for some reason. The ISP complained about server loads and two blogs were deleted to try and stop the problem.

    Then the people at the ISP discovered there were lots of W3TC calls being made which didn’t make any sense because the plugin had been uninstalled. Looking in the htaccess file revealed that all of the old W3TC directives were in there with the WordPress Supercache directives.

    The two blogs deleted unnecessarily are still being rebuilt. I have a really bad attitude towards W3TC for causing that problem.

    For a regular joe blow with a regular joe blow website, W3TC was always slow and troublesome.

    WordPress Supercache is fast and no trouble.

  6. I tried using W3 Total Cache but I found it too difficult to set it up correctly. It keeps giving me errors messages when I activate the minify function and it also breaks my theme CSS.

    I spent a lot of time trying to find a solution but in the end I’m just the average blogger so I switched back to the good old WP Super Cache.

    Super Cache is very simple, you can get it up and running with no headaches. That’s what makes it the best caching plugin for me.

  7. Hmm, As far as i know Wp-Super Cache is better than W3 Total Cache.

    it is easy, fast and cleaner than W3TC.

    I am running 4 wordpress sites on my VPS which is only have 1Gb ram and 2 CPU cores.

    And my daily page views of all the blogs are 225000 a day.

    And my server is running fine till date and never run out of resources and it is running under max 30% cpu load and 45% Ram. 🙂

    When i tried W3TC i lost the performance of my blog and my VPS freeze, 🙁 dont know for what reason.. i configure all the settings properly.

    So guys in my opinion Wp-Super Cache is far better than W3TC till date. i cant say about the future

    Thanks

  8. and Sorry i forgot to mentioned 🙂

    I move all of my static images, CSS, JAVA scripts to CDN 😉

    Which is also help me alot to decrease the load

  9. Hello!

    I installed yesterday W3 TC and the default configuration made it slower than without caching. I am not saying that it cannot perform fast, but in my case, with default settings, it didn’t. Then I installed WP Super Cache and soon I could see that it got a lot faster.

    Actually I am writing to you because of an issue I ran into. I have problem with WP Super Cache: although the pages load, I get a 403 response on the site root. See this analysis:
    http://goo.gl/sQeck

    As the site loads ok, something might not work because of this (don’t know). The first thing I could see not working is the reports of Pingdom / Montastic with site uptime.

    PS: I also use 5G protection for .htacces (http://perishablepress.com/5g-blacklist-2012). I removed it and still got the 403, so I would guess it is from WP Super Cache. As far as I know, the server runs suphp.

  10. conualfy wrote:

    >I get a 403 response on the site root. […]
    >I also use 5G protection for .htacces.
    >I removed it and still got the 403, so
    >I would guess it is from WP Super Cache

    What you’re describing sounds like a “5G protection” issue rather than a WP Super Cache problem. Showing 403 errors for certain IP addresses, etc., is exactly what those kinds of “protection” plugins do.

    On a technical level, it probably added rules to your .htaccess file that block Pingdom, and even though you’ve disabled the plugin, the rules are still leftover in your .htaccess file. Cleaning the .htaccess file should fix it.

  11. Actually I’ve removed all 5G (it is still removed) and I still get the 403 (but the site works ok and fast, it only seems to have blocked Pingdom and Monstastic uptime reports robot). Also see here a test I just finished:
    http://www.webpagetest.org/result/120217_CN_34d7f01a042fb2aa32e35102619ced4a/1/details/

    It first appeared when I installed W3 Total Cache, then it continued with WP Super Cache that replaced W3TC.

    I disabled WP Super Cache and like magic, that 403 was gone 🙂

    F.

  12. Figured it out. Everything was ok with the .htaccess and WP Super Cache.

    The problem was in the parent folder, there was another domain there with a .htaccess and I inherited that file’s rules. On this ocasion, my hosting support guys reminded me that those rules are inherited 😀

    Thanks!

  13. How about Quick Cache?

  14. Robert, thanks for replying. As I see, the path forward is what lots of others do and simply report the bugs and work with me (the developer) to give the users what they want. Users switch to W3TC for numerous reasons and TT was the only hosting company I’ve found thus far that won’t just send me bug reports like anyone else in the open source community. Some users even send patches. It’s not my interest in creating more work for you, my interest was in increasing google page speed scores on almost any web site and allowing users to have a quick start to increased performance while being able to tune their site for the way they use wordpress and the server resources they have available – the intention is to create a performance framework. You of course are welcome to your opinions, the fact that users want something and a host rejects it for a lesser quantity is precisely why we at W3 end up doing so many hosting migrations for clients. There’s no reason why we can’t recommend TT as a company that gets it, but the communication is off topic.

    We welcome your bug submissions, time spent there will be reciprocated in bug fixes.

  15. Fredrick, you don’t have to look far to see blogs being killed or at least ‘maimed’ by W3TC, case in point:

    “How the W3 Cache Plugin for WordPress Killed My Feedburner (And How I Saved It)”
    http://katywidrick.com/2011/08/02/when-you-hear-crickets-clear-your-cache/

    It is clear that caching is an extremely powerful tool that can have as much, if not more, negative consequences for a blog as it can positive ones. It is like putting a total amateur driver in the seat of a Ferrari. Sure, it looks sexy and has promise of speed but it can also be deadly.

    So either build in safety measures as Robert has asked for repeatedly or make it impossible (like WP Super Cache) for the plugin to damage the blog.

    We all appreciate the work you’ve put into this and I agree with Robert when he says that alternatives are great when it comes to plugins. All people are asking you to do is to be cognizant of just how powerful and therefore dangerous this thing is!

    cheers

  16. can anyone enlighten us what WP Varnish is referring to in this benchmark test?
    http://cd34.com/blog/scalability/wordpress-cache-plugin-benchmarks/

    the only thing I can think of is https://www.varnish-cache.org/ but I can’t find any sort of wordpress plugin

    ??????

  17. Take a look at the list of caching plugins in the introductory text of that page. “WP Varnish” is a link — just click on it for more information, including a download. You can also leave a comment on that page if you have more questions about its content; it’s not a page that we created, so we don’t know anything special about it, unfortunately.

  18. Hello Dear Robert Mathews,
    You’re right that WP Super Cache is much simpler and better than W3TC. I switched to W3TC, but then i realized that my website’s performance was even slowed down than an un optimized website. And even i set up W3TC according to an online guide. So then i removed W3TC. So this could be very harmful for a simple blogger.
    Thanks for this nice article.

  19. And this is my Blog:
    Wiki For You
    I am using Genesis framework and heard that W3TC works better on Thesis than Genesis. So please check my blog and tell me if i’ve done any faults. Or recommend me a good theme…(Free is better than paid).

  20. It looks like your blog is using W3TC now. You should check the plugin documentation, contact the plugin author, or ask your hosting company if you have any questions about the best way to configure it. (Since you are not a customer of ours, we really don’t know exactly how your server is configured and what the best setup would be.)

    We’re sorry we couldn’t provide what you were looking for!

  21. I do not have any idea about what you guys are talking about here. I was using W3 Total Cache until I get errors. Please don’t ask me about the errors because I do not know how to explain it. I am just a regular guy who owns a wordpress site. The WP Super Cache works well for my wordpress blog without an error and the load time is faster again. Thanks for the post!

  22. Thanks for all the debate ! Went with W3 Total Cache ! It has made my page speed better on google and better indexing of posts..getting higher traffic 🙂

  23. Well, you are comparing two different approaches and technologies here, so you should really, really take care about that aside the fact this post has been around for now two years and both plugins have been under constant development since then, gained more features and matured even more.

    Both plugins have their use, are mature, widespread used and well tested. Super Cache is fine if you do not want to take the burden upon you to configure a shit load of options. SC is all about caching fully rendered pages, so that’s about it in a nutshell, which is fine for 99% of your visitors anyways. It just does that, nothing more, nothing less, nothing fancy in there, also page compression builtin and other stuff.

    Super Cache is a good all around caching plugin for serving static files.

    W3TC is about caching in general, so it naturally does way more than Super Cache. It is able to cache rendered pages, so that‘s the same like Super Cache, but further more it can cache database queries which might come in handy if your database server is shared, misconfigured, slowly whatever, it is able to cache objects, fine tune browser settings, it has minifying for HTML, Javascript and CSS built right in and so on and on…

    So, yes W3TC has for sure much more options to configure if you want to, but that‘s quite natural if you consider the fact that is also has way more features. More features is equal to more options to configure, more nuts and bolts.

    So W3TC does more and yes, it takes a little bit more time to configure it, but that is definitely worth it when you need it, asides you do not need to enable all of its options if you do not want to. It is well documented, so configuring it properly is no big deal if you want to do that.

    In conclusion: if you want a painless caching plugin which serves static files to take much burden of your system, take Super Cache. If you want or need more than that, then W3TC is definitely the way to go for you, since it offers so much more than Super Cache and caches more than SC. W3TC is the mother of all caching plugins in WordPress anyways.

    Aside that, of course all that is situational, and there are many benchmarks around, which measured the performance of those plugins. Of course again, benchmarks are always somewhat fictional, since the are not able to mirror normal behaviour patterns very well, so the best way to go to find out which plugins suits you best is to look up who uses it, what they are saying about their experience with it and its performance.

    As far as I can tell, W3TC able to speedup my own wordpress blog way faster than Super Cache and that‘s why I am going to stick around with that. Your mileage may vary.

  24. I agree totally that supercache is a better option for 90% of wordpress users. It still really benefits from using the advanced settings and a CDN (which are easy to do).
    W3 Total cache has way too many options and is geared toward people who are so techy they don’t realise how tech-ignorant 95% of wordpress users are.
    The other thing which drives me crazy with W3TC is the incessant clear cache messages whenever you change your plugins etc, which take you back to the W3TC admin page. Very inefficient, and quite scary for a novice WordPress user who worries what they’ve broken.

  25. My experience. I built a highly minimalist wordpress template that is small enough that jQuery with a couple of plugins and some custom scripts along with a responsive style sheet take up 2/3’s the size of the page size (excluding images).
    On my shared hosting account, it took about 4-500 milliseconds to generate the main page (as noted in chrome’s developer tools network section). A tool called openload rated it at 7-9 transfers per second. Not great.
    So I signed up for a 512MB cloud server at Rackspace. I built a Debian 6 server running Nginx + php-fpm + APC + MariaDB. Before APC the same setup as on my shared server actually loaded a bit slower due to the greater distance of the server from my physical location (longer connection times).
    At first I loaded Hyper Cache. It worked okay, reducing my time to first byte down to 2-300milliseconds. Openload rated the new setup at 70ish transfers per second. The problem was, while the first data was coming in quickly, it was the scripts and stylesheets coming in slowly that was bringing down the load experience.
    W3TC sounds like a great plugin. I switched to it due to the script and css concat and minification features and the CDN features. I got APC running and cached the ojects and database through it. I got the pages caching to the Disk (enhanced) and minification working. I also setup the CloudFiles CDN and loaded it (not with my scripts and stylesheets as W3TC refused to do this due to the issue mentioned in the next sentence). The only initial problem was the minification URL rewriting absolutely refused to work. It still doesn’t work. You got me as to what it’s problem is.
    What was the result. The html itself now took 8-900 milliseconds to load. Openload now rated the site at about 3-4 tranfers per second. Page loads looked like crap as well. After manually tuning the minification the page load looked a bit better, but performance sucked.
    Eventually I found that W3TC wasn’t caching static files, even though the interface made no mention of it.
    Eventually, somehow, I managed to get it caching. Now my site is being rated as just slightly faster than the uncached version on my shared hosting account. The biggest improvement I have been able to make is to improve the browser caching. But it loads poorly on first visit.
    Have I switched to Super Cache yet? Not yet.
    I understand that W3TC is an plugin developed by one guy and is still in alpha stage development. Plus I have a couple of more things to try before I quit entirely. I am currently loading memcached and varnish (although varnish baffles me. Nginx is supposed to be a reverse proxy, which it seems varnish is).
    I am seriously thinking that I am going to have to dump it though. I am mostly thinking that I want to see what will happen just to say I tried.
    W3TC has been a horrible experience. And that seems to be the underlying issue that runs through this forum (and the many many other forums where people are griping about issues they are having with this plugin).
    W3TC’s major problem isn’t technical, it’s user experience. The promises on the plugin page fall short as it seems most of it’s features are buggy. Before saying it isn’t, look at the forums with reams of people having the same issues (like the minify rewrite urls not working). Also, people keep referring to documentation, but I haven’t found any. If there is some great, please let me know where it is as I have been wasting a bunch of time trying to find it. Also, very important, feedback from the plugin. If the pages aren’t caching, the plugin should know this and tell you.
    Also, make it so scripts and css can be loaded up to the CDN whether or not it has been minified. To me, it is more important to have it on a CDN than if I shave 10% off of it.
    Sorry for this posts length, but W3TC’s issues are lengthy.

  26. I agree that W3 Total cache is a “broken” plugin, it was very promising, but my experience is that works bad, very bad. After the configuration i not see improvements on cpu load, pages load faster but cpu load remains the same.

    I have problems specialy with “disk enhaced” page cache option, near to impossible that it works correctly.

    In the next days i will delete W3C Total Cache and i will try WP Total Cache and Quick Cache.
    Hope that one of those two plugins do the job, because W3C Total cache is horrible and NOT works, not have active community since the autor fully ignore bug report.

  27. Frederick Townes is lacks common sense.

    If you visit your favourite search engine, you will see countless times Mr Townes argued that PHP cache was far superior than static caching (insert laugh here) inevitably saying W3TC offers superior performance than WP Super Cache. I won’t go on to how obviously stupid his remarks were but to his credit he can develop things, but much of W3TC is bloated with bad hooks and poor structure of coding.

    When a new operating system is launched, it’s a general understanding that it may involve installing a faster processor and more memory and so on. But does that make this new operating system superior or is it just because we improved the hardware? What I’m trying to say is, prior to this “Disk: Enhanced” feature, his argument was to those proving W3TC had poor performance over WPSC, was that their system was slow or needed to be upgraded. Anyone who develops advanced plugins for WordPress knows how much of a joke Frederick has become in the WordPress community and generally ignored “all things Frederick”. Again, use your favourite search engine to see the evidence.

    Now, after all the shit talking, he finally gave-in to static caching. When he was quizzed by multiple people at different times asking why he added this now, he gave different contradicting answers. One reason was “I planned to add static caching”, in another he claimed “my plugin is the first to introduce this kind of static caching”. He even went as far as to deny ever claiming static caching was slower than PHP caching. Before you get hyped up, please use your search engine. I did, just to triple check so that when you do, I don’t look like an idiot.

    W3TC was developed under the assumption everything is installed in one directory and one URL, yet supposedly for “advanced users”. The plugin doesn’t even use the parameters defined in wp-config.php or through the database. For example, if WP_CONTENT_DIR and WP_CONTENT_URL is different to WP_SITEURL/WP_HOME, the plugin isn’t structured to detect/utilise this, so an appropriate .htaccess file isn’t created in this different `content` directory, thus rendering the browser cache function useless unless you manually do this. Quite trivial, I know. I’m just pointing out that you should be careful who you trust when using plugins. If you choose to ignore simple things, you’ll grow used to the plugin and be less willing to change when things do break.

    I have a list of over 146 problems this idiot overlooked.

    That’s all from me, goodbye!

  28. great post and comments, i have been running W3TC and at times my site ran ok but over time seems to be getting slower. i’m considering giving super cache a try and will then compare page load times.

  29. I do not use cashe plugin any more, use cdn service instead.

  30. Unfortunately I have to say that I’ve had a bad experience with W3 Total Cache. The CPU load has increased significantly, and the overall speed of the site as well. So going back to WP Super Cache. A shame, because I really liked everything supposedly the plugin can do, maybe I have not set it up properly. That may be the error too, having too many options to set.

  31. Ijust uninstalled W3TC from my site. My site run faster after uninstall W3TC & more faster after install WSPC.

  32. I used W3 TC for a while combined with Amazon cloud front. W3TC pages get better google page speed reviews but the overall user experience is slow. I used the p3 plugin profiler and noticed that of the 2.5 secs it takes to load all the plugins that W3 TC was taking 1.3 secs and Jetpack was 0.8 secs.

    Now I am running WP Super cache and that uses only 0.05 secs to load as a plugin and also has made jetpack now load in 0.6 secs, which I still find long. I am considering jetpack lite which only has the stats functionality.

  33. Using the P3 tool I disabled all the jetpack functions not needed – Jetpack now uses only 0.2 seconds. I also found a WP Widget Cache that works with WP Super Cache. P3 plugin profiler says all plugins use only 0.7 secs combined.

    I also enabled CDN functionality with Amazon Cloudfront. Very happy overall with speed.

  34. Interesting result..
    2 menstylefashion thanx very usefull info.
    Do you test Wp Super cache VS Page Speed (from Google, new service)?

  35. Food-admin

    I use Wp Super cache with Google Page Speed Service. Works great! I have been using MaxCDN with my site, but now I use only Gooogle page Speed Service with Wp Super cache.

    My experience with W3 Total Cache plugin; After trying out several configurations, with basic disk, enhanched disk etc. I didn´t get W3TC to work nice for me. Enhanched disk double my disk space with a huge amount of growing cache files. To “delete cache” within Admin didn´t work. I have to do manual delete files on my server. After tweaking and trying couple of weeks I delete W3TC plugin.

  36. W3 Total Cache is a resource hog, with promises of the sun, sand and the sea – with only darkness of sluggishness to be experienced.

    FACT: Your WordPress website will be 99.99% faster without W3 Total Cache.

    If this was a loneman project, then let it die with just 1 man. In the world of simplifying things, you got options that wear the UI down, and kills the UX.

    WP Super Cache is born to with WordPress. I have used Quick Cache but the trip back to W3 Total Cache has been a nightmare, with flashing whites loading pages, and a retardation that is solely attributed to W3.

    Even with CDN and correct tweaks, I think the survival of W3 Total Cache dwells on the historical positivity that will only decipate with time…

    Use WP Super Cache for your wordpress websites.

  37. I myself prefer WP super cache because its much more easier to configure and its easy to use. The speed of cached pages are good and it doesn’t use PHP commands to return cached pages and its so great. however W3 total cache does the same and it has even more options, but its a little complicated for mist users to configure it properly and if you can’t configure it right, it even slows down your website. So i prefer WP super cache.

  38. Well, I have tested both. In fact W3TC sucked me up. Now I am with WPSC with CloudFlare free cdn, and my site works like a charm with good number of visitors in bluehost shared hosting. I am not against W3TC, but in my small knowledge, I am more satisfied with WPSC. I will agree that as I am not a WP savvy guy, use of W3TC, actually slowed my site by at least 5 times. Sorry guys, but this is my experience. I am not a wordpress expert but am running 5/6 sites alone, all with WP SC + CloudFlare in bluehost. Rgds. Indrajit

  39. Wp Fast Cache is the best I found. https://wordpress.org/plugins/wp-fast-cache/

    W3 needs too much server resources in my experience. WP Fast Cache is simple and fast, if only they made a cron job so it would update automatically it would be perfect.

  40. Thanks for the mention of W3 Fast Cache. We hadn’t heard about it before, so we took a look. We found that its page says it is compatible with WordPress versions up to 3.5.2. Since WordPress is well past that version at this point, we wouldn’t recommend it to any of our customers to use. You are welcome to try it, of course, but if it doesn’t work then we wouldn’t be able to suggest anything beyond “don’t use it because it’s not compatible.” It sounds like you are using it successfully. If so, great! But other people may run into compatibility issues with other plugins (or even with WordPress itself).

    Given all that, we continue to recommend WP Super Cache as the best solution for the vast majority of our customers. It’s easy to install and get great results with.

  41. My experience was like a nightmare. I used w3 total cache for 8 months and i thought all is fine i was a new i found this blog on site speed and i thought to monitor my site http://www.freezetheme.com . which use to load 8seconds i was not able to minify it more. Than i use p3 plugin to check how much my plugins take i was shocked to see 4seconds was of w3 total cache i immediately deactivated and looked for its alternative wp-supercache it improved my site speed experience which i have seen never before.
    i also found a blog on sparingminds which was on optimizing wordpress which also helped me a lot.

  42. I agree with you. W3 Total Cache is worst. It worked for me in small websites, but never on a big website. It is a bit complicated to setup. Most of the time minify never works. It even caches the frontpage for logged in user even when you set the w3tc to not do so.