Sayfanın geri-ileri önbellekten geri yüklenebildiğinden emin olun

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.

Lighthouse geri/ileri önbelleği denetiminden örnek sonuç

Kaynaklar