# Nolimit Cache A page cache and front-end optimiser for WordPress and WooCommerce. It answers a visitor's request from a file on disk before WordPress boots, and it knows enough about WooCommerce not to do that to a customer holding a basket. It is one of a family of Nolimit plugins that share an admin menu and a dashboard. [Hooks and integration](CONTRACT.md) lists what it offers to the others, and to your own code. ## What it does - **Page cache.** An `advanced-cache.php` drop-in serves a stored copy of a page. This runs before the theme, the plugins and most of WordPress, which is where the speed comes from and also why it has to be careful. - **Object cache.** An optional `object-cache.php` drop-in backed by Redis. - **Front-end optimisation.** Defers scripts, drops WordPress's emoji and oEmbed machinery, and can rewrite asset URLs to a CDN. - **Images.** Writes WebP (and optionally AVIF) copies beside JPEG and PNG files and offers them with ``, so the page cache stays correct for every browser. Originals are never touched. - **Preloading.** Walks a queue of URLs on a five-minute cron so the first real visitor does not pay for the first render. - **Purging.** Clears the right pages when a post, a term, a comment or a WooCommerce product or order changes. - **Health checks and an assistant.** A set of signals about whether the cache is actually working, and an ask-box on the admin screens. ## What it deliberately does not do - **No minification or concatenation.** Those break themes in ways that are expensive to debug and are better handled by a build step. - **No CSS "critical path" extraction.** Same reason. - **No telemetry of any kind.** Nothing is reported anywhere. The only outbound requests are the update check against gitea.nolimit.dk and an AI provider if, and only if, one has been configured with a key. - **No account, no licence check, no phone-home.** ## Where things are | | | |---|---| | Admin screen | **Nolimit → Cache** | | Settings | one option, `nlcac_settings` | | Engine config | `wp-content/cache/nolimit/config.php`, written from the settings | | Drop-ins | `wp-content/advanced-cache.php`, `wp-content/object-cache.php` | | REST namespace | `nlcac/v1` | | Requires | WordPress 6.0, PHP 7.4. WooCommerce optional | | Version | 0.3.2 | ## Reading order 1. [Installing it, and telling whether it works](SETUP.md) 2. [Hooks and integration](CONTRACT.md), for developers