Assicurati che la pagina possa essere ripristinata dalla cache back-forward

Sfondo

La cache back-forward (bfcache) memorizza in memoria uno snapshot della pagina per il momento in cui viene ripristinata dalla cronologia di navigazione. Ciò velocizza notevolmente le navigazioni di ritorno alla pagina, ma alcune API del browser (ad es. gli ascoltatori di caricamento) possono causare l'errore della bfcache e la pagina verrà caricata normalmente.

Come Lighthouse rileva gli errori della cache bfcache

Navigazioni autonome

Al termine di una navigazione autonoma, Lighthouse uscirà dalla pagina e tenterà di ripristinarla dalla cronologia di navigazione per rilevare se viene utilizzata la cache bf.

Flussi di utenti

Lighthouse non testerà attivamente la cache bf durante la navigazione quando esegui un flusso utente. Questo perché uscire dalla pagina e tornare alla fine di ogni navigazione non riflette la maggior parte delle esperienze utente nella pagina.

Tuttavia, puoi comunque testare l'utilizzo di bfcache in modalità intervallo di tempo includendo una navigazione nella cronologia all'interno del percorso dell'utente. Ad esempio:

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();

Informazioni sugli errori della cache bfcache

Se per qualsiasi motivo non è stato possibile ripristinare la pagina da bfcache, il controllo non andrà a buon fine. Lighthouse elenca tutti i motivi per cui non è stato possibile utilizzare la cache bf, oltre ai frame che hanno causato il problema. I motivi dell'errore possono essere di tre tipi:

  • Azione: puoi risolvere questi problemi per attivare la memorizzazione nella cache.
  • Supporto in attesa: Chrome non supporta ancora queste funzionalità, pertanto impediscono la memorizzazione nella cache. Tuttavia, una volta supportate, Chrome rimuove queste limitazioni.
  • Non risolvibile: non puoi risolvere questi problemi in questa pagina. Un fattore esterno al controllo della pagina impedisce la memorizzazione nella cache.

Esempio di risultato del controllo della cache back/forward di Lighthouse

Risorse