Feature

Cloudflare Cache Checking

Catch a caching misconfiguration before it either slows your origin down or serves someone else's data.

If a page that should always be cached quietly starts hitting your origin on every request, your server load (and bill) can spike without anything looking "down". If a page that should never be cached is accidentally served from cache, one visitor can end up seeing another visitor's personalised content. Cloudflare Cache Checking watches the cf-cache-status response header on a URL and alerts you the moment it stops matching what you told it to expect.

How it works

  1. Add a monitor for a URL sitting behind Cloudflare, and tell it whether that URL should always be cached or always dynamic (never cached).
  2. Kawze requests the URL on a schedule (anywhere from every hour to once a week) and reads the cf-cache-status response header Cloudflare adds.
  3. A "should be cached" monitor only accepts a literal HIT - anything else (MISS, EXPIRED, BYPASS, DYNAMIC, REVALIDATED) counts as a violation.
  4. A "should be dynamic" monitor accepts anything except a literal HIT - a cache hit is the one outcome that is wrong.
  5. A mismatch opens a real incident, the same alerting/outage machinery every other monitor type uses, since a wrong cache status is usually a production-impacting misconfiguration, not just a performance nice-to-have.

Why it matters

  • Catches "this API response got cached and now everyone sees the same stale/wrong data" before support tickets do.
  • Catches "the cache rule stopped applying and origin load quietly spiked" before it turns into a real outage.
  • Same email/SMS/Slack alerting and dashboard as every other monitor type - no separate Cloudflare-specific tooling to learn.
  • Fixed, tier-independent cadence range (1 hour to 1 week) - available on every plan, including Free.

Frequently asked questions

What is the cf-cache-status header?

A response header Cloudflare adds to every request that passes through it, showing whether that specific response was served from cache (HIT) or not (MISS, EXPIRED, BYPASS, DYNAMIC, REVALIDATED, etc.). Kawze reads this header directly rather than guessing from response times.

What happens if the URL is not actually behind Cloudflare?

The cf-cache-status header will be missing entirely, and the monitor is flagged down with a message telling you so - the same as any other check failure.

How often can this check run?

Anywhere from every hour down to... well, up to once a week - this monitor type has its own fixed range (1 hour fastest, 1 week slowest) that is the same on every plan, not gated by which tier you are on.

Does a wrong cache status affect my uptime percentage?

Yes - unlike Response Time Monitoring or Cache Warming, this monitor type has a real up/down status and opens an incident on a mismatch, the same as a website or domain monitor.

Is Kawze affiliated with Cloudflare?

No. "Cloudflare" and "cf-cache-status" are trademarks of Cloudflare, Inc. This monitor type simply reads a standard response header their service adds - Kawze is not affiliated with, endorsed by, or sponsored by Cloudflare, Inc. See our Trademark Notice for details.

This capability lives on Kawze's cloudflare-cache monitor - see that page for the full feature list and pricing for that uptime monitor type.