RunCache is a free WordPress caching plugin that combines a full page cache, a Redis object cache, and a CDN (content delivery network) in one place. It caches your pages in the web server itself, not only in PHP, and it runs on any server you control.
RunCache is built by RunCloud but does not require RunCloud hosting or a RunCloud account. It performs no license check and never contacts RunCloud.
Most WordPress caching plugins work at the application level. They still start PHP, load WordPress, and run a drop-in before returning the stored HTML, so much of the cost of building the page is incurred on every request.
RunCache configures caching at the server level, allowing supported server configurations to return cached pages without starting PHP or opening a database connection. On a cache hit, NGINX, Apache, or LiteSpeed reads the stored page and returns it directly, so PHP never starts, and no database connection opens. That is what visitors feel in Time to First Byte (TTFB), and it matters most during traffic spikes, when PHP workers are the bottleneck.
Server-level caching normally comes with a catch: it works only on one web server, or only on one host’s servers. RunCache is built the other way round. It supports NGINX, NGINX FastCGI, Apache, LiteSpeed, Redis, and Cloudflare, detects what your server actually runs, and offers only the types that will work.
Move hosts, and the same plugin and the same settings screen follow you.
Instantly improve your site’s performance and scalability with zero-configuration caching and sensible defaults. RunCache writes the configuration for the type you pick and only offers what your server supports. Compare cache types.
ngx_cache_purge to purge single URLs. Setup guide..htaccess serve the stored file before the request reaches PHP. Nearly as fast as FastCGI and easier to enable, because .htaccess is usually already writable. Needs mod_rewrite, mod_headers, and a restart.WordPress runs the same queries on every page load, fetching options, theme settings, and user data over and over, and the built-in object cache is cleared at the end of each request.
Redis Object Cache makes it persistent. WordPress checks Redis first, and on a hit, the value returns without touching the database. This is the layer that speeds up wp-admin, WooCommerce checkout, and membership areas, because none of those pages can be served from a page cache at all. Learn more, and secure Redis with ACLs before you expose it.
You should rarely need to clear the cache manually, because RunCache purges the pages your changes actually affected. Learn more about RunCache’s Cache Purging settings.
A cache only helps visitors who arrive after it is built. The first request after a purge still waits for WordPress, and on a large site, that cold request is the slowest of the day.
Cache Preloader rebuilds those pages in the background, after a purge or on a schedule, so the cache is warm before anyone asks. It is rate-limited to 1-120 URLs per minute, so tune it to what your server can handle. Preloader settings, how WP-Cron schedules it.
Caching the wrong page is worse than not caching, so RunCache ships safe defaults and lets you extend them all. Cache Rules reference.
?utm_source= variants share one cached copy instead of duplicating it.BunnyCDN, any Custom CDN hostname, or Cloudflare APO. Rewrites image, CSS, and JavaScript URLs so static files are served near the visitor, and purges the zone on demand. BunnyCDN setup.
Logged-in users and commenters, cart, checkout, My Account, WooCommerce AJAX fragments, POST requests, feeds, REST requests, sitemaps, password-protected posts, page builder previews, and 404s.
wp runcache purge, preload-all, enable, status, and stats, so clearing the cache fits into a deploy script.All the features above are in this plugin. No pro version, no license key, no locked settings, no upsells, and no feature that stops working after a trial.
There is also no meter. No page view cap, no bandwidth cap, no limit on how many sites you install it on, and no yearly renewal. Nothing is throttled as your traffic grows, and RunCache does not send your site through a mandatory third-party optimization service. External requests are made only when you choose to configure an integration, such as Cloudflare or BunnyCDN.
RunCache contacts two third-party services, and only when you enable that integration and enter your own credentials. Otherwise, it makes no external requests. It contains no analytics, telemetry, or tracking. Web server detection and preloading requests stay on your own domain.
Cloudflare powers the Cloudflare Cache and APO integrations. Sent: your API token or account email and key, zone identifier, site hostname, and page URLs, and the cache rule, APO setting, or purge request. Sent when you save credentials, when a rule changes, on every purge, and at uninstall to remove the rule it created. Terms, Privacy.
BunnyCDN powers the Asset CDN integration. Sent: your API key and Pull Zone identifier, asset and page URLs, and the purge request, when you verify or save credentials, and on every purge. Terms, Privacy.