LiteSpeed/OpenLiteSpeed support is an explicit coexistence boundary, not a second hidden cache. Choose one page-cache owner and keep the modes visible while testing.
Coexistence modes
| Mode | Use when | Behavior |
|---|---|---|
auto | Default | Resolves from the detected server and active LiteSpeed Cache plugin. |
wppo | Performance Optimisation should own the cache | Uses the plugin\’s file/cache path and asset policies. |
litespeed | LiteSpeed Cache should own the cache | Uses the server/plugin protocol and avoids competing page-cache work. |
standalone | Server integration is not wanted | Uses the plugin path without the LiteSpeed owner. |
The setting is stored under litespeed_integration.mode. An explicit value wins over automatic detection. Inspect the effective mode in the Dashboard before changing purge or TTL settings.
Header and purge contract
When the LiteSpeed owner is active, the adapter emits the documented cache-control, tag, vary, and purge protocol. Tags identify the response family so invalidation can remove affected entries instead of always flushing everything. When both plugins are active, purge synchronization is coordinated behind a lock.
TTL and variants
cacheLifeis the global page lifetime in hours; per-post-type overrides accept 0, 1, 6, 12, 24, 48, and 168 hours.- Logged-in variants are opt-in through
enableLoggedInCacheandloggedInCacheRoles. - Guest, mobile, and WebP/AVIF vary groups are opt-in. A vary group must represent a real output difference.
- Feeds, REST requests, 404 responses, and private/dynamic contexts are excluded or shortened according to the request policy.
Running both plugins
Do not run two page-cache orchestrators against the same URL. If LiteSpeed Cache owns the page cache, leave the plugin\’s conflicting HTML cache and asset transforms disabled. If Performance Optimisation owns it, disable the competing page-cache module and use the bridge only for purge coordination.
OpenLiteSpeed and ESI
OpenLiteSpeed reads .htaccess at server start; restart it after marked rule changes. The ESI bridge is protected and intended for LiteSpeed Enterprise. OpenLiteSpeed does not provide the Enterprise ESI path, so the adapter remains unavailable there rather than claiming support.
Crawler and verification
The built-in crawler warms eligible cache variants with bounded concurrency, a load threshold, request timeouts, and a wall-clock budget. It is a cache warmer, not a load test.
curl -sI https://example.com/ | grep -iE \'x-litespeed-cache|x-litespeed-tag|etag|last-modified\'
wp wppo cache preload
wp wppo cache status