Bfcache Checker
Bfcache Checker
What share of your real back/forward navigations load instantly from the browser's back/forward cache? A low rate means your site is blocking it. Real Chrome users, no API key.
Navigation-type data is only reported for higher-traffic sites. Smaller sites may show « no data ».
How the Bfcache Checker works
Type any URL and this tool reads, from real Chrome users (CrUX), how their page loads are distributed across navigation types, and in particular what share come from the back/forward cache (bfcache): an in-memory snapshot the browser restores instantly when someone hits Back or Forward.
Why the bfcache matters
Back and forward are among the most common actions on the web. When the bfcache works, those navigations are effectively instant and cost nothing. When a page blocks it (a Cache-Control: no-store header, a legacy unload listener, some open connections), every Back press triggers a full reload: slower for users and heavier on your server.
What you can do with it
- Spot that your site is silently blocking the bfcache (a very low rate is the tell).
- Estimate the share of navigations that are already instant for your real audience.
- See the full navigation-type mix (fresh loads, reloads, prerender, restores) to understand how people reach your pages.
Frequently asked questions
What is the bfcache?
The back/forward cache is a browser optimisation that keeps a full, frozen snapshot of a page in memory (DOM, JavaScript state, scroll position) so it can be restored instantly when the user navigates back or forward, with no network request and no re-render.
Why is my bfcache rate low?
Common blockers are a Cache-Control: no-store header on the page, an unload or beforeunload event listener, still-open IndexedDB or WebSocket connections, or certain cross-origin frames. Chrome DevTools (Application > Back/forward cache) lists the exact reason for a given page.
Is more bfcache always better?
Generally yes: a higher share means more instant Back/Forward navigations and less server load. It also indirectly helps LCP, since restored pages paint immediately.
Why do some sites show no data here?
The navigation-type breakdown is an optional CrUX metric only reported once a site has enough real-user traffic. Smaller sites may not have it yet.
Data: real Chrome users via the public Chrome UX Report (CrUX), trailing 28 days. Free and open, no API key.
