¿Qué es la caché y por qué acelera su sitio?
La caché consiste en guardar un resultado para no tener que generarlo o descargarlo de nuevo cada vez. Sin caché, su servidor construye cada página desde cero para cada visitante, aunque nada haya cambiado; con caché, el visitante recibe al instante el resultado guardado. Hay cinco capas: la caché del navegador, la de una CDN, la caché de página, la caché de objetos y la caché de opcode de PHP. Si un cambio no aparece, casi siempre está mirando una de esas capas.
Las cinco capas, del visitante al servidor
- Caché del navegador. El navegador del visitante guarda en local imágenes, hojas de estilo y scripts. Por eso una segunda página de su sitio carga mucho más rápido.
- Caché de CDN. Una CDN como Cloudflare guarda copias de sus archivos en servidores cercanos al visitante. Por defecto se trata de archivos estáticos como imágenes, CSS y JavaScript, no de las páginas en sí.
- Caché de página. Se guarda la página HTML ya construida. Para el siguiente visitante, PHP y la base de datos ya no intervienen. Es lo que más rinde en sitios que cambian poco. En WordPress se encarga de ello un plugin de caché.
- Caché de objetos. Las respuestas de la base de datos se guardan en memoria, normalmente con Redis o Memcached. Ayuda sobre todo en sitios con mucho tráfico y en tiendas online, donde los mismos datos se piden cientos de veces por minuto.
- Caché de opcode. PHP traduce primero cada script a instrucciones ejecutables. OPcache guarda esa traducción en memoria para no repetirla en cada petición. Usted no nota nada, salvo que un archivo PHP modificado a veces tarda un momento en activarse.
«No veo mi cambio»
La confusión clásica. Modifica algo, recarga la página y no ve nada distinto. No concluya que el cambio ha fallado; repase las capas, de la más cercana a la más lejana:
- Abra la página en una ventana privada. Esa ventana arranca sin archivos guardados y sin sesión iniciada. Si ahí sí ve el cambio, era la caché de su navegador.
- Fuerce una recarga completa: Ctrl+F5 en Windows, Cmd+Shift+R en un Mac. El navegador vuelve a descargar todos los archivos de la página.
- Vacíe la caché de página de su CMS o de su plugin de caché. Si ve el cambio con la sesión iniciada y no en la ventana privada, esta es casi con seguridad la causa: los usuarios identificados no suelen recibir páginas en caché.
- Vacíe la caché de la CDN si usa una. En Cloudflare puede purgar una sola dirección o todo.
- ¿Ha cambiado una hoja de estilo o un script? Son los que más tardan en actualizarse, porque los navegadores pueden guardarlos durante semanas. Dé al archivo un nuevo número de versión en el nombre o detrás del signo de interrogación de la dirección; así cada navegador lo trata como un archivo nuevo.
- Compruebe que ha modificado el archivo correcto. Un cambio en una copia o en un tema inactivo no se verá nunca.
Cuándo vaciar la caché
- tras un cambio en el diseño, el menú, el pie de página o un widget, porque están en todas las páginas
- tras una actualización del CMS, del tema o de un plugin
- tras una mudanza o el paso a https, para que no queden direcciones antiguas en páginas guardadas
Un buen plugin de caché vacía por sí solo la página que usted edita. Vaciar toda la caché cada vez es contraproducente: el servidor tiene que reconstruir después todas las páginas.
Lo que nunca se guarda en caché
Las páginas que son distintas para cada visitante: el carrito, el pago, la cuenta y los formularios con un código de seguridad. Si entran en la caché de página, un visitante ve los datos de otro, o un formulario funciona una sola vez. Los plugins de caché suelen excluir por sí solos las páginas estándar de WooCommerce; compruébelo después de reorganizar su tienda.
Errores frecuentes
- Dos plugins de caché a la vez. Cada uno guarda el resultado del otro, y entonces vaciar nunca funciona del todo. Quédese con uno.
- Usar la caché para tapar un sitio lento. Una página que sin caché necesita ocho segundos sigue siendo lenta para el primer visitante y para cada cliente identificado. Busque primero la causa; véase por qué mi web va de repente lenta.
Para WordPress, el método completo, con la caché como una parte más, está en acelerar WordPress. Cómo se mide la velocidad lo explica qué son las Core Web Vitals.
Preguntas frecuentes
¿Pierdo algo si vacío la caché?
No. La caché solo contiene copias. Sus páginas, sus imágenes y su base de datos quedan intactas; las copias se reconstruyen en la siguiente visita.
¿Cómo vacío la caché en el móvil?
Abra la página en una pestaña privada: es la prueba más rápida. Vaciarla de verdad se hace en los ajustes del navegador, en privacidad o datos de navegación. No hace falta borrar también las cookies.
¿La caché de DNS es lo mismo?
No. La caché de DNS recuerda a qué servidor apunta su dominio, no lo que hay en la página. Solo influye tras una mudanza o un cambio de DNS. Véase por qué un cambio de DNS tarda a veces tanto.
¿Un sitio pequeño necesita caché?
La caché del navegador y la de opcode ayudan a cualquier sitio, y normalmente ya están activas. Una caché de página compensa en cuanto su sitio funciona con un CMS. Una caché de objetos solo tiene sentido con muchas visitas, una tienda online o una zona de socios.
¿No lo consigue?
Si un cambio sigue sin verse después de vaciar todas las capas, envíenos a través de contacto la dirección de la página y qué modificó exactamente.