Rendimiento y mantenimiento

Cómo funciona la caché en un servidor web: guía para principiantes

Aprende cómo funciona el cache de un servidor web, qué tipos existen y cómo configurarlo para que tu sitio cargue más rápido.

Top view of financial analysis tools on a desk including a laptop, smartphone, and graphs.

La caché de un servidor web guarda una copia de las respuestas ya generadas y las entrega directamente a los siguientes visitantes, sin repetir el proceso de calcularlas. El resultado es que el servidor trabaja menos y las páginas cargan mucho más rápido.

Si alguna vez te preguntaste por qué algunos sitios abren en décimas de segundo mientras otros tardan varios segundos, la caché es gran parte de la respuesta. Esta guía explica cómo funciona, qué tipos existen y qué debes configurar.

¿Por qué existe la caché en un servidor web?

Cuando alguien visita una página de tu sitio, el servidor sigue una cadena de trabajo: interpreta la petición, ejecuta código PHP (u otro lenguaje), consulta la base de datos, genera el HTML y envía la respuesta. Todo eso puede llevar entre 200 ms y varios segundos.

Si el mismo contenido se va a mostrar igual a la siguiente persona —o a las siguientes mil— ¿por qué repetir ese trabajo? La caché corta ese proceso: la primera vez se genera la respuesta y se guarda; las siguientes veces se entrega directamente desde el almacenamiento temporal.

Esto reduce el tiempo al primer byte (TTFB), alivia la base de datos y permite que un servidor de hosting modesto aguante miles de visitas simultáneas sin sudar.

Tipos de caché en un servidor web

Caché de página completa (Full-Page Cache)

Guarda el HTML completo ya renderizado de una URL. Es el tipo más efectivo: el servidor lee un archivo HTML plano y lo envía, sin ejecutar PHP ni consultar la base de datos. Herramientas como Varnish, NGINX FastCGI Cache o los plugins de WordPress como WP Rocket implementan este tipo.

Caché de objetos (Object Cache)

Almacena en memoria los resultados de consultas frecuentes a la base de datos o cálculos intermedios (objetos PHP, arrays, etc.). Redis y Memcached son los motores más usados. La página se genera dinámicamente, pero reutiliza datos ya recuperados sin volver a consultar la BD.

Caché de opcode (OPcache)

PHP convierte el código fuente en bytecode cada vez que se ejecuta. OPcache almacena ese bytecode en memoria para no recompilarlo en cada petición. Viene activado por defecto en PHP 5.5+ y puede reducir el tiempo de ejecución de PHP hasta en un 70 %.

Caché HTTP / de cabeceras

No es caché dentro del servidor, sino instrucciones que el servidor envía al navegador (y a proxies intermedios) sobre cuánto tiempo puede guardar un recurso. Se configura mediante cabeceras como Cache-Control, Expires y ETag. Para una explicación detallada de este tipo específico, consulta el artículo dedicado a la caché del navegador en la sección de rendimiento web.

Cómo funciona el ciclo de caché paso a paso

  1. Petición entrante: el navegador del visitante pide una URL a tu servidor.
  2. Comprobación de caché: el servidor (o el motor de caché delante de él) busca si ya tiene una copia válida de esa respuesta.
  3. HIT o MISS:
    • Cache HIT: la copia existe y no ha expirado → se entrega directamente, sin ejecutar código.
    • Cache MISS: no hay copia o expiró → se genera la respuesta completa (PHP + BD), se guarda en caché y se entrega.
  4. TTL (Time to Live): cada entrada en caché tiene un tiempo de vida. Cuando expira, el siguiente acceso genera una copia fresca.
  5. Invalidación: si el contenido cambia (nuevo artículo, precio actualizado), puedes forzar la eliminación de la copia vieja antes de que expire el TTL. Esto se llama purgar o invalidar la caché.
Tipo de caché Dónde vive Qué almacena Herramientas comunes
Full-Page Cache Disco o RAM en el servidor HTML completo de una URL Varnish, NGINX, WP Rocket
Object Cache RAM del servidor Resultados de BD, objetos PHP Redis, Memcached
OPcache RAM del servidor Bytecode PHP compilado PHP OPcache (nativo)
Caché HTTP Navegador / proxy Archivos estáticos (CSS, JS, imágenes) Cache-Control, ETag

Configuración básica que todo sitio debería tener

Activar OPcache en PHP

Si tu hosting usa cPanel o Plesk, OPcache suele estar disponible en la configuración de PHP. Asegúrate de que esté habilitado y de que opcache.memory_consumption tenga al menos 128 MB.

Cabeceras Cache-Control para archivos estáticos

En Apache, añade algo como esto en tu .htaccess:

<FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|css|js|woff2)$">
  Header set Cache-Control "max-age=31536000, public, immutable"
</FilesMatch>

Esto le dice al navegador que guarde esos archivos durante un año. Para que los cambios funcionen, usa versionado de recursos (añade un hash o número de versión al nombre del archivo).

Full-Page Cache para sitios con mucho tráfico

Si usas WordPress, plugins como WP Rocket o W3 Total Cache generan versiones HTML estáticas de tus páginas. Si usas PHP propio, considera una capa con NGINX FastCGI Cache o Varnish delante de Apache.

En elenlace.com configuramos entornos de hosting con caché correctamente ajustada para que los sitios sean rápidos desde el día uno, sin que el cliente tenga que lidiar con la parte técnica.

Errores comunes al configurar la caché del servidor

  • Cachear páginas con contenido personalizado: si la URL muestra datos distintos según el usuario (carrito, perfil), no debe cachearse de forma global. Usa cabeceras Vary o excluye esas rutas de la caché.
  • TTL demasiado largo para contenido que cambia: un TTL de un año en archivos que actualizas sin cambiar el nombre causa que los visitantes vean versiones antiguas. Usa siempre versionado de archivos.
  • Olvidar invalidar la caché tras un deploy: si lanzas una nueva versión de tu sitio sin purgar la caché, los visitantes verán la versión antigua hasta que expiren los TTL.
  • Cachear respuestas de error: si un servidor devuelve un error 500 y la caché lo guarda, todos los visitantes verán el error aunque el servidor ya esté recuperado. Configura tu motor para no cachear códigos de error.

Conclusiones clave

  • La caché del servidor guarda respuestas ya generadas para evitar repetir trabajo costoso (PHP + BD).
  • Existen cuatro tipos principales: Full-Page Cache, Object Cache, OPcache y caché HTTP.
  • El ciclo HIT/MISS determina si el servidor entrega una copia o la genera desde cero.
  • OPcache debe estar siempre activado; es la mejora de rendimiento PHP más sencilla y efectiva.
  • Las cabeceras Cache-Control controlan qué guardan el navegador y los proxies intermedios.
  • Invalidar la caché tras cambios de contenido o deploys es tan importante como configurarla.

¿Quieres que tu sitio sea rápido sin tener que convertirte en experto en servidores? El equipo de elenlace.com se encarga de toda la configuración de caché, hosting y rendimiento por ti.

Preguntas frecuentes

¿La caché del servidor es lo mismo que la caché del navegador?

No. La caché del servidor almacena respuestas en el propio servidor para evitar regenerarlas. La caché del navegador guarda archivos estáticos en el dispositivo del visitante para no volver a descargarlos. Ambas se complementan y trabajan en niveles distintos.

¿La caché puede mostrar contenido desactualizado a los visitantes?

Sí, si el TTL no está bien ajustado o si no se invalida la caché tras publicar cambios. Por eso es fundamental configurar TTL apropiados según cada tipo de contenido y purgar la caché cuando actualizas información importante.

¿Necesito Varnish o Redis para tener caché en el servidor?

No necesariamente. OPcache viene integrado en PHP y ya mejora el rendimiento. Para caché de páginas completas, NGINX FastCGI Cache o los plugins de WordPress son opciones más accesibles. Redis y Varnish entran cuando el volumen de tráfico es alto y se necesita mayor control.

¿La caché del servidor afecta al SEO?

De forma positiva. Al reducir el TTFB y mejorar los Core Web Vitals, contribuye a un mejor posicionamiento en Google. Eso sí, asegúrate de que Googlebot nunca reciba una versión en caché con bloqueos o errores que impidan la indexación correcta.

Compara proveedores

Otros proveedores y guías que vale la pena comparar:

← Todos