Tener una caché de página activa es solo la mitad del trabajo. La otra mitad ocurre en el navegador del visitante: si tus archivos no llegan con las cabeceras de caché correctas, cada visita repite descargas que podrían evitarse. Esta guía resume qué cabeceras importan y cómo aplicarlas en WordPress sin romper nada.
Qué hace Cache-Control
La cabecera Cache-Control le indica al navegador (y a CDNs o proxies intermedios) si puede reutilizar una respuesta y por cuánto tiempo. Las directivas que más vas a ver son:
max-age=N: segundos que el navegador puede reutilizar el archivo sin preguntar al servidor.public/private: si la respuesta puede guardarse en cachés compartidas o solo en el navegador del usuario.no-cache: obliga a revalidar antes de reutilizar (no significa "no guardar").no-store: no guardar la respuesta en ningún lado.immutable: el archivo nunca cambia mientras viva su URL.
Una regla distinta para cada tipo de archivo
Páginas HTML
El HTML cambia cuando publicás o editás contenido, así que conviene un max-age corto o revalidación. Si tu sitio sirve HTML estático, la velocidad ya viene de que el servidor responde sin ejecutar PHP; el navegador solo necesita revalidar de forma barata. Podés ver cómo funciona esto en la página de funcionamiento de cache.lat.
Imágenes, fuentes y archivos versionados
Los archivos que casi nunca cambian (logos, fuentes, imágenes de contenido) admiten tiempos largos, por ejemplo un año. WordPress agrega un parámetro de versión (?ver=) a muchos CSS y JS, lo que permite cachear largo: al actualizar el plugin o el tema, la URL cambia y el navegador descarga la nueva versión.
Páginas con sesión, carrito o administración
Todo lo que depende del usuario (carrito, mi cuenta, wp-admin, checkout) no debe cachearse de forma pública. Si una cookie de sesión llega a una caché compartida, un visitante podría ver datos de otro. Revisá también que tus cookies no estén evitando la caché sin necesidad.
Cómo verificar lo que envía tu sitio
- Abrí las herramientas de desarrollo del navegador, pestaña Red, y recargá la página.
- Hacé clic en un archivo y mirá las cabeceras de respuesta:
Cache-Control,ETagyLast-Modified. - Desde terminal,
curl -I https://tusitio.com/archivo.cssmuestra las mismas cabeceras. - Recargá con la caché normal (no con Ctrl+F5) para comprobar que aparece "desde caché" o un 304.
Errores frecuentes
- Poner un max-age largo en archivos sin versión: los visitantes seguirán viendo el CSS viejo tras una actualización.
- Usar no-cache creyendo que "no guarda": en realidad guarda y revalida; para impedir el almacenamiento es
no-store. - Duplicar cabeceras entre el servidor, un plugin y el CDN, con valores contradictorios. Definí una sola fuente de verdad.
- Olvidar las fuentes y los íconos: suelen ser pesados y se descargan en cada visita si no tienen cabecera.
Cómo aplicarlo
En Apache podés usar mod_expires o mod_headers en el .htaccess; en Nginx, bloques location con expires y add_header. Hacé el cambio de a poco, probá en un entorno de pruebas y verificá con las herramientas anteriores. Si tu hosting limita el acceso a esa configuración, un plugin de caché puede encargarse de las cabeceras de los archivos estáticos.
Para entender los detalles técnicos de cómo se sirven las páginas, revisá los datos técnicos y la documentación. Si querés una mano con tu caso concreto, escribinos desde la página de contacto de TuNegocioEnLinea.net.
Conclusión
Buenas cabeceras de caché reducen descargas repetidas, mejoran la sensación de velocidad en visitas recurrentes y alivian a tu servidor. Empezá por lo simple: tiempos largos para archivos versionados, revalidación para el HTML y nada público para lo que depende del usuario. Después medí y ajustá.