HomeAPI StatusFree ToolsSEO Help Articles

Cache Policy Signal Test

The Cache Policy Checker inspects the Cache-Control, Expires, ETag and Last-Modified headers on every asset returned by a URL, then reports which assets are cacheable, for how long, and whether the policy matches modern best practice. Aggressive caching of static assets is a free speed and bandwidth win — versioned assets can be cached forever, HTML can be cached briefly with stale-while-revalidate. Most sites either under-cache (forcing re-downloads) or over-cache (breaking deploys).

What This Tool Checks

  • Cache-Control directives per asset type
  • max-age and s-maxage values
  • immutable directive on versioned assets
  • stale-while-revalidate for HTML
  • ETag and Last-Modified presence
  • no-cache vs no-store vs private
  • CDN-level caching vs browser caching

Why It Matters for SEO

Caching is the single highest-leverage performance pattern in HTTP. A correctly cached static asset costs zero bytes and zero milliseconds on repeat visits. A versioned asset (with a hash in the filename) can be cached for one year with the immutable directive, eliminating revalidation entirely. HTML can use stale-while-revalidate to serve instant responses while updating in the background. Most sites are leaving 30-60% of repeat-visit performance on the table due to weak cache policies.

How to Fix It

For versioned static assets (CSS, JS, fonts with hash filenames): Cache-Control: public, max-age=31536000, immutable. For images: max-age=2592000 (30 days). For HTML: max-age=0, must-revalidate, stale-while-revalidate=86400. Set s-maxage on the CDN longer than max-age on the browser. Always include ETag.

How It Works

We fetch the page and a sample of its sub-resources, capture the Cache-Control / Expires / ETag headers on each, and classify the cacheability per asset type (HTML, CSS, JS, image, font, JSON). Mismatches between asset type and cache policy are flagged with concrete header recommendations.

Common Mistakes to Avoid

  • No Cache-Control header at all (browsers cache for unpredictable durations)
  • Cache-Control: no-cache on every asset (forces revalidation every time)
  • Versioned assets cached for only an hour (should be 1 year + immutable)
  • HTML cached aggressively, breaking content updates
  • CDN cache TTL shorter than asset lifetime, defeating the CDN

Quick Checklist

  • Versioned static assets: max-age=1 year + immutable
  • Images: max-age=30 days minimum
  • HTML: short max-age plus stale-while-revalidate
  • ETag present for revalidation
  • CDN cache TTL aligns with asset lifetime

Frequently Asked Questions