What is the best caching option for WordPress multi-site on non-shared hosting?

What caching plugin configuration do you recommend and why under the following assumptions:

  • full control of the server configuration
  • running WordPress in multi-site/multi-domain mode
  • most domains are not using www. prefix (cookies)
  • (desire) to be able to disable caching for specific IPs or based on a cookie, when you do changes to the site you don’t need caching.

Details: I’m using Firefox Google Page Speed plugin to try to optimize the speed of the website.

Also please do not guide with generic guidelines, like smaller images.

Let’s be fair, using more than one caching plugin will bring you more problems than it will solve so please try to give a simple approach.


Basic answer to “what plugin” would probably be W3 Total Cache. It is one of the most functional and actively developed plugins at moment. However complete performance chain is much longer that WordPress plugin alone can handle.

  1. Web server (Apache or something else) configuration (response time, time to first byte, headers).
  2. Database (time spent processing queries).
  3. PHP/WordPress (page generation time, memory consumption).
  4. Front-end performance (amount of HTTP requests, bandwidth).

Good start would be static caching plugin (like W3) with opcode memory-based cache like APC.

But from there there are way more (and way more complex) things you could do, like content distribution networks, alternate web servers, etc.

Leave a Comment