Main Header

Debugging with page caches (LiteSpeed and NitroPack)

Updated on July 30, 2026

Full-page caches can serve stale HTML without your sp() output or serve cached pages to the wrong user. Tier 2 (Pro) includes cache compatibility on SignalPress → Settings → Debugging to keep debugging sessions uncached.

Requires Manage debuggingPermissions and Access.

When you need this

Enable cache compatibility when:

  • LiteSpeed Cache, QUIC.cloud, or similar vary-by-cookie caching is active
  • NitroPack (or another optimizer honoring X-Nitro-Disabled) is active
  • You debug on the frontend with Pro debugging Frontend enabled
  • Clockwork or screen dumps disappear after the first load

Basic debugging also calls nocache_headers() on the frontend when possible, but Pro cache compatibility adds cookie-based vary rules and optimizer-specific headers.

Enable cache bypass

  1. Open SignalPress → Settings → Debugging.
  2. Scroll to Cache compatibility (Pro, Tier 2).
  3. Ensure Bypass page caching while authorized debugging is active is checked (default: on).
  4. Optionally enable Show a reminder banner on the frontend while cache bypass is enabled.
  5. Click Save cache setting.

Cache bypass only applies when PHP or JavaScript debugging is also enabled for the current area (admin and/or frontend). The bypass cookie is not set when all debugging runtimes are off.

When bypass is active for an authorized user, SignalPress:

  • Sets a signalpress_debug_session cookie (24-hour expiry)
  • Sends X-Nitro-Disabled: 1 and other no-cache headers so NitroPack and CDNs skip caching that response
  • Registers LiteSpeed vary rules so cached pages split debug vs non-debug visitors
  • Defines DONOTCACHEPAGE and calls LiteSpeed’s no-cache control hook

Reload without cache

When bypass is active on the frontend:

  • The admin bar shows SignalPress → Reload this page without cache
  • The reminder banner (when enabled) includes Reload without cache
  • The Debugging tab offers Open homepage without cache for the first request against an already-cached page

The reload link purges the target URL in LiteSpeed (when available) and appends LiteSpeed’s official LSCWP_CTRL=NOCACHE parameter plus a cache-busting query arg.

LiteSpeed specifics

SignalPress hooks LiteSpeed’s vary API so requests with the debug session cookie get a separate cache bucket. Visitors without the cookie continue to receive normal cached pages.

If dumps still do not appear:

  • Confirm the debug cookie is present in DevTools → Application → Cookies
  • Verify LiteSpeed “Cache” is not bypassing vary for your URL
  • Try Reload this page without cache from the admin bar

NitroPack specifics

The X-Nitro-Disabled: 1 response header tells NitroPack not to optimize or cache that response. This is per-response — it does not disable NitroPack site-wide.

Safety notes

  • Only users with Manage debugging receive the bypass cookie and headers
  • Do not leave Frontend enabled on production longer than needed — Pro debugging
  • Cache compatibility does not replace proper staging environments for heavy debugging
SettingLocation
Enable cache compatibilityDebugging → Cache compatibility
Frontend debuggingDebugging → Pro → Frontend enabled
Basic frontend nocacheAutomatic when basic PHP debugging runs on frontend