{"id":9468,"date":"2026-07-27T17:27:26","date_gmt":"2026-07-27T15:27:26","guid":{"rendered":"https:\/\/www.hostingtg.com\/blog\/?p=9468"},"modified":"2026-07-27T17:29:03","modified_gmt":"2026-07-27T15:29:03","slug":"bfcache-en-wordpress","status":"publish","type":"post","link":"https:\/\/www.hostingtg.com\/blog\/bfcache-en-wordpress\/","title":{"rendered":"BFCache en WordPress: qu\u00e9 es, c\u00f3mo comprobarlo y evitar que tu web lo bloquee"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Cuando hablamos de mejorar el rendimiento de WordPress, casi siempre pensamos en las mismas acciones: instalar un plugin de cach\u00e9, comprimir im\u00e1genes, reducir archivos CSS y JavaScript, utilizar una CDN o contratar un alojamiento m\u00e1s r\u00e1pido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Todo eso sigue siendo importante. Sin embargo, existe una optimizaci\u00f3n menos conocida que puede conseguir que una web parezca mucho m\u00e1s r\u00e1pida durante la navegaci\u00f3n: <strong>BFCache<\/strong>, tambi\u00e9n llamada <strong>Back\/Forward Cache<\/strong> o cach\u00e9 de avance y retroceso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi opini\u00f3n, BFCache es una de esas tecnolog\u00edas que pasan desapercibidas precisamente porque trabajan desde el navegador. El usuario no ve un aviso, no pulsa un bot\u00f3n y tampoco tiene que activar una opci\u00f3n. Simplemente nota que, al volver a una p\u00e1gina anterior, esta aparece casi al instante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El navegador puede conservar temporalmente el estado completo de una p\u00e1gina que acabamos de visitar. Si despu\u00e9s utilizamos los botones de atr\u00e1s o adelante, puede restaurar ese estado sin repetir todo el proceso normal de carga.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto puede mejorar mucho la sensaci\u00f3n de fluidez en un blog, una web corporativa, una <a href=\"https:\/\/www.hostingtg.com\/blog\/crea-una-tienda-con-wordpress-y-woocommerce\/\">tienda WooCommerce<\/a> o un medio con muchos contenidos. Sin embargo, no todas las p\u00e1ginas de WordPress pueden utilizar BFCache. Algunos <a href=\"https:\/\/www.hostingtg.com\/blog\/apache-http-server\/\">encabezados HTTP<\/a>, scripts, plugins y comportamientos din\u00e1micos pueden impedirlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, no siempre conviene eliminar esos bloqueos sin analizar sus consecuencias. En p\u00e1ginas privadas, carritos de compra o zonas para usuarios conectados, restaurar un estado anterior puede mostrar informaci\u00f3n desactualizada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, en esta gu\u00eda no me limitar\u00e9 a explicar c\u00f3mo \u201cactivar BFCache en WordPress\u201d. Veremos qu\u00e9 es realmente, c\u00f3mo se diferencia de otros sistemas de cach\u00e9, c\u00f3mo comprobar si funciona y qu\u00e9 debemos revisar antes de modificar una web en producci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 es BFCache y por qu\u00e9 puede hacer que WordPress parezca m\u00e1s r\u00e1pido<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache es una funci\u00f3n del navegador dise\u00f1ada para acelerar las navegaciones realizadas con los botones de atr\u00e1s y adelante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando abandonamos una p\u00e1gina para visitar otra, el navegador puede conservar la p\u00e1gina anterior en memoria. No guarda \u00fanicamente algunos archivos, como ocurre con la cach\u00e9 tradicional del navegador. Puede mantener una representaci\u00f3n mucho m\u00e1s completa de su estado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una forma sencilla de entenderlo es imaginar que el navegador hace una especie de fotograf\u00eda funcional de la p\u00e1gina antes de abandonarla. Esa fotograf\u00eda puede incluir el contenido visible, la posici\u00f3n del desplazamiento, el estado de determinados formularios y parte del comportamiento de JavaScript.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si despu\u00e9s regresamos a esa p\u00e1gina, el navegador puede recuperar la versi\u00f3n que ya ten\u00eda preparada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El visitante no necesita saber que BFCache existe. Desde su punto de vista, \u00fanicamente pulsa el bot\u00f3n de volver y la p\u00e1gina aparece inmediatamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo funciona la cach\u00e9 de avance y retroceso<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En una navegaci\u00f3n convencional, volver a una p\u00e1gina puede obligar al navegador a realizar varios pasos:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Solicitar nuevamente el documento.<\/li>\n\n\n\n<li>Esperar la respuesta del servidor.<\/li>\n\n\n\n<li>Permitir que WordPress ejecute PHP.<\/li>\n\n\n\n<li>Consultar la base de datos cuando sea necesario.<\/li>\n\n\n\n<li>descargar o recuperar los recursos de la p\u00e1gina;<\/li>\n\n\n\n<li>procesar el HTML, el CSS y JavaScript;<\/li>\n\n\n\n<li>reconstruir la interfaz.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Los <a href=\"https:\/\/www.hostingtg.com\/blog\/wp-rocket\/\">sistemas de cach\u00e9<\/a> tradicionales pueden reducir buena parte de ese trabajo. Por ejemplo, un plugin puede servir una versi\u00f3n est\u00e1tica de la p\u00e1gina y el navegador puede reutilizar im\u00e1genes o estilos que ya tiene almacenados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache va un paso diferente. En lugar de acelerar la reconstrucci\u00f3n, intenta evitarla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando la restauraci\u00f3n es posible, el navegador recupera el estado que hab\u00eda conservado. Esto permite que la navegaci\u00f3n hacia atr\u00e1s o hacia delante se sienta pr\u00e1cticamente instant\u00e1nea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No significa que WordPress haya generado la p\u00e1gina m\u00e1s r\u00e1pido. En muchos casos, significa que el navegador no ha necesitado volver a ped\u00edrsela.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 conserva el navegador al guardar una p\u00e1gina<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache puede conservar m\u00e1s informaci\u00f3n que una cach\u00e9 de recursos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>el contenido de la p\u00e1gina;<\/li>\n\n\n\n<li>la posici\u00f3n exacta del scroll;<\/li>\n\n\n\n<li>el estado visual de determinados componentes;<\/li>\n\n\n\n<li>valores introducidos en algunos formularios;<\/li>\n\n\n\n<li>parte del estado de JavaScript;<\/li>\n\n\n\n<li>la situaci\u00f3n de men\u00fas, pesta\u00f1as o elementos desplegables;<\/li>\n\n\n\n<li>la posici\u00f3n desde la que el usuario abandon\u00f3 la p\u00e1gina.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Este comportamiento es especialmente \u00fatil en p\u00e1ginas largas. Si una persona ha avanzado hasta la mitad de un listado, abre un elemento y despu\u00e9s regresa, puede recuperar el punto exacto en el que estaba.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El resultado se parece menos a una nueva carga y m\u00e1s a volver a mostrar una aplicaci\u00f3n que ya se encontraba abierta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Un ejemplo sencillo en un blog de WordPress<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos la portada de un blog con diez art\u00edculos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un lector desplaza la p\u00e1gina, encuentra un contenido interesante y entra en \u00e9l. Despu\u00e9s de leerlo, pulsa el bot\u00f3n de volver para seguir buscando otros art\u00edculos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin BFCache, la portada puede reconstruirse y aparecer inicialmente en una posici\u00f3n distinta. Aunque la carga sea relativamente r\u00e1pida, el lector percibe una interrupci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con BFCache, la p\u00e1gina puede reaparecer inmediatamente en el mismo punto del listado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, esta es una de las situaciones en las que mejor se entiende su utilidad. No se trata \u00fanicamente de ahorrar unas d\u00e9cimas de segundo. Se trata de conservar el contexto del usuario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esa continuidad hace que la web parezca m\u00e1s estable, r\u00e1pida y agradable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">BFCache no es lo mismo que la cach\u00e9 tradicional de WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uno de los errores m\u00e1s habituales consiste en pensar que BFCache es otro tipo de plugin de cach\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No lo es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los plugins de cach\u00e9 de WordPress, la cach\u00e9 del navegador, la cach\u00e9 del servidor y BFCache pueden mejorar el rendimiento, pero act\u00faan en momentos y capas diferentes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Diferencias entre BFCache, cach\u00e9 de p\u00e1gina y cach\u00e9 del navegador<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una <strong>cach\u00e9 de p\u00e1gina<\/strong> guarda o genera una versi\u00f3n preparada del HTML. Su objetivo es evitar que WordPress tenga que ejecutar todas las operaciones habituales cada vez que recibe una visita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La <strong>cach\u00e9 del navegador<\/strong> suele conservar recursos descargados, como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>im\u00e1genes;<\/li>\n\n\n\n<li>hojas de estilo;<\/li>\n\n\n\n<li>fuentes;<\/li>\n\n\n\n<li>archivos JavaScript;<\/li>\n\n\n\n<li>otros recursos est\u00e1ticos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando el usuario vuelve a cargar una p\u00e1gina, el navegador puede reutilizar esos archivos en lugar de descargarlos nuevamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache no se limita a reutilizar recursos. Puede conservar el estado completo de una p\u00e1gina que ya se encontraba abierta.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Tecnolog\u00eda<\/th><th>Qu\u00e9 conserva o acelera<\/th><th>Cu\u00e1ndo act\u00faa<\/th><\/tr><tr><td>Cach\u00e9 de p\u00e1gina<\/td><td>HTML preparado o est\u00e1tico<\/td><td>Al solicitar una p\u00e1gina<\/td><\/tr><tr><td>Cach\u00e9 del navegador<\/td><td>Im\u00e1genes, CSS, fuentes y scripts<\/td><td>Durante nuevas cargas<\/td><\/tr><tr><td>Cach\u00e9 de objetos<\/td><td>Resultados de consultas y datos internos<\/td><td>Durante la ejecuci\u00f3n de WordPress<\/td><\/tr><tr><td>CDN<\/td><td>Recursos distribuidos desde servidores cercanos<\/td><td>Durante la descarga<\/td><\/tr><tr><td>BFCache<\/td><td>Estado completo de una p\u00e1gina visitada<\/td><td>Al usar atr\u00e1s o adelante<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Esta distinci\u00f3n es importante porque una web puede utilizar perfectamente un plugin de cach\u00e9 y, aun as\u00ed, no ser compatible con BFCache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n puede ocurrir lo contrario: una p\u00e1gina sencilla puede restaurarse desde BFCache aunque su optimizaci\u00f3n general sea mejorable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfSustituye BFCache a un plugin de cach\u00e9?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache no sustituye:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>una buena configuraci\u00f3n del servidor;<\/li>\n\n\n\n<li>la cach\u00e9 de p\u00e1gina;<\/li>\n\n\n\n<li>la optimizaci\u00f3n de im\u00e1genes;<\/li>\n\n\n\n<li>la reducci\u00f3n del peso de JavaScript;<\/li>\n\n\n\n<li>la optimizaci\u00f3n de la base de datos;<\/li>\n\n\n\n<li>una CDN;<\/li>\n\n\n\n<li>un tema eficiente;<\/li>\n\n\n\n<li>un alojamiento adecuado.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Su beneficio aparece principalmente en un tipo concreto de navegaci\u00f3n: volver a una p\u00e1gina ya visitada o avanzar de nuevo hacia ella.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la primera carga tarda cinco segundos, BFCache no corrige ese problema. El usuario seguir\u00e1 sufriendo una espera inicial demasiado larga.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi opini\u00f3n, conviene entender BFCache como una capa adicional. Primero debemos conseguir que WordPress responda correctamente y que las p\u00e1ginas sean ligeras. Despu\u00e9s podemos revisar si el navegador tiene libertad para restaurarlas cuando el usuario navega por el historial.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">BFCache frente a Speculation Rules, prefetch y prerender<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache tambi\u00e9n suele confundirse con tecnolog\u00edas de carga anticipada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La diferencia principal es bastante sencilla:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>BFCache recupera una p\u00e1gina que ya ha sido visitada.<\/strong><\/li>\n\n\n\n<li><strong>Prefetch o prerender intentan preparar una p\u00e1gina que todav\u00eda no se ha abierto.<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Las Speculation Rules permiten indicar al navegador qu\u00e9 enlaces podr\u00eda interesarle anticipar. Dependiendo de la configuraci\u00f3n y de la compatibilidad, el navegador puede descargar recursos o preparar p\u00e1ginas antes de que el usuario haga clic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache funciona despu\u00e9s de una visita previa. Su objetivo es conservar o restaurar la p\u00e1gina cuando utilizamos el historial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambas tecnolog\u00edas pueden conseguir que una navegaci\u00f3n parezca instant\u00e1nea, pero lo hacen en direcciones opuestas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>una anticipa el futuro;<\/li>\n\n\n\n<li>la otra recupera el pasado.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 ventajas aporta BFCache a una web de WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La principal ventaja de BFCache es la mejora de la <strong>velocidad percibida<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una web no se siente r\u00e1pida \u00fanicamente porque su servidor responda bien. Tambi\u00e9n influye lo que ocurre al abrir men\u00fas, desplazarse por listados, volver a una categor\u00eda o recuperar el estado de una p\u00e1gina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache puede aportar fluidez sin cambiar el dise\u00f1o ni eliminar funcionalidades visibles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Navegaci\u00f3n instant\u00e1nea al utilizar los botones atr\u00e1s y adelante<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los botones de atr\u00e1s y adelante siguen siendo una parte fundamental de la navegaci\u00f3n web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas personas los utilizan constantemente para:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>comparar productos;<\/li>\n\n\n\n<li>consultar varios art\u00edculos;<\/li>\n\n\n\n<li>revisar resultados de b\u00fasqueda;<\/li>\n\n\n\n<li>volver a una categor\u00eda;<\/li>\n\n\n\n<li>alternar entre p\u00e1ginas informativas;<\/li>\n\n\n\n<li>recuperar una pantalla anterior.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si cada regreso provoca una carga completa, la experiencia puede sentirse m\u00e1s lenta de lo necesario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando el navegador restaura la p\u00e1gina desde BFCache, la respuesta puede ser inmediata. No tiene que volver a solicitar el documento, esperar al servidor y reconstruir toda la interfaz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta mejora resulta especialmente perceptible en webs con p\u00e1ginas largas o listados amplios.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recuperaci\u00f3n de la posici\u00f3n del scroll y del estado de la p\u00e1gina<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La velocidad no es el \u00fanico beneficio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recuperar el mismo punto de desplazamiento evita que el usuario tenga que buscar d\u00f3nde estaba. Esto es importante en:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>categor\u00edas de productos;<\/li>\n\n\n\n<li>p\u00e1ginas de archivo;<\/li>\n\n\n\n<li>listados de noticias;<\/li>\n\n\n\n<li>directorios;<\/li>\n\n\n\n<li>comparativas;<\/li>\n\n\n\n<li>documentaci\u00f3n extensa;<\/li>\n\n\n\n<li>resultados de b\u00fasqueda internos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En una tienda WooCommerce, por ejemplo, una persona puede bajar hasta la mitad de una categor\u00eda, abrir un producto y despu\u00e9s regresar al listado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la categor\u00eda se carga desde cero y pierde su posici\u00f3n, la experiencia resulta frustrante. El usuario tiene que volver a desplazarse y localizar el producto por el que iba.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con BFCache, puede recuperar exactamente el mismo contexto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 su efecto puede notarse m\u00e1s en dispositivos m\u00f3viles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Considero que BFCache puede aportar todav\u00eda m\u00e1s valor en tel\u00e9fonos m\u00f3viles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En una conexi\u00f3n r\u00e1pida, una nueva carga puede tardar poco. En una red lenta, saturada o inestable, esa misma navegaci\u00f3n puede implicar varios segundos de espera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si el navegador recupera la p\u00e1gina desde memoria, evita depender nuevamente de la conexi\u00f3n y del tiempo de respuesta del servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, en m\u00f3viles es frecuente navegar de forma secuencial:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Abrir un listado.<\/li>\n\n\n\n<li>Entrar en un resultado.<\/li>\n\n\n\n<li>Volver atr\u00e1s.<\/li>\n\n\n\n<li>Abrir otro resultado.<\/li>\n\n\n\n<li>Repetir el proceso.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Cada interrupci\u00f3n se acumula. Una restauraci\u00f3n r\u00e1pida puede conseguir que el usuario siga explorando en lugar de abandonar la web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto no significa que BFCache reduzca m\u00e1gicamente el consumo de recursos en todos los casos ni que funcione siempre. Sin embargo, cuando es compatible, puede mejorar notablemente la sensaci\u00f3n de continuidad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo saber si BFCache funciona en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de instalar un plugin, modificar una cabecera o a\u00f1adir c\u00f3digo, debemos comprobar si realmente existe un problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No todas las p\u00e1ginas necesitan una intervenci\u00f3n. Los navegadores modernos pueden utilizar BFCache autom\u00e1ticamente cuando consideran que la p\u00e1gina es apta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestra tarea consiste en comprobar el comportamiento y revisar los motivos de exclusi\u00f3n cuando la restauraci\u00f3n no se produce.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprobar BFCache con Chrome DevTools<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Chrome incluye herramientas para analizar la compatibilidad de una p\u00e1gina con BFCache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El procedimiento puede variar ligeramente entre versiones, pero normalmente podemos hacer lo siguiente:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Abrir la p\u00e1gina que queremos analizar.<\/li>\n\n\n\n<li>Acceder a las herramientas para desarrolladores.<\/li>\n\n\n\n<li>Entrar en el panel <strong>Application<\/strong>.<\/li>\n\n\n\n<li>Buscar la secci\u00f3n relacionada con <strong>Back\/Forward Cache<\/strong>.<\/li>\n\n\n\n<li>Ejecutar la prueba.<\/li>\n\n\n\n<li>Revisar si la p\u00e1gina puede restaurarse.<\/li>\n\n\n\n<li>Consultar los motivos indicados cuando la prueba falla.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">La utilidad de esta herramienta no consiste \u00fanicamente en mostrar un resultado positivo o negativo. Tambi\u00e9n puede se\u00f1alar qu\u00e9 condici\u00f3n est\u00e1 impidiendo la restauraci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podr\u00edamos encontrar referencias a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>encabezados incompatibles;<\/li>\n\n\n\n<li>eventos JavaScript;<\/li>\n\n\n\n<li>conexiones abiertas;<\/li>\n\n\n\n<li>comportamientos introducidos por scripts;<\/li>\n\n\n\n<li>restricciones de seguridad;<\/li>\n\n\n\n<li>caracter\u00edsticas de la propia p\u00e1gina.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No debemos asumir que el primer motivo detectado es el \u00fanico. Al corregir un bloqueo, puede aparecer otro que antes permanec\u00eda oculto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Realizar una prueba manual de navegaci\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n podemos hacer una comprobaci\u00f3n b\u00e1sica sin herramientas avanzadas:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Abrir una p\u00e1gina de WordPress.<\/li>\n\n\n\n<li>Desplazarnos hasta una zona concreta.<\/li>\n\n\n\n<li>Entrar en otra p\u00e1gina.<\/li>\n\n\n\n<li>Pulsar el bot\u00f3n de volver.<\/li>\n\n\n\n<li>Observar la velocidad y la posici\u00f3n del scroll.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Esta prueba no es suficiente para confirmar t\u00e9cnicamente BFCache, pero puede revelar cambios evidentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para obtener resultados m\u00e1s fiables, conviene repetirla en distintos escenarios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>usuario desconectado;<\/li>\n\n\n\n<li>usuario conectado;<\/li>\n\n\n\n<li>p\u00e1gina p\u00fablica;<\/li>\n\n\n\n<li>formulario;<\/li>\n\n\n\n<li>categor\u00eda de WooCommerce;<\/li>\n\n\n\n<li>producto;<\/li>\n\n\n\n<li>carrito;<\/li>\n\n\n\n<li>p\u00e1gina privada;<\/li>\n\n\n\n<li>m\u00f3vil;<\/li>\n\n\n\n<li>escritorio.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n debemos probar m\u00e1s de un navegador. Una p\u00e1gina puede comportarse de manera diferente seg\u00fan la implementaci\u00f3n y las pol\u00edticas de cada uno.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Interpretar los motivos de exclusi\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando una herramienta muestra que la p\u00e1gina no es apta para BFCache, el siguiente paso es clasificar el bloqueo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos dividir las causas en cuatro grupos:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Cabeceras HTTP<\/strong>, como determinadas directivas de cach\u00e9.<\/li>\n\n\n\n<li><strong>JavaScript<\/strong>, eventos o librer\u00edas incompatibles.<\/li>\n\n\n\n<li><strong>Funcionalidades din\u00e1micas<\/strong>, conexiones o estados activos.<\/li>\n\n\n\n<li><strong>Decisiones del navegador<\/strong>, que no siempre dependen directamente de WordPress.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Esta clasificaci\u00f3n evita aplicar soluciones a ciegas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, si el problema procede de un script de chat, modificar una cabecera de WordPress no servir\u00e1. Si el bloqueo est\u00e1 relacionado con informaci\u00f3n privada, eliminarlo sin medidas adicionales podr\u00eda ser peligroso.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 BFCache puede no funcionar en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque BFCache es una funci\u00f3n del navegador, WordPress y sus extensiones pueden crear condiciones que impidan utilizarla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No existe una \u00fanica causa universal. El resultado depende del tipo de p\u00e1gina, del estado del usuario, de los plugins activos, del tema, del servidor y del c\u00f3digo JavaScript.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La cabecera <code>Cache-Control: no-store<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una de las causas m\u00e1s comentadas es la directiva:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Cache-Control: no-store<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esta instrucci\u00f3n indica que la respuesta no debe almacenarse. Hist\u00f3ricamente, se ha utilizado en p\u00e1ginas sensibles o asociadas a sesiones para evitar que determinada informaci\u00f3n quede disponible despu\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En WordPress puede aparecer en contextos relacionados con usuarios conectados y p\u00e1ginas que no deber\u00edan conservarse de forma convencional.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema es que <code>no-store<\/code> tambi\u00e9n puede impedir que algunos navegadores utilicen BFCache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto ha provocado que muchos tutoriales propongan eliminar la directiva para \u201cactivar\u201d BFCache. Sin embargo, hacerlo de forma indiscriminada no es una buena idea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La cabecera puede estar protegiendo informaci\u00f3n que no deber\u00eda reaparecer despu\u00e9s de cerrar sesi\u00f3n. Antes de modificarla, debemos comprender por qu\u00e9 existe y qu\u00e9 p\u00e1ginas se ver\u00e1n afectadas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Eventos JavaScript que impiden conservar la p\u00e1gina<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Algunos comportamientos de JavaScript pueden bloquear BFCache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los eventos utilizados para detectar que el usuario abandona una p\u00e1gina han sido hist\u00f3ricamente problem\u00e1ticos. Determinados scripts pueden asumir que, al salir, la p\u00e1gina ser\u00e1 destruida completamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache rompe esa suposici\u00f3n, porque la p\u00e1gina puede quedar congelada y restaurarse despu\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los plugins o temas pueden a\u00f1adir l\u00f3gica relacionada con:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>unload<\/code>;<\/li>\n\n\n\n<li><code>beforeunload<\/code>;<\/li>\n\n\n\n<li>conexiones persistentes;<\/li>\n\n\n\n<li>reproductores;<\/li>\n\n\n\n<li>chats;<\/li>\n\n\n\n<li>seguimiento;<\/li>\n\n\n\n<li>validaci\u00f3n de formularios;<\/li>\n\n\n\n<li>herramientas de terceros.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No todos estos elementos bloquean siempre BFCache, pero forman parte del diagn\u00f3stico.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Plugins, temas y scripts de terceros incompatibles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una instalaci\u00f3n de WordPress no est\u00e1 compuesta \u00fanicamente por el n\u00facleo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada plugin puede cargar archivos, a\u00f1adir cabeceras, iniciar conexiones o modificar el comportamiento de la p\u00e1gina. Lo mismo ocurre con el tema, el sistema de anal\u00edtica, los anuncios, los chats y las integraciones externas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, dos webs aparentemente similares pueden obtener resultados distintos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una estrategia \u00fatil para localizar conflictos consiste en realizar pruebas controladas en un entorno de desarrollo:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Comprobar el estado inicial.<\/li>\n\n\n\n<li>Desactivar temporalmente plugins no esenciales.<\/li>\n\n\n\n<li>Repetir la prueba.<\/li>\n\n\n\n<li>Activarlos uno a uno.<\/li>\n\n\n\n<li>Identificar cu\u00e1ndo reaparece el bloqueo.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Esta metodolog\u00eda requiere tiempo, pero es m\u00e1s fiable que copiar c\u00f3digo encontrado en un tutorial.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Formularios, conexiones activas y contenido din\u00e1mico<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache puede resultar m\u00e1s delicado en p\u00e1ginas que cambian constantemente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debemos prestar atenci\u00f3n a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>formularios enviados;<\/li>\n\n\n\n<li>chats en tiempo real;<\/li>\n\n\n\n<li>reproductores multimedia;<\/li>\n\n\n\n<li>paneles de usuario;<\/li>\n\n\n\n<li>carritos;<\/li>\n\n\n\n<li>precios;<\/li>\n\n\n\n<li>existencias;<\/li>\n\n\n\n<li>notificaciones;<\/li>\n\n\n\n<li>estados de reserva;<\/li>\n\n\n\n<li>resultados personalizados;<\/li>\n\n\n\n<li>conexiones abiertas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Al restaurar una p\u00e1gina, el estado visible puede corresponder al momento en que el usuario la abandon\u00f3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto no es necesariamente un error. Es parte de la naturaleza de BFCache. Sin embargo, algunos componentes deben reaccionar a la restauraci\u00f3n y actualizarse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 eliminar un solo bloqueo puede no ser suficiente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una p\u00e1gina puede presentar varios motivos de exclusi\u00f3n al mismo tiempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Supongamos que encontramos <code>no-store<\/code> y lo eliminamos. La prueba posterior podr\u00eda seguir fallando porque tambi\u00e9n existe un evento incompatible o una conexi\u00f3n activa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto explica por qu\u00e9 algunas soluciones parecen funcionar en una web y no en otra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache no se activa mediante un interruptor \u00fanico. El navegador eval\u00faa un conjunto de condiciones y decide si puede conservar la p\u00e1gina de forma segura.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo habilitar la compatibilidad con BFCache en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La expresi\u00f3n \u201cactivar BFCache\u201d es \u00fatil desde el punto de vista de b\u00fasqueda, pero no describe exactamente el proceso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No instalamos BFCache dentro de WordPress. La funci\u00f3n ya pertenece al navegador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que podemos hacer es eliminar bloqueos innecesarios, adaptar determinados comportamientos y comprobar que la restauraci\u00f3n es segura.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Antes de cambiar nada: copia de seguridad y entorno de pruebas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No recomiendo modificar cabeceras o sesiones directamente en producci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de hacer cambios:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Crea una copia de seguridad completa.<\/li>\n\n\n\n<li>Utiliza un entorno de pruebas.<\/li>\n\n\n\n<li>Registra el comportamiento actual.<\/li>\n\n\n\n<li>Comprueba usuarios conectados y desconectados.<\/li>\n\n\n\n<li>Identifica qu\u00e9 p\u00e1ginas muestran informaci\u00f3n sensible.<\/li>\n\n\n\n<li>Revisa WooCommerce, formularios y \u00e1reas privadas.<\/li>\n\n\n\n<li>Prepara una forma r\u00e1pida de revertir los cambios.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n conviene anotar los resultados iniciales. Sin una referencia anterior, ser\u00e1 dif\u00edcil saber si la intervenci\u00f3n ha mejorado algo o ha creado una incompatibilidad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Utilizar el plugin Instant Back\/Forward<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una opci\u00f3n es utilizar un plugin desarrollado espec\u00edficamente para mejorar la compatibilidad con BFCache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La principal ventaja de un plugin dedicado es que puede aplicar una estrategia m\u00e1s completa que un fragmento aislado. Por ejemplo, puede modificar determinadas cabeceras y a\u00f1adir mecanismos para gestionar sesiones o cierres de sesi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto no elimina la necesidad de realizar pruebas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de instalarlo debemos revisar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>p\u00e1ginas p\u00fablicas;<\/li>\n\n\n\n<li>usuarios conectados;<\/li>\n\n\n\n<li>inicio y cierre de sesi\u00f3n;<\/li>\n\n\n\n<li>administraci\u00f3n;<\/li>\n\n\n\n<li>formularios;<\/li>\n\n\n\n<li>WooCommerce;<\/li>\n\n\n\n<li>contenido privado;<\/li>\n\n\n\n<li>navegadores diferentes.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El plugin tampoco puede solucionar autom\u00e1ticamente todos los bloqueos. Un script del tema, una herramienta de terceros o una configuraci\u00f3n del servidor pueden seguir impidiendo BFCache.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Habilitar BFCache sin plugin<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n es posible trabajar mediante c\u00f3digo personalizado, pero esta v\u00eda requiere m\u00e1s conocimientos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crea un nuevo snippet y pega este c\u00f3digo <strong>sin a\u00f1adir <code>&lt;?php<\/code><\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/**\n * Mejora la compatibilidad de WordPress con bfcache.\n *\n * Evita que los scripts puedan utilizar el evento \"unload\",\n * uno de los motivos habituales por los que el navegador\n * descarta la cach\u00e9 atr\u00e1s\/adelante.\n *\/\nfunction hostingtg_compatibilidad_bfcache( $headers ) {\n\n    \/\/ No aplicar en administraci\u00f3n, AJAX, REST ni a usuarios conectados.\n    if (\n        is_admin() ||\n        wp_doing_ajax() ||\n        is_user_logged_in() ||\n        ( function_exists( 'wp_is_json_request' ) &amp;&amp; wp_is_json_request() )\n    ) {\n        return $headers;\n    }\n\n    $permissions_policy = isset( $headers&#91;'Permissions-Policy'] )\n        ? trim( $headers&#91;'Permissions-Policy'] )\n        : '';\n\n    \/\/ A\u00f1adir la directiva sin eliminar otras pol\u00edticas existentes.\n    if ( stripos( $permissions_policy, 'unload=' ) === false ) {\n        $headers&#91;'Permissions-Policy'] = $permissions_policy\n            ? $permissions_policy . ', unload=()'\n            : 'unload=()';\n    }\n\n    return $headers;\n}\n\nadd_filter( 'wp_headers', 'hostingtg_compatibilidad_bfcache', 20 );<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Configuraci\u00f3n en Code Snippets<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ponle, por ejemplo, este nombre:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Compatibilidad bfcache WordPress<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Selecciona:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ejecutar el fragmento en todas partes<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s, guarda y activa el snippet.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Vac\u00eda la cach\u00e9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Tras activarlo, vac\u00eda:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La cach\u00e9 del plugin de WordPress.<\/li>\n\n\n\n<li>La cach\u00e9 de Cloudflare, si lo utilizas.<\/li>\n\n\n\n<li>La cach\u00e9 de Nginx, Varnish o del servidor.<\/li>\n\n\n\n<li>La cach\u00e9 del navegador.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 no conviene copiar cualquier fragmento de c\u00f3digo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los tutoriales sobre rendimiento suelen ofrecer soluciones breves porque son f\u00e1ciles de aplicar. El problema es que las cabeceras de cach\u00e9 tienen implicaciones que no siempre son visibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un fragmento puede:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>afectar a usuarios conectados;<\/li>\n\n\n\n<li>permitir restaurar contenido privado;<\/li>\n\n\n\n<li>interferir con un plugin de seguridad;<\/li>\n\n\n\n<li>modificar p\u00e1ginas que deber\u00edan quedar excluidas;<\/li>\n\n\n\n<li>quedar obsoleto tras una actualizaci\u00f3n;<\/li>\n\n\n\n<li>utilizar un hook inadecuado;<\/li>\n\n\n\n<li>entrar en conflicto con el servidor o la CDN.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, algunas soluciones eliminan la protecci\u00f3n, pero no a\u00f1aden un mecanismo alternativo para invalidar la p\u00e1gina despu\u00e9s de cerrar sesi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una mejora de rendimiento deja de ser una mejora si introduce un problema de privacidad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo comprobar el resultado despu\u00e9s de aplicar los cambios<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de cualquier modificaci\u00f3n debemos repetir exactamente las mismas pruebas iniciales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La comprobaci\u00f3n deber\u00eda incluir:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Chrome DevTools;<\/li>\n\n\n\n<li>navegaci\u00f3n manual;<\/li>\n\n\n\n<li>usuario conectado;<\/li>\n\n\n\n<li>usuario desconectado;<\/li>\n\n\n\n<li>cierre de sesi\u00f3n;<\/li>\n\n\n\n<li>p\u00e1ginas privadas;<\/li>\n\n\n\n<li>formularios;<\/li>\n\n\n\n<li>WooCommerce;<\/li>\n\n\n\n<li>m\u00f3vil;<\/li>\n\n\n\n<li>varios navegadores.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n debemos revisar el comportamiento despu\u00e9s de actualizar plugins o WordPress. La compatibilidad puede cambiar con nuevas versiones, scripts o configuraciones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">BFCache en WooCommerce: ventajas y riesgos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce es uno de los escenarios donde BFCache puede resultar m\u00e1s atractivo y, al mismo tiempo, m\u00e1s delicado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una tienda contiene numerosos recorridos de ida y vuelta:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>categor\u00eda y producto;<\/li>\n\n\n\n<li>buscador y ficha;<\/li>\n\n\n\n<li>carrito y cat\u00e1logo;<\/li>\n\n\n\n<li>comparador y resultados;<\/li>\n\n\n\n<li>productos relacionados;<\/li>\n\n\n\n<li>filtros y listados.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La posibilidad de regresar inmediatamente al punto anterior puede mejorar mucho la experiencia de compra.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Volver al mismo punto de una categor\u00eda de productos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos una categor\u00eda con cuarenta productos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El visitante baja por el listado, abre una ficha y revisa sus caracter\u00edsticas. Despu\u00e9s decide regresar para comparar otra opci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin una buena restauraci\u00f3n, la categor\u00eda puede volver a cargar desde el principio. El usuario pierde la posici\u00f3n y tiene que buscar nuevamente d\u00f3nde estaba.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con BFCache, el navegador puede recuperar el listado en el mismo punto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi opini\u00f3n, este ejemplo muestra mejor que ning\u00fan otro el valor real de la tecnolog\u00eda. El beneficio no es \u00fanicamente t\u00e9cnico. Reduce fricci\u00f3n durante una acci\u00f3n directamente relacionada con la compra.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Carritos, precios y disponibilidad desactualizados<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El riesgo aparece cuando la p\u00e1gina restaurada contiene informaci\u00f3n que puede haber cambiado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>el n\u00famero de productos del carrito;<\/li>\n\n\n\n<li>un precio actualizado;<\/li>\n\n\n\n<li>una promoci\u00f3n finalizada;<\/li>\n\n\n\n<li>la disponibilidad;<\/li>\n\n\n\n<li>una variaci\u00f3n seleccionada;<\/li>\n\n\n\n<li>un mensaje de stock;<\/li>\n\n\n\n<li>los gastos de env\u00edo;<\/li>\n\n\n\n<li>el estado de una sesi\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La p\u00e1gina recuperada puede mostrar inicialmente el estado que ten\u00eda cuando se abandon\u00f3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, una implementaci\u00f3n compatible con BFCache puede necesitar actualizar determinados componentes al producirse la restauraci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No todas las p\u00e1ginas requieren el mismo tratamiento. Una categor\u00eda p\u00fablica puede ser menos sensible que el carrito o la cuenta del cliente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 probar con usuarios conectados y sesiones activas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En WooCommerce debemos realizar pruebas con varios perfiles:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>visitante sin sesi\u00f3n;<\/li>\n\n\n\n<li>cliente conectado;<\/li>\n\n\n\n<li>administrador;<\/li>\n\n\n\n<li>usuario que acaba de iniciar sesi\u00f3n;<\/li>\n\n\n\n<li>usuario que acaba de cerrar sesi\u00f3n;<\/li>\n\n\n\n<li>cliente con productos en el carrito;<\/li>\n\n\n\n<li>cliente que modifica cantidades;<\/li>\n\n\n\n<li>usuario que completa una compra.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de cada acci\u00f3n, conviene navegar hacia otra p\u00e1gina y volver atr\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debemos comprobar que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>el carrito muestra la cantidad correcta;<\/li>\n\n\n\n<li>el estado de la sesi\u00f3n es coherente;<\/li>\n\n\n\n<li>no aparece contenido privado tras cerrar sesi\u00f3n;<\/li>\n\n\n\n<li>los avisos no se repiten;<\/li>\n\n\n\n<li>los formularios no se reenv\u00edan;<\/li>\n\n\n\n<li>los precios son correctos;<\/li>\n\n\n\n<li>la cuenta corresponde al usuario actual.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">P\u00e1ginas que conviene excluir o tratar con m\u00e1s cuidado<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No es necesario conseguir que todas las URLs utilicen BFCache a cualquier precio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las p\u00e1ginas m\u00e1s delicadas suelen ser:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>carrito;<\/li>\n\n\n\n<li>finalizar compra;<\/li>\n\n\n\n<li>mi cuenta;<\/li>\n\n\n\n<li>pedidos;<\/li>\n\n\n\n<li>datos personales;<\/li>\n\n\n\n<li>formularios con informaci\u00f3n sensible;<\/li>\n\n\n\n<li>p\u00e1ginas con estados que cambian r\u00e1pidamente.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En algunas situaciones puede ser preferible mantener restricciones. En otras, se puede permitir BFCache y actualizar los componentes necesarios al restaurar la p\u00e1gina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La decisi\u00f3n debe basarse en pruebas, no en una regla universal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Seguridad y privacidad al utilizar BFCache<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El rendimiento no puede analizarse de forma independiente a la privacidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una p\u00e1gina que se restaura r\u00e1pidamente puede resultar problem\u00e1tica si muestra informaci\u00f3n que deber\u00eda haber desaparecido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este riesgo es especialmente importante en equipos compartidos o despu\u00e9s de cerrar sesi\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 puede ocurrir despu\u00e9s de cerrar sesi\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Supongamos que un usuario entra en una zona privada, consulta sus datos y despu\u00e9s cierra sesi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si el navegador conserva la p\u00e1gina anterior y permite restaurarla sin ninguna medida adicional, al pulsar atr\u00e1s podr\u00eda mostrar temporalmente el contenido privado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque la sesi\u00f3n del servidor ya haya terminado, la representaci\u00f3n almacenada puede seguir existiendo en memoria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, las estrategias de compatibilidad con BFCache deben tener en cuenta el cierre de sesi\u00f3n y la invalidaci\u00f3n de p\u00e1ginas sensibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No basta con comprobar que el servidor rechaza nuevas solicitudes. BFCache puede restaurar una p\u00e1gina sin hacer una nueva petici\u00f3n en ese momento.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Restauraci\u00f3n de p\u00e1ginas privadas desde el historial<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las zonas privadas incluyen muchos escenarios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cuentas de clientes;<\/li>\n\n\n\n<li>cursos;<\/li>\n\n\n\n<li>membres\u00edas;<\/li>\n\n\n\n<li>intranets;<\/li>\n\n\n\n<li>paneles;<\/li>\n\n\n\n<li>historiales de pedidos;<\/li>\n\n\n\n<li>datos personales;<\/li>\n\n\n\n<li>documentos;<\/li>\n\n\n\n<li>administraci\u00f3n de WordPress.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cada proyecto necesita una pol\u00edtica propia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En una web p\u00fablica, permitir la restauraci\u00f3n de art\u00edculos puede ser sencillo. En una plataforma sanitaria, financiera o empresarial, las restricciones deben ser mucho m\u00e1s estrictas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La seguridad y la privacidad deben tener prioridad sobre una mejora perceptible de velocidad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo evitar mostrar informaci\u00f3n antigua o sensible<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las soluciones pueden combinar varias medidas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mantener restricciones en p\u00e1ginas sensibles;<\/li>\n\n\n\n<li>invalidar estados al cerrar sesi\u00f3n;<\/li>\n\n\n\n<li>detectar restauraciones;<\/li>\n\n\n\n<li>actualizar componentes din\u00e1micos;<\/li>\n\n\n\n<li>verificar la sesi\u00f3n;<\/li>\n\n\n\n<li>recargar cuando la informaci\u00f3n ya no sea v\u00e1lida;<\/li>\n\n\n\n<li>diferenciar p\u00e1ginas p\u00fablicas y privadas;<\/li>\n\n\n\n<li>limitar los cambios a contextos seguros.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La implementaci\u00f3n exacta depender\u00e1 de la arquitectura de la web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mi recomendaci\u00f3n es no pensar en BFCache como una optimizaci\u00f3n global que deba imponerse a todas las p\u00e1ginas. Resulta m\u00e1s \u00fatil trabajar con una estrategia selectiva.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Errores frecuentes al optimizar BFCache en WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache parece sencillo cuando se resume en una frase: quitar un bloqueo y conseguir que el bot\u00f3n atr\u00e1s sea m\u00e1s r\u00e1pido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En la pr\u00e1ctica, los errores suelen aparecer por simplificar demasiado el problema.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Intentar activar BFCache como una funci\u00f3n de WordPress<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache no es una caracter\u00edstica que WordPress encienda o apague directamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El navegador decide si conserva una p\u00e1gina. WordPress, el servidor, los plugins y los scripts pueden crear condiciones que influyan en esa decisi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, <a href=\"https:\/\/www.hostingtg.com\/blog\/cuantos-plugins-deberia-instalar-en-wordpress\/\">instalar un plugin<\/a> o modificar una cabecera no garantiza que el resultado sea positivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La pregunta correcta no es \u00fanicamente \u201c\u00bfc\u00f3mo activo BFCache?\u201d, sino:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u00bfQu\u00e9 est\u00e1 impidiendo que el navegador conserve esta p\u00e1gina y es seguro eliminar ese bloqueo?<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Eliminar <code>no-store<\/code> de forma indiscriminada<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La directiva <code>no-store<\/code> puede impedir BFCache, pero tambi\u00e9n puede cumplir una funci\u00f3n relacionada con la privacidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eliminarla en toda la web sin distinguir usuarios, p\u00e1ginas o estados puede provocar comportamientos inesperados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de hacerlo debemos identificar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>d\u00f3nde aparece;<\/li>\n\n\n\n<li>por qu\u00e9 se genera;<\/li>\n\n\n\n<li>qu\u00e9 contenido protege;<\/li>\n\n\n\n<li>qu\u00e9 mecanismo alternativo se utilizar\u00e1;<\/li>\n\n\n\n<li>c\u00f3mo se comporta el cierre de sesi\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Probar \u00fanicamente como usuario desconectado<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una p\u00e1gina p\u00fablica puede funcionar perfectamente con BFCache mientras que la versi\u00f3n para usuarios conectados presenta problemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las pruebas deben incluir:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sesiones activas;<\/li>\n\n\n\n<li>cierres de sesi\u00f3n;<\/li>\n\n\n\n<li>carritos;<\/li>\n\n\n\n<li>zonas privadas;<\/li>\n\n\n\n<li>formularios;<\/li>\n\n\n\n<li>cambios de permisos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n conviene probar en una ventana normal y no limitarse al modo inc\u00f3gnito, porque algunas condiciones pueden ser diferentes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Confundir una navegaci\u00f3n r\u00e1pida con una web completamente optimizada<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache puede hacer que volver atr\u00e1s sea instant\u00e1neo, pero eso no significa que la web tenga un buen rendimiento general.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debemos seguir analizando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la primera carga;<\/li>\n\n\n\n<li>el tiempo de respuesta del servidor;<\/li>\n\n\n\n<li>las im\u00e1genes;<\/li>\n\n\n\n<li>JavaScript;<\/li>\n\n\n\n<li>CSS;<\/li>\n\n\n\n<li>fuentes;<\/li>\n\n\n\n<li>consultas;<\/li>\n\n\n\n<li>plugins;<\/li>\n\n\n\n<li>Core Web Vitals;<\/li>\n\n\n\n<li>estabilidad visual;<\/li>\n\n\n\n<li>capacidad de respuesta.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache complementa esas mejoras. No las reemplaza.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Aplicar cambios directamente en producci\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este es uno de los errores m\u00e1s arriesgados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una modificaci\u00f3n aparentemente sencilla puede afectar a sesiones, contenido privado o procesos de compra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La secuencia correcta es:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Crear un entorno de pruebas.<\/li>\n\n\n\n<li>Registrar el comportamiento inicial.<\/li>\n\n\n\n<li>Aplicar el cambio.<\/li>\n\n\n\n<li>Repetir las pruebas.<\/li>\n\n\n\n<li>Revisar privacidad y datos din\u00e1micos.<\/li>\n\n\n\n<li>Implementar en producci\u00f3n.<\/li>\n\n\n\n<li>Monitorizar.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfMerece la pena optimizar BFCache en WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En muchos proyectos, s\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache puede mejorar una acci\u00f3n que los usuarios realizan constantemente: entrar en una p\u00e1gina y volver a la anterior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Su valor es especialmente claro en:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>blogs;<\/li>\n\n\n\n<li>tiendas;<\/li>\n\n\n\n<li>directorios;<\/li>\n\n\n\n<li>medios;<\/li>\n\n\n\n<li>p\u00e1ginas de resultados;<\/li>\n\n\n\n<li>cat\u00e1logos;<\/li>\n\n\n\n<li>documentaci\u00f3n;<\/li>\n\n\n\n<li>m\u00f3viles;<\/li>\n\n\n\n<li>conexiones inestables.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, no todas las webs necesitan la misma intervenci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En una p\u00e1gina p\u00fablica y sencilla, el navegador puede utilizar BFCache sin que tengamos que hacer nada. En una tienda o una zona privada, quiz\u00e1 sea necesario adaptar componentes y gestionar la sesi\u00f3n con m\u00e1s cuidado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Personalmente, no intentar\u00eda forzar BFCache de manera indiscriminada. Primero comprobar\u00eda qu\u00e9 p\u00e1ginas ya son compatibles. Despu\u00e9s analizar\u00eda los bloqueos y decidir\u00eda cu\u00e1les pueden eliminarse sin comprometer la precisi\u00f3n de los datos o la privacidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El objetivo no deber\u00eda ser obtener un resultado positivo en todas las pruebas. El objetivo debe ser mejorar la navegaci\u00f3n sin introducir errores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sobre BFCache<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache es una funci\u00f3n del navegador capaz de conservar temporalmente el estado completo de una p\u00e1gina y restaurarlo cuando el usuario utiliza los botones de atr\u00e1s o adelante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En WordPress, esta tecnolog\u00eda puede conseguir que la navegaci\u00f3n parezca mucho m\u00e1s r\u00e1pida. Un lector puede volver a la portada de un blog sin perder su posici\u00f3n. Un cliente puede regresar a una categor\u00eda de WooCommerce y continuar comparando productos desde el mismo punto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El visitante no necesita saber qu\u00e9 est\u00e1 ocurriendo. Simplemente siente que la web responde mejor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, BFCache no sustituye a la cach\u00e9 de p\u00e1gina, a un buen alojamiento ni a una optimizaci\u00f3n completa. Tampoco debe activarse a ciegas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las cabeceras HTTP, los eventos JavaScript, los plugins, las sesiones y el contenido din\u00e1mico pueden impedir la restauraci\u00f3n o hacer que resulte inadecuada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, el mejor enfoque consiste en:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Comprobar si BFCache funciona.<\/li>\n\n\n\n<li>Identificar los motivos de exclusi\u00f3n.<\/li>\n\n\n\n<li>Diferenciar p\u00e1ginas p\u00fablicas y sensibles.<\/li>\n\n\n\n<li>Aplicar cambios en un entorno de pruebas.<\/li>\n\n\n\n<li>Revisar usuarios conectados, formularios y WooCommerce.<\/li>\n\n\n\n<li>Confirmar que no aparece informaci\u00f3n antigua o privada.<\/li>\n\n\n\n<li>Repetir las pruebas en varios navegadores.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, considero que BFCache merece m\u00e1s atenci\u00f3n dentro de las estrategias de rendimiento de WordPress. No porque sea una soluci\u00f3n milagrosa, sino porque puede mejorar de forma muy perceptible una parte cotidiana de la experiencia de usuario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando se combina con una web ligera, un servidor bien configurado y un sistema de cach\u00e9 eficiente, puede convertir una navegaci\u00f3n normal en una experiencia mucho m\u00e1s fluida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dudas de la comunidad<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es BFCache en WordPress?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache o Back\/Forward Cache es una funci\u00f3n del navegador que puede conservar el estado completo de una p\u00e1gina visitada. Cuando el usuario pulsa los botones de atr\u00e1s o adelante, el navegador puede restaurarla sin realizar una nueva carga completa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress no incorpora BFCache como un sistema propio. Su configuraci\u00f3n, cabeceras, plugins y scripts pueden facilitar o impedir que el navegador lo utilice.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfBFCache sustituye a la cach\u00e9 de p\u00e1gina?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. La cach\u00e9 de p\u00e1gina acelera la generaci\u00f3n y entrega del HTML. BFCache intenta evitar una nueva carga cuando el usuario regresa a una p\u00e1gina que ya hab\u00eda visitado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambas tecnolog\u00edas son complementarias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo puedo comprobar si BFCache est\u00e1 funcionando?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes utilizar el panel Back\/Forward Cache de Chrome DevTools y realizar pruebas manuales navegando entre varias p\u00e1ginas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostingtg.com\/blog\/wp-content\/uploads\/2026\/07\/bfcache-devtools.webp\"><img fetchpriority=\"high\" decoding=\"async\" width=\"906\" height=\"777\" src=\"https:\/\/www.hostingtg.com\/blog\/wp-content\/uploads\/2026\/07\/bfcache-devtools.webp\" alt=\"bfcache devtools\" class=\"wp-image-9469\" title=\"\"><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n conviene comprobar la posici\u00f3n del scroll y revisar si el navegador indica alg\u00fan motivo de exclusi\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostingtg.com\/blog\/wp-content\/uploads\/2026\/07\/prueba-bfcache.webp\"><img decoding=\"async\" width=\"781\" height=\"554\" src=\"https:\/\/www.hostingtg.com\/blog\/wp-content\/uploads\/2026\/07\/prueba-bfcache.webp\" alt=\"prueba bfcache\" class=\"wp-image-9470\" title=\"\"><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPor qu\u00e9 WordPress puede enviar la directiva <code>no-store<\/code>?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress puede utilizar cabeceras restrictivas en contextos relacionados con usuarios conectados o contenido que no deber\u00eda almacenarse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La finalidad puede estar vinculada con la privacidad y la seguridad. Por eso no conviene eliminar <code>no-store<\/code> sin analizar las consecuencias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEs seguro eliminar <code>Cache-Control: no-store<\/code>?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No siempre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depende de la p\u00e1gina, del tipo de contenido, del estado del usuario y de las medidas utilizadas para gestionar el cierre de sesi\u00f3n y la informaci\u00f3n privada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La modificaci\u00f3n debe probarse en un entorno seguro y no deber\u00eda aplicarse globalmente sin conocer sus efectos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfBFCache funciona con WooCommerce?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puede funcionar y mejorar mucho la navegaci\u00f3n entre categor\u00edas y productos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, es necesario comprobar carritos, precios, disponibilidad, sesiones, cuentas de cliente y p\u00e1ginas de compra. Algunos componentes pueden necesitar actualizarse cuando la p\u00e1gina se restaura.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuede BFCache mostrar informaci\u00f3n desactualizada?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. La p\u00e1gina restaurada puede reflejar el estado que ten\u00eda cuando el usuario la abandon\u00f3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso deben revisarse los elementos din\u00e1micos, como carritos, notificaciones, precios, estados de sesi\u00f3n y formularios.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfBFCache mejora los Core Web Vitals?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache puede mejorar la experiencia al navegar hacia atr\u00e1s y hacia delante, pero no sustituye la optimizaci\u00f3n de las m\u00e9tricas de la primera carga.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una restauraci\u00f3n desde BFCache puede sentirse instant\u00e1nea, aunque la p\u00e1gina siga teniendo problemas de rendimiento al abrirse por primera vez.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfFunciona igual en todos los navegadores?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No necesariamente. Los navegadores pueden aplicar criterios y restricciones diferentes. Adem\u00e1s, su comportamiento puede cambiar con nuevas versiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conviene probar la web en los navegadores utilizados por la audiencia del proyecto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfConviene habilitar BFCache en todas las p\u00e1ginas?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No como regla general.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las p\u00e1ginas p\u00fablicas suelen ser las candidatas m\u00e1s sencillas. Los carritos, \u00e1reas privadas, administraciones, formularios y p\u00e1ginas con datos sensibles requieren m\u00e1s precauciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La compatibilidad debe decidirse seg\u00fan el funcionamiento real de cada secci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Opini\u00f3n Personal<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BFCache merece mucha m\u00e1s atenci\u00f3n dentro de la optimizaci\u00f3n de WordPress. No es una soluci\u00f3n milagrosa ni sustituye a un buen alojamiento, una cach\u00e9 correctamente configurada o una web ligera, pero puede mejorar de forma muy perceptible la navegaci\u00f3n entre p\u00e1ginas ya visitadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que m\u00e1s valoro de BFCache es que el usuario no necesita saber que existe. Simplemente pulsa el bot\u00f3n de volver y encuentra la p\u00e1gina pr\u00e1cticamente al instante, en la misma posici\u00f3n y con el contexto que hab\u00eda dejado. En blogs, cat\u00e1logos y tiendas WooCommerce, esa sensaci\u00f3n de continuidad puede marcar una gran diferencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso s\u00ed, no recomiendo eliminar bloqueos o modificar cabeceras sin analizar cada proyecto. En p\u00e1ginas privadas, carritos, formularios o zonas con usuarios conectados, es fundamental comprobar que la informaci\u00f3n se restaura correctamente y que no aparecen datos antiguos o sensibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En definitiva, considero que BFCache es una optimizaci\u00f3n muy interesante cuando se implementa con criterio, pruebas y sentido com\u00fan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfHas comprobado si BFCache funciona en tu WordPress? <strong>Cu\u00e9ntame en los comentarios<\/strong> qu\u00e9 resultado has obtenido, qu\u00e9 problemas encontraste o qu\u00e9 soluci\u00f3n utilizaste. Tu experiencia puede ayudar a otros usuarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cuando hablamos de mejorar el rendimiento de WordPress, casi siempre pensamos en las mismas acciones: instalar un plugin de cach\u00e9, comprimir im\u00e1genes, reducir archivos CSS y JavaScript, utilizar una CDN o contratar un alojamiento m\u00e1s r\u00e1pido. Todo eso sigue siendo importante. Sin embargo, existe una optimizaci\u00f3n menos conocida que puede conseguir que una web parezca [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9472,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_aifi_custom_prompt":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[491],"tags":[1440,692,1441],"class_list":["post-9468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-bfcache","tag-cache-wordpress","tag-optimizacion-wordpress"],"_links":{"self":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/comments?post=9468"}],"version-history":[{"count":2,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9468\/revisions"}],"predecessor-version":[{"id":9473,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9468\/revisions\/9473"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media\/9472"}],"wp:attachment":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media?parent=9468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/categories?post=9468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/tags?post=9468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}