Comparativa independiente · sin rankings de pago
Inicio / Blog / Técnico / Almacenamiento en caché de páginas dinámicas: decidir qué se puede almacenar en caché realmente

Almacenamiento en caché de páginas dinámicas: decidir qué se puede almacenar en caché realmente

Almacenar en caché “la página de inicio” parece simple, hasta que un banner conectado, un carrito de compras y pruebas A/B hacen que cada visita sea única.

Redacción Hébergeurs.eu 5 min Actualizado 19 jul. 2026

El equipo activa el caché de página completa. El TTFB cae de 800 ms a 40 ms: victoria. Excepto que el banner "Hola administrador" aparece a los visitantes anónimos, el contador del carrito muestra 0 para todos y la prueba A/B ofrece la variante B al 100% de los usuarios durante seis horas.

La caché de página dinámica no es un interruptor. Es un contrato de variabilidad: qué partes de la respuesta HTML son iguales para qué segmentos de usuarios y durante cuánto tiempo. Mal definido, acelera el sitio creando errores silenciosos, peor que una lentitud honesta.

Matrix: ¿almacenable en caché o no?

Contenido¿Caché de página completa?Alternativa
Artículo publicado estáticoSí (TTL + purga)Caché largo de CDN
Inicio lista editorialSí TTL cortoPurgar para publicar
Resultados de la búsquedaRara vez (cadena de consulta)Caché de claves estandarizado
Cuenta/página de administraciónNoOmitir caché
Carrito/pagarNosin tienda
Precio de las acciones en tiempo realNo en el caparazónFragmento AJAX

Regla de oro: si Set-Cookie o Vary: la cookie es necesaria, el caché del borde de la página es sospechoso.

Claves de caché: lo que diferencia las respuestas

Una clave "URL" ingenua es suficiente para un blog. Para un sitio dinámico, combine la URL, el idioma, la clase de dispositivo, la prueba de depósito A/B y el segmento de autenticación, no el ID de usuario en la clave de página completa (demasiadas variaciones). Lista blanca de parámetros de consulta. Omita el caché si hay una cookie de sesión presente.

Estrategias por pila

WordPress: caché de objetos más caché de páginas, exclusión /wp-admin, cookies de carrito de WooCommerce.

Symfony/Laravel: caché del kernel HTTP, invalidación de etiquetas Redis, ESI para bloqueos de usuarios.

Sin cabeza: CDN en JSON público; nunca en puntos finales autenticados sin llave.

nginx fastcgi_cache: fastcgi_cache_bypass y fastcgi_no_cache si es cookie de sesión.

Invalidación: evitar el pánico “vaciar todo”

TTL solo para contenido no crítico. Purgar URL al modificarla. Etiquetas/Clave sustituta para la publicación de CMS. Patrón de prohibición en el rediseño del tema: con precaución en la imagen original. Al publicar, purgue la página principal más las taxonomías más el artículo.

Consulte Encabezados de caché HTTP y Varnish: usuarios conectados.

CDN plus origen: dos niveles

La caché perimetral alivia el origen. Origen → borde de encabezados Cache-Control consistentes. s-maxage para CDN, max-age para navegador. No oculte las respuestas con Set-Cookie a menos que se configure explícitamente el borde.

Lo mejor: el caché se acelera o miente; rara vez ambas cosas sin diseño

Mida la tasa de aciertos y la tasa de error funcional posterior al caché.

Decide y avanza sin puntos ciegos

Primero clasifique las URL como almacenables en caché, no almacenables en caché o fragmentadas. Configure claves y pruebe con sesión y sin ella. Vincula la invalidación a la publicación del CMS. Audite el origen y los encabezados CDN (curl -I). Supervise las alertas HIT/MISS y obsoletas más allá del TTL empresarial. Compare hosts compatibles con Surrogate-Key a través del directorio.

Preguntas frecuentes

¿Podemos ocultar una página con un usuario que ha iniciado sesión?

Rara vez almacena en caché toda la página. Separe un shell público almacenable en caché y bloques privados cargados en AJAX o ESI, o defina claves estrictas por función, sin siquiera mostrar una página de miembro a un visitante anónimo.

¿Qué duración TTL para un sitio de noticias?

Para el hogar y las listas, espere entre 60 y 300 segundos con la purga al publicarse. El contenido publicado puede durar más. El carrito de compras y el proceso de pago nunca deben pasar por un caché de página completa.

¿Cómo invalidar correctamente?

Controle la purga por evento: clave URL, etiqueta o clave sustituta en cada copia de seguridad del CMS. Reserve la descarga global para incidentes en los que acepte un pico de carga en el origen.

¿Redis o archivos para caché de página?

Los archivos (Varnish, fastcgi_cache nginx) sobresalen por su rendimiento sin formato. Redis es adecuado para invalidaciones detalladas por etiqueta. La arquitectura más común combina CDN en el borde y caché de origen.


El almacenamiento en caché dinámico comienza enumerando lo que debería permanecer falso, no lo que puede desaparecer rápidamente.

Compara proveedores europeos

Filtra por cumplimiento, ubicación y caso de uso — luego abre las fichas para verificar el alcance real.

Explorar el directorio
Blog

Lecturas relacionadas

Todos los artículos →