Files
nolimit-cache-dist/docs/README.md
T

55 lines
2.4 KiB
Markdown

# 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 `<picture>`, 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