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

Contesto

La cache back-forward (bfcache) archivia uno snapshot della pagina in memoria per quando la pagina viene ripristinata dalla cronologia di navigazione. Ciò consente di velocizzare notevolmente le navigazioni di ritorno alla pagina, tuttavia alcune API del browser (ad es. l'unload listener) possono causare l'errore della cache bfcache e la pagina verrà caricata normalmente.

In che modo Lighthouse rileva gli errori della cache back-forward

Navigazioni autonome

Al termine di una navigazione autonoma, Lighthouse uscirà e tenterà di ripristinare la pagina dalla cronologia di navigazione per rilevare se è in uso la bfcache.

Flussi di utenti

Lighthouse non testerà attivamente la cache back-forward durante la navigazione durante l'esecuzione di un flusso utente. Questo perché l'uscita e il ritorno alla pagina al termine di ogni navigazione non riflette la maggior parte delle esperienze utente sulla pagina.

Tuttavia, puoi comunque testare l'utilizzo della cache back-forward in modalità intervallo di tempo includendo una navigazione dalla cronologia come parte 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 bf

Se per qualche motivo non è stato possibile ripristinare la pagina dalla cache back-forward, il controllo avrà esito negativo. Lighthouse elencherà gli eventuali motivi per cui non è stato possibile utilizzare la cache back-forward, insieme ai frame che hanno causato il problema. I motivi dell'errore possono essere tre tipi:

  • Soluzione: puoi risolvere questi problemi per attivare la memorizzazione nella cache.
  • In attesa di supporto. Chrome non supporta ancora queste funzionalità, che impediscono la memorizzazione nella cache. Tuttavia, una volta supportate, Chrome rimuove queste limitazioni.
  • Non risolvibile: non puoi risolvere i problemi in questa pagina. Qualcosa al di fuori del controllo della pagina impedisce la memorizzazione nella cache.

Risultato di esempio del controllo della cache back-forward di Lighthouse

Risorse