Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository


Configurable HTTP Cache-Control headers for webpages generated by WordPress.

Good caching policies is one of performance’s best friend, and it can be your new best friend too. Get friendly with caching by taking control over your WordPress powered website’s HTTP Cache-Control headers with the Cache-Control plugin for WordPress.

This is not a caching plugin in itself, but will enable you to leverage existing standard compliant caching systems better. You can set different policies for different kinds of pages to suite your website’s needs. Allows you to set different policies for shared and private caches. The plugin sets some sensible defaults for a medium traffic level blog that is updated every week or so.

You can safely set long Cache-Control times as the max-age values is lowered when a scheduled post is about to be published.

Private pages (logged in users, the admin interface, etc.) will not be cached.

Author Geeky Software
Contributors geekysoft
  1. Upload the plugin files to the /wp-content/plugins/cache-control directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Use the Settings->Cache-Control screen to configure the plugin

Optionally, also setup mod_cache in Apache or some kind of reverse proxy like Varnish or Nginx to improve your WordPress site’s loading performance.


  • Resolved a problem that made author pages uncacheable.


  • Reduce caching max-age when a scheduled post is imminent.
  • Pagination factor limited to an upper value of ten times the base cache time.


  • Added individual control for search result pages, 404 Not Found responses, and attachment pages.


  • Initial public release

What are Cache-Control headers and how do I use them?

Please refer to RFC 2616 Section 13. If you’re unfamiliar with this header, you’ll want to disable this plugin until you’ve read up on caching in general. Apache’s caching guide is a great resource to get better acquainted with caching. This plugin should be used with great care as it breaks assumptions set by WordPress core and most plugin authors that every page will be regenerated for every request.

How do I test my new HTTP headers?

You can use your web browser’s developer tools, or a web utility for inspecting headers like Redbot. To test a caching proxy, you can use Proxy tester for Android (no such tool exists for other operating systems).

Does this plugin cache and serve static content?

No, but it tells caching reverse proxies like Apache’s mod_cache, Varnish, Squid, that it’s okay to cache the content generated by WordPress for the specified intervals you define in the header.

What about non-public pages like the admin interface? Preview pages? Logged in users?

These pages are always set as non-cacheable. Whether caches respect this is up to their configuration. By default, this shouldn’t be an issue.

Can I control the cacheability of Atom and RSS feeds?

Yes, there is a separate setting for feeds. It’s recommended to set it to a few hours to preserve device battery and network bandwidth on users’ devices even if your site is updated very frequently.

What about dynamic content?

Caching means pages will be static (non-changing) in caches that store them. Dynamic themes that modify page content will generate one variant that is served to all users for as long as a cache consider the response “fresh”. You can use client-side scripting to make some elements (ad banners, recent posts, etc.) update more frequently than the rest of the page.

Is this incompatible with other plugins?

Any plugin that require dynamic content will be negatively affected. For example, many anti-comment spam plugins will not work when served statically from a cache. Make sure to test every feature on your website after enabling caching. Plugins that produce texts, images, ads, and the like will produce one output and potentially have that served to all users until the cache expires.

Version 1.2

Requires WordPress version: 4.4.1 or higher

Compatible up to: 4.7.2

Last Updated 07 Dec 2016

Date Added: 26 Jan 2016

Plugin Homepage


5 stars
1 ratings


Not Enough Data

Works: 0
Broken: 0