Arka plan
Geri-ileri önbellek (bfcache), sayfanın gezinme geçmişinden geri yükleneceği zaman sayfanın bir anlık görüntüsünü bellekte depolar. Bu, sayfaya geri dönme gezinmelerini önemli ölçüde hızlandırır.Ancak bazı tarayıcı API'leri (ör. boşaltma dinleyicileri) bfcache'in başarısız olmasına neden olabilir ve sayfa normal şekilde yüklenir.
Lighthouse, bfcache hatalarını nasıl tespit eder?
Bağımsız Gezinmeler
Bağımsız bir gezinmenin sonunda Lighthouse, sayfayı gezinme geçmişinden geri yüklemeyi deneyerek bfcache'in kullanılıp kullanılmadığını algılar.
Kullanıcı İşlemleri Akışları
Lighthouse, kullanıcı akışı çalıştırırken gezinme bölümündeki bfcache'i etkin bir şekilde test etmez. Bunun nedeni, her gezinme işleminin sonunda sayfadan çıkıp 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ş gezinme eklediğinizde bfcache kullanımını zaman aralığı modunda 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 denetleme başarısız olur. Lighthouse, bfcache'in kullanılamamasının nedenlerini ve soruna neden olan çerçeveleri listeler. Başarısızlık nedenleri üç türden biri olabilir:
- Yapılabilir: Önbelleğe almayı etkinleştirmek için bu sorunları düzeltebilirsiniz.
- Destek Bekleme: Chrome bu özellikleri henüz desteklemediğinden önbelleğe alma işlemini engeller. Ancak Chrome, desteklenmeye başladıktan sonra bu sınırlamaları kaldırır.
- İşlem yapılamaz: Bu sayfadaki sorunları düzeltemezsiniz. Sayfanın kontrolü dışında bir şey önbelleğe almayı engelliyor.