Hintergrund
Der Back-Forward-Cache (bfcache) speichert einen Snapshot der Seite im Arbeitsspeicher, für den Fall, dass die Seite aus dem Navigationsverlauf wiederhergestellt wird. Dies beschleunigt die Rücknavigation zur Seite erheblich. Einige Browser-APIs (z. B. Unload-Listener) können jedoch dazu führen, dass der bfcache fehlschlägt und die Seite normal geladen wird.
So erkennt Lighthouse bfcache-Fehler
Eigenständige Navigationen
Am Ende einer eigenständigen Navigation wechselt Lighthouse zu einer anderen Seite und versucht, die Seite aus dem Navigationsverlauf wiederherzustellen, um zu erkennen, ob der bfcache verwendet wird.
Nutzerflüsse
Lighthouse testet den bfcache bei der Navigation nicht aktiv, wenn ein Nutzerfluss ausgeführt wird. Das liegt daran, dass das Verlassen und Zurückkehren zur Seite am Ende jeder Navigation nicht der Nutzererfahrung auf der Seite entspricht.
Sie können die bfcache-Nutzung jedoch im Zeitspannemodus testen, indem Sie die Navigationsleiste im Verlauf als Teil der User Journey einbinden. Beispiel:
const flow = await startFlow(page);
// This navigation will not test the bfcache
// because it is part of a user flow.
await flow.navigate('https://example.com');
// This timespan will try to restore the page from the bfcache.
// Problems restoring from the bfcache are surfaced in this report.
await flow.startTimespan();
await page.goto('https://example2.com');
await page.goBack();
await flow.endTimespan();
bfcache-Fehler
Wenn die Seite aus irgendeinem Grund nicht aus dem bfcache wiederhergestellt werden konnte, schlägt die Prüfung fehl. Lighthouse listet alle Gründe auf, warum der bfcache nicht verwendet werden konnte, zusammen mit den Frames, die das Problem verursacht haben. Es gibt drei Arten von Fehlergründen:
- Umsetzbar: Sie können diese Probleme beheben, um das Caching zu aktivieren.
- Ausstehende Unterstützung: Diese Funktionen werden in Chrome noch nicht unterstützt und verhindern daher das Caching. Sobald die Unterstützung jedoch verfügbar ist, werden diese Einschränkungen in Chrome aufgehoben.
- Nicht behebbar: Diese Probleme können auf dieser Seite nicht behoben werden. Das Caching wird durch etwas verhindert, das außerhalb des Einflussbereichs der Seite liegt.