LiteSpeed and OpenLiteSpeed

Coexistence modes, header and purge contracts, TTL/variation policy, crawler limits, and OpenLiteSpeed notes.

2 min readPart of Performance Optimisation

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

ModeUse whenBehavior
autoDefaultResolves from the detected server and active LiteSpeed Cache plugin.
wppoPerformance Optimisation should own the cacheUses the plugin\’s file/cache path and asset policies.
litespeedLiteSpeed Cache should own the cacheUses the server/plugin protocol and avoids competing page-cache work.
standaloneServer integration is not wantedUses 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

  • cacheLife is 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 enableLoggedInCache and loggedInCacheRoles.
  • 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