Back/Forward Cache (bfcache)

Was ist der Back-Forward-Cache (bfcache)?

Der Back-Forward-Cache (bfcache) ist ein Browser-Zwischenspeicher für bereits besuchte Seiten. Beim Vor- oder Zurücknavigieren stellt der Browser den vorherigen Seitenzustand aus dem Arbeitsspeicher wieder her, statt HTML, CSS und JavaScript neu zu laden. Dadurch erscheinen Seiten einschließlich Scrollposition und Formulareingaben häufig nahezu unmittelbar.

So funktioniert der Back-Forward-Cache

Der Back-Forward-Cache (bfcache) speichert eine Seite als vollständigen Zustand im Arbeitsspeicher des Browsers. Dazu gehören der DOM-Baum, ausgeführtes JavaScript, die Scrollposition und viele Eingaben des Nutzers. Verlässt der Nutzer die Seite und kehrt über die Zurück-Schaltfläche zurück, kann der Browser diesen Zustand reaktivieren, ohne die Seite neu aufzubauen.

Eine Wiederherstellung aus dem Back-Forward-Cache unterscheidet sich deshalb grundlegend von einem normalen Seitenaufruf. Bei einer regulären Navigation fordert der Browser Ressourcen an, verarbeitet HTML und führt JavaScript aus. Bei einem erfolgreichen bfcache-Treffer setzt der Browser eine eingefrorene Seite fort. Netzwerkverbindung, Serverantwortzeit und Rendering-Aufwand fallen für diesen Navigationsschritt weitgehend weg.

Ob eine Seite aus dem Back-Forward-Cache zurückkehrt, lässt sich über das JavaScript-Ereignis pageshow erkennen. Hat dessen Eigenschaft persisted den Wert true, wurde ein gespeicherter Seitenzustand wiederhergestellt. Das Ereignis pagehide eignet sich entsprechend für Aktionen beim Verlassen der Seite.

PageSpeed durch gespeicherte Seitenzustände

Der Back-Forward-Cache verbessert den wahrgenommenen PageSpeed bei wiederholten Besuchen innerhalb derselben Browser-Historie. Besonders deutlich wird der Effekt, wenn Nutzer zwischen einer Übersichtsseite und mehreren Produkten, Artikeln oder Suchergebnissen wechseln. Die Rückkehr zur vorherigen Seite erfolgt schneller und bewahrt den bisherigen Kontext.

Ein häufiger Denkfehler besteht darin, den Back-Forward-Cache mit einem guten Ergebnis in PageSpeed Insights gleichzusetzen. Ein üblicher Labortest untersucht einen neu gestarteten Seitenaufruf unter festgelegten Bedingungen. Der Back-Forward-Cache wirkt dagegen erst bei einer Vor- oder Zurücknavigation. Eine Seite kann daher gute Laborwerte erreichen und trotzdem nicht für den bfcache geeignet sein. Umgekehrt kann eine Seite von der Wiederherstellung profitieren, ohne dass dieser Vorteil im üblichen PageSpeed-Test vollständig sichtbar wird.

Für eine umfassende Ladezeitenanalyse solltest du deshalb sowohl Erstaufrufe als auch wiederholte Navigationen prüfen. Der kostenlose Ladezeiten-Check zeigt technische PageSpeed-Potenziale bei regulären Seitenaufrufen. Die bfcache-Fähigkeit kontrollierst du ergänzend direkt im Browser.

Prüfe jetzt die Ladezeit deiner Website:

Mit Nutzung dieses PageSpeed-Checks erklären Sie, dass Sie die Datenschutzerklärung zur Kenntnis genommen haben und damit einverstanden sind, dass die von Ihnen angegebenen Daten elektronisch erhoben und gespeichert werden. Ihre Daten werden dabei nur streng zweckgebunden zur Bearbeitung des PageSpeed-Checks benutzt. Mit der Nutzung dieses PageSpeed-Checks erklären Sie sich mit der Verarbeitung einverstanden.

Voraussetzungen für den bfcache

Ob der Back-Forward-Cache verwendet wird, entscheidet der Browser für jede Navigation. Die Seite kann die Speicherung nicht erzwingen. Bestimmte APIs, Ereignisse oder laufende Verbindungen können verhindern, dass der Browser einen sicheren und konsistenten Seitenzustand einfriert.

Zu den typischen Prüfpunkten gehören:

  • Unload-Ereignisse: Event-Handler für unload können die Speicherung verhindern oder je nach Browser unzuverlässig ausgeführt werden.
  • Offene Verbindungen: Aktive WebSocket-, WebRTC- oder vergleichbare Verbindungen müssen sauber auf den Seitenlebenszyklus reagieren.
  • Laufende Vorgänge: Offene Transaktionen und nicht abgeschlossene Zugriffe auf bestimmte Browser-APIs können eine Wiederherstellung ausschließen.
  • Eingebettete Inhalte: Auch ein nicht geeigneter Frame kann die gesamte Dokumentstruktur vom Back-Forward-Cache ausschließen.
  • Browser-Unterschiede: Voraussetzungen und Ausschlussgründe können sich zwischen Browsern und Versionen unterscheiden.

Moderne Webanwendungen sollten den Seitenlebenszyklus über pagehide, pageshow, freeze und resume berücksichtigen, soweit der jeweilige Browser diese Ereignisse unterstützt. Globale Zustände, Timer und Verbindungen müssen nach einer Wiederherstellung weiterhin gültig sein. Prüfe deshalb nicht nur, ob die Seite gespeichert wird, sondern auch, ob Navigation, Formulare, Tracking und dynamische Inhalte danach korrekt funktionieren.

Back-Forward-Cache richtig testen

Messbar ist der Back-Forward-Cache zum Beispiel so: Öffne in den Chrome DevTools den Bereich Application und dort die Ansicht Back/forward cache. Starte den Test für die aktuelle Seite. Chrome navigiert von der Seite weg, kehrt zurück und zeigt an, ob eine Wiederherstellung möglich war. Bei einem Fehlschlag nennt die Auswertung konkrete Ausschlussgründe.

Ein zusätzlicher manueller Test bildet das echte Nutzerverhalten ab. Öffne eine Unterseite, scrolle nach unten, wechsle über einen internen Link auf eine zweite URL und nutze anschließend die Zurück-Schaltfläche. Eine erhaltene Scrollposition ist ein Indiz, aber kein vollständiger Nachweis. Verwende für die technische Bestätigung das pageshow-Ereignis oder die Browser-Werkzeuge.

Entferne technische Funktionen nicht allein deshalb, weil sie den Back-Forward-Cache verhindern. Eine notwendige Echtzeitverbindung oder Sicherheitseigenschaft kann wichtiger sein als die Speicherung. Prüfe zuerst den genannten Ausschlussgrund und passe anschließend gezielt den Seitenlebenszyklus an.

Unterschied zum normalen Browser-Cache

Der Unterschied zwischen Back-Forward-Cache und HTTP-Cache liegt im gespeicherten Objekt. Der HTTP-Cache bewahrt einzelne Ressourcen wie Bilder, CSS-Dateien oder JavaScript-Dateien auf. Bei einem erneuten Aufruf muss der Browser die Seite trotzdem zusammensetzen und Skripte ausführen. Der bfcache speichert dagegen den bereits aufgebauten Zustand des gesamten Dokuments.

MerkmalBack-Forward-CacheHTTP-Cache
Gespeicherter InhaltVollständiger SeitenzustandEinzelne Netzwerkressourcen
Typischer AuslöserVor- oder ZurücknavigationErneute Ressourcenanforderung
JavaScript-ZustandKann erhalten bleibenWird normalerweise neu aufgebaut
ScrollpositionKann direkt wiederhergestellt werdenIst kein Bestandteil der Ressourcenspeicherung

Auch ein Service Worker ist kein Ersatz für den Back-Forward-Cache. Ein Service Worker kann Netzwerkanfragen abfangen und Antworten aus einem eigenen Cache liefern. Der Browser muss das Dokument dabei weiterhin laden und verarbeiten. Der bfcache setzt dagegen einen bereits vorhandenen Dokumentzustand fort.

SEO-Relevanz des Back-Forward-Caches

Der Back-Forward-Cache ist kein eigenständiges Ranking-Signal und erzeugt keine direkte Rankingverbesserung. Der Nutzen liegt in einer schnelleren Navigation für wiederkehrende Seitenzustände. Kürzere Wartezeiten und erhaltene Scrollpositionen erleichtern es Nutzern, weitere Produkte, Leistungen oder Inhalte zu vergleichen.

Für Onlineshops ist der bfcache besonders relevant, wenn Nutzer häufig zwischen Kategorie- und Produktseiten wechseln. Eine vollständige Neuladung der Kategorie kann Filterzustände oder die bisherige Position verändern. Eine korrekte Wiederherstellung erhält den Nutzungskontext und unterstützt damit die Usability der Website.

Technische SEO sollte den Back-Forward-Cache als Teil der gesamten Seitenerfahrung behandeln. Dazu gehören zusätzlich schnelle Erstaufrufe, stabile Layouts, mobile Bedienbarkeit, saubere interne Links und zugängliche Inhalte. Eine strukturierte Optimierung der Website für Google verbindet diese Faktoren, statt einen einzelnen Browsermechanismus isoliert zu bewerten.

Häufige Fragen zum bfcache

Unterstützen alle Browser den Back-Forward-Cache?

Moderne Browser unterstützen eine Form des Back-Forward-Caches. Die genauen Voraussetzungen und Ausschlussgründe unterscheiden sich jedoch nach Browser und Version. Eine Seite sollte deshalb in den wichtigsten Browsern der eigenen Zielgruppe getestet werden.

Kann ich den Back-Forward-Cache mit JavaScript aktivieren?

Nein, JavaScript kann die Speicherung nicht erzwingen. Der Browser entscheidet anhand des Seitenzustands und der verwendeten Funktionen. Entwickler können jedoch inkompatible Ereignisse vermeiden und laufende Verbindungen an den Seitenlebenszyklus anpassen.

Warum funktioniert der bfcache auf meiner Website nicht?

Häufige Ursachen sind ungeeignete Ereignis-Handler, aktive Verbindungen, offene Transaktionen oder inkompatible eingebettete Inhalte. Die Back-forward-cache-Prüfung in den Chrome DevTools zeigt für die getestete Seite konkrete Ausschlussgründe an.

Bleiben Formulareingaben beim Zurückgehen erhalten?

Formulareingaben können bei einer Wiederherstellung aus dem Back-Forward-Cache erhalten bleiben, weil der vorherige Dokumentzustand fortgesetzt wird. Sensible oder zeitabhängige Formulare müssen trotzdem geprüft werden, damit veraltete Daten und abgelaufene Sitzungen korrekt behandelt werden.

Werden Analyse- und Tracking-Skripte erneut ausgeführt?

Eine Wiederherstellung aus dem Back-Forward-Cache entspricht keinem vollständigen Neuladen der Seite. Code, der nur beim ersten Laden ausgeführt wird, erfasst die Rückkehr daher möglicherweise nicht. Tracking sollte das pageshow-Ereignis berücksichtigen und doppelte Seitenaufrufe vermeiden.

Verbessert der bfcache automatisch die Core Web Vitals?

Der bfcache beschleunigt Vor- und Zurücknavigationen, ersetzt aber keine Optimierung regulärer Seitenaufrufe. Bilder, JavaScript, Serverantworten und Layout-Stabilität müssen weiterhin separat verbessert werden. PageSpeed-Werte und bfcache-Fähigkeit sollten deshalb getrennt getestet werden.

Wenn du technische Ladezeiten- und SEO-Potenziale systematisch erfassen möchtest, kannst du einen kostenlosen Ausgangscheck anlegen.

Free Account anlegen


Sie haben noch Fragen?

Kontaktieren Sie uns

SEO Agentur kostenlose SEO Potentialanalyse


Weitere Inhalte