Updated 1st April 2018

One of the biggest problems I found while working with a large WordPress multisite was caching issues. The problems seem to amplify when using domain mapping with the big caching plugin options such as WP Super Cache and W3 Total Cache. With good server setup, there isn’t a real need for many additional cache plugins that will eat up resources and in some cases actually make your site slower.

What I was looking for was a static cache plugin. A plugin that will generate a static HTML version of your page and serve the static version to visitors. WP Super Cache seemed like the solid option but after 6 months of testing. We found multiple issues on our multisite. These included login redirects for no apparent reason and limited per site options.

I’ll go through the setup I use on most Multisite networks. This changes from time to time but provides a solid base to work up from with very little expense.

 

Cache Enabler By KeyCDN

Cache Enabler

After a lot of trial and error, we found Cache Enabler by KeyCDN. A very simple caching plugin that generates static HTML copies of posts and pages, what is really great about Cache Enabler is that you can independently configure for each site on your network. It works perfectly with domain mapping and doesn’t cause any painful login errors or our users.

Cache enabler has a very simple set of option that you can just leave as are. You can activate network-wide and it will automatically serve a static cache for each subsite, even with domain mapping.

 

Redis Object Cache

Redis Object CacheRedis (or Memcached) is pretty vital for a large multisite. You will likely have a lot of users logged in making database requests. This will really slow things down when you combine them with a large number of plugins and traffic. Redis caching database requests and serves them from your servers RAM. The downside is that it uses your servers memory resources, but I’ll assume you have a database on a dedicated server so your web server can spare some RAM. You will need to install Redis on your web server and then you can use the WordPress Redis Object Cache plugin.

 

Autoptimize

Autoptimize — WordPress Plugins

Unless you are minifying your scripts serverside or with Cloudflare. You will also want to look at a solution to compress, combine and defer scripts and even inline critical CSS. Autoptimize comes out on top each time we test minification plugins, even compared to WP Rocket Autoptimize often performs best with little configuration. Autoptimize will need to be configured per site in a WordPress multisite network which will give you much more control.

 

CDN Enabler

If you manage a CDN through KeyCDN or similar then try CDN Enabler also by KeyCDN to activate a content delivery network on a per-site basis. Allowing different CDN URL for each site or going further and improving SEO by giving each site a relative CNAME. Autoptimize allows you to configure a CDN URL but only for minified files so CDN Enabler works better if you also need to serve images and other media over a CSN.

I hope this short article helps other find a stable cache setup for their Multisite. Any questions or comments please leave them below.