Wondering what all the fuss is about with people tweeting their love for caching plugins? Consider this a quick beginner’s introduction to WordPress caching, an answer to a few of the questions you may have been afraid to ask.
Today we’re going to take a look at W3 Total Cache, written by Frederick Townes, a server junkie and CTO of Mashable. This caching option is used by many high traffic sites, such as mashable.com, smashingmagazine.com, tutsplus.com, webdesignerdepot.com, pearsonified.com, css-tricks.com, and yoast.com. If you’d like to compare it to some other caching plugins, have a look at some WordPress cache plugin benchmarks for a thorough analysis of current WordPress scalability options.
What is caching?
Basic caching for WordPress involves taking the dynamic posts and pages and making them available as static files. These static files are then served to users which reduces the processing load on the server, especially during times of high traffic.
Why do I need caching for WordPress?
You may not. If your website is not trying to attract new traffic, then you’re probably safe without it. However, if you want to be prepared for a measure of success, you absolutely must have a caching option in place. Otherwise you risk overloading your server during what should be a shining moment of unprecedented traffic for your website. Even though the average website probably doesn’t need caching 99% of the time, when you do have a traffic spike, you’ll appreciate it. It’s times like these that can make or break a business. It will help you to avoid having to get an expensive dedicated server for your site if you’re only occasionally running into traffic spikes.
Benefits of Using W3 Total Cache
- At least 10x improvement in overall site performance (when fully configured: Grade A in YSlow or significant Google Page Speed improvements)
- Improves “site performance” which affect your site’s rank on Google.com
- “Instant” second page views (browser caching after first page view)
- Reduced page load time: increased visitor time on site (visitors view more pages)
- Optimized progressive render (pages appear to render immediately)
- Improved web server performance (sustain high traffic spikes)
- Up to 80% bandwidth savings via minify and HTTP compression of HTML, CSS, JavaScript and feeds
Why is W3 Total Cache better than other caching options?
Depending on your server’s configuration you can see 50-100% improvement over WP Super Cache. However, WP Super Cache may be a better option for you if you don’t have the available RAM that W3TC requires to do its magic. W3TC utilizes your in-memory cache (APC or memcache). Memory caching is faster than disk caching, so if you’re able to dedicate at least 128M for memory caching, you should be able to see a remarkable improvement in performance.
What is CDN and how does it work?
Another way W3 Total Cache is able to give you a significant boost in performance is by providing transparent CDN integration. A content delivery network (CDN) is a collection of web servers distributed across multiple locations to deliver content more efficiently to users. A site can often dramatically improve load performance by offloading static assets, such as images and javascript, to be served by a content delivery network. W3TC makes it easy for you to set this up to work in concert with its caching system.
Is W3 Total Cache compatible with WPMU and BuddyPress?
Yes. :) Yet another reason this plugin gets my vote.
Considerations:
- Make sure caching plugins work well with other plugins, i.e. ones that show ads based on search queries, etc.
- Memcached isn’t available on most shared hosting providers
- W3 Total Cache requires more memory than WP Super Cache, so you’ll need to make sure your hosting has that available.
- Since you manually enter CSS / JS to compress, you’ll have to do this again if you ever change your theme files or add plugins, etc.




Very helpful post for those getting started with caching! Note the memory usage is reduced, minify interface is simplified and tons of new features scheduled for the upcoming release including optimizations for BuddyPress.
I’ve been trying to figure out how to get BuddyPress running smoothly with W3 Total Cache.. But the activity stream does not update properly with caching enabled, and so far I have not found a good setup that works..
The actual W3 Total Cache plugin is really amazing, and it would be awesome to get it working 100% with BuddyPress.. Looking forward to the new release Frederick!
Pingback: Wordpress Belarus » Blog Archive » Maximize WordPress and BuddyPress Performance With W3 Total Cache …
Does this work well with multiple servers? How does it compare to Batcache which WordPress.com uses?
Scott, well I built it for Mashable.com, so the short answer is yes. Batcache is a different animal, there is no one-to-one comparison.
Also looking forward to any BuddyPress-specific enhancements as per Bowe’s comments.
Wait, can someone translate this for me? It’s from the plugin database you link to.
“W3 Total Cache has a number of options and sometimes settings can be quite detrimental to site performance. If you can’t use APC caching or Memcached for caching Database queries or Minification, turn both off. W3 Total Cache’s interface is overwhelming but the plugin author has indicated that he’ll be making a new ‘Wizard’ configuration menu in the next version along with Fragment Caching.”
So until that “Wizard” version comes out, I (and anyone else who doesn’t really know what they’re doing) should stick with Super Cache?
What is the best way to check for plugin (especially buddypress specific) incompatibilities with this or any other caching plugin? I had installed the minify plugin and it seemed to break Bp-Chat and the links plugin functionality and so I had to deactivate minify.
I’ve been hesitant to try out Super Cache or W3 Total Cache on my production site because I am not sure how to detect incompatibilities.
I can’t activate it.. it’s giving a ‘Fatal Error’ without saying what the error is.
So I guess no caching for my site.
Stef, I can send you the development version of the plugin which handles some rare cases like yours.
Pingback: The Link Edition: Friday Find | Premium BuddyPress Themes at BuddyDress
@Frederick
That would be great! Thank you.
my email is stef78[at]gmail.com
Pingback: How to Optimize WordPress Images Automatically Without Losing Quality - WordPress MU and BuddyPress plugins, themes, support, tips and how to's
Pingback: How to Optimize WordPress Images Automatically Without Losing Quality « Test Blog
Pingback: links for 2010-06-10 | Aram on Mason
I’m a little confused. You say that W3TC requires more memory than WP Super Cache… but is that only if you have the plugin set to use opcode or memcache? If you have everything set to just use disk (the default settings), does it still require more memory? My server has 2GB of RAM and 16 WP sites (three of which are BuddyPress but NOT in network/mu mode). The traffic is pretty low but available RAM can get pretty low are times. Should I use WP Super Cache instead?
David, W3TC has more capabilities, so when various events the plugin performs run more memory is required. It has nothing to do with how the plugin works, it’s just life. WordPress itself requires different amounts of memory depending on what you’re doing also. We’re talking here about PHP’s memory allocation, none of the cases you’re referring to. Since every theme, server etc is different I don’t have any rules of thumb here, but in the past year I’ve only seen 1 user that had to change their PHP memory allocation and that was because of how their theme was written.
Pingback: Speed Up WordPress on Shared or Cheap Hosting With Hyper Cache - WPMU.org – WordPress, Multisite and BuddyPress news, tips and resources
Is there a known issue with network activation for networked blogs? It’s triggering a fatal error on two separate installations.
Forgot to check “notify of followup”…
Well yes, it’s not possible due to the number of options and the way caching works in WordPress to do this reliably for all possible use cases, so it’s only a partial implementation. Input appreciated.
I use W3 Total Cache plugin. thanks
Pingback: Information Technology Education | Blog | Maximize WordPress and BuddyPress Performance With W3 Total Cache
Old post, I know, but I’m just wondering: I have a basic VPS, and my BuddyPress/WordPress site has about 40 members, and the memory usage goes up to almost 70%; would W3 Total Cache help my server out much?
Pingback: wp-coder.net » 1,000 Posts on WordPress and BuddyPress
This plugin breaked my system, because of it the permalinks died.I had links like site/community/members/username, now it doesn’t allow me, I only can get to the user by site/members/username. Does anyone know why?How can I fix this?