Garantizar que la página se pueda restablecer desde la memoria caché atrás/adelante

Segundo plano

La memoria caché atrás/adelante (bfcache) almacena una instantánea de la página en la memoria para cuando se restablezca desde el historial de navegación. Esto acelera significativamente las navegaciones de retorno a la página; sin embargo, algunas APIs del navegador (p.ej., objetos de escucha de descarga) pueden hacer que falle la bfcache y que la página se cargue con normalidad.

Cómo detecta Lighthouse las fallas de bfcache

Navegaciones independientes

Al final de una navegación independiente, Lighthouse saldrá de la página y tratará de restablecerla desde el historial de navegación para detectar si se está usando la bfcache.

Flujos de usuarios

Lighthouse no probará de forma activa la bfcache en la navegación cuando ejecute un flujo de usuarios. Esto se debe a que al salir y volver a la página al final de cada navegación, no se refleja la mayoría de las experiencias del usuario en la página.

Sin embargo, puedes probar el uso de bfcache en el modo de período si incluyes una navegación de historial como parte del recorrido del usuario. Por ejemplo:

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

Información sobre las fallas de bfcache

Si, por algún motivo, no se pudo restablecer la página desde la bfcache, la auditoría fallará. Lighthouse enumerará los motivos por los que no se pudo usar la bfcache, junto con las tramas que causaron el problema. Los motivos de fallas pueden ser de uno de estos tres tipos:

  • Posibilidad de realizar acciones: Puedes corregir estos problemas para habilitar el almacenamiento en caché.
  • Compatibilidad pendiente: Chrome aún no admite estas funciones, por lo que impiden el almacenamiento en caché. Sin embargo, una vez que se admite, Chrome quita estas limitaciones.
  • No accionable: No es posible solucionar estos problemas en esta página. Un factor fuera del control de la página impide el almacenamiento en caché.

Resultado de ejemplo de la auditoría de la memoria caché atrás/adelante de Lighthouse

Recursos