Arka plan
Geri-ileri önbellek (bfcache), sayfa gezinme geçmişinden geri yüklendiğinde sayfanın anlık görüntüsünü bellekte depolar. Bu, sayfaya dönüşte gezinmeleri önemli ölçüde hızlandırır ancak bazı tarayıcı API'leri (ör. unload işleyiciler) bfcache'in başarısız olmasına ve sayfa normal şekilde yüklenmesine neden olabilir.
Lighthouse, geri-bellek hatalarını nasıl algılar?
Bağımsız Gezinmeler
Bağımsız bir gezinmenin sonunda Lighthouse, geri dönüp önbelleğin kullanılıp kullanılmadığını algılamak için gezinme geçmişinden sayfayı geri yüklemeye çalışır.
Kullanıcı İşlemleri Akışı
Lighthouse, bir kullanıcı akışı çalıştırırken gezinme sırasında bfcache'i etkin bir şekilde test etmez. Bunun nedeni, her gezinmenin sonunda sayfadan ayrılma ve sayfaya geri dönmenin sayfadaki çoğu kullanıcı deneyimini yansıtmamasıdır.
Ancak kullanıcı yolculuğunun bir parçası olarak geçmişte gezinmeyi dahil ederek zaman aralığı modunda bfcache kullanımını test edebilirsiniz. Örneğin:
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 hatalarını anlama
Sayfa herhangi bir nedenle bfcache'den geri yüklenemediyse denetim başarısız olur. Lighthouse, soruna yol açan çerçevelerle birlikte bfcache'nin kullanılamamasına yol açan tüm nedenleri listeler. Başarısızlık nedenleri üç türden biri olabilir:
- İşlem yapılabilir: Önbelleğe almayı etkinleştirmek için bu sorunları düzeltebilirsiniz.
- Destek Bekleniyor: Chrome bu özellikleri henüz desteklemediğinden önbelleğe almayı engeller. Ancak, desteklendikten sonra Chrome bu sınırlamaları kaldırır.
- İşlem Yapılamaz: Bu sorunları bu sayfada düzeltemezsiniz. Sayfanın kontrolü dışında olan bir şey önbelleğe almayı engelliyor.