Caching / CDN Conflict: Why Cache Layers Must Not Stack

1 min read

Overview #

A WordPress site should run exactly one full-page cache layer. Two Xpulse alerts protect that rule: a critical one when two or more full-page caches are active together (or a full-page cache runs alongside another caching/CDN layer that duplicates it), and a warning when a page-cache plugin is flagged. Double-caching looks fine at first, then breaks pages in confusing ways.

The Alerts #

Alert Severity Meaning
Caching / CDN Conflict 🚨 critical Two or more full-page caching/CDN layers are active together
Multiple Page Caches Active ⚠️ warning 2+ page-cache plugins are active together

Both link to this article.

Why It’s a Problem #

Two full-page cache layers both try to serve the same requests, and their purges fight each other:

  • Stale pages: one layer serves old HTML while the other serves new.
  • Mixed cache versions: visitors get inconsistent content depending on which layer responds.
  • Login/cart state leaks: authenticated and dynamic views are cached differently and served to the wrong visitor.
  • Purges stop working: clearing one layer no longer clears what it should, so “I updated a page but it still shows the old version.”

Any one of these looks like a site bug, but the root cause is almost always cache layers stacked on top of each other.

The Fix: Keep a Single Page-Cache Layer #

Deactivate the conflicting plugin(s) so exactly one full-page cache remains.

Combo Recommendation
LiteSpeed Cache (OLS) + another page-cache plugin Remove the other plugin; keep LiteSpeed (OLS)
WP Rocket / WP Super Cache / W3 Total Cache stacked together Keep one, deactivate the rest
A page-cache plugin + a CDN that only optimises images This is not a conflict, see below

What Is NOT a Conflict #

Two combinations are deliberately not flagged, because they are valid:

Combo Why it’s fine
OLS (page cache) + an image CDN (e.g. ShortPixel CDN) Full-page cache + image CDN are complementary layers, not duplicates
A CDN serving static assets only Asset delivery without full-page caching is not a duplicate cache layer

An image CDN only counts as a “cache layer” when it is actually caching and serving pages, not when it optimises images.

Note on legacy setups: In the past, some sites ran RabbitLoader as a full-site cache/CDN, and the conflict alert fired when RabbitLoader sat alongside any other layer. RabbitLoader is being phased out of the Xponent stack in favour of the standard LiteSpeed (OLS) + ShortPixel setup. The rule is the same regardless of the tool: one full-page cache layer only.

The Xponent Standard #

Xponent managed sites run one cache stack: LiteSpeed Cache (OLS) at server level + ShortPixel for image optimization. One page-cache layer, configured and purged by our team. There is never a need for a second full-page cache on a managed site.

Related Articles #

Updated on August 31, 2026