SiteGround CDN - Configuración, encabezados y vaciado
Este tutorial abarca los siguientes temas:
Nuestro propio Content delivery network (CDN) está desarrollada específicamente para nuestros clientes y hace posible que su contenido se almacene en caché y se replique en múltiples ubicaciones. Dirige las solicitudes del sitio a la ubicación CDN de SiteGround más cercana al visitante que, a su vez, servirá el contenido en caché (si el contenido específico se ha almacenado en caché anteriormente) o lo reenviará al servidor de hosting de origen. Aquí, veremos más de cerca cómo funciona el servicio y cómo gestiona el almacenamiento en caché.
Operación
El servicio CDN de SiteGround solo se puede activar si tu nombre de dominio utiliza el DNS centralizado de SiteGround.
Así es como se gestiona una solicitud web con SiteGround CDN habilitado:
- El visitante solicita visitar una página web en particular;
- La solicitud del visitante se enruta a la ubicación CDN de SiteGround más cercana;
- Si la página web ha sido visitada recientemente, debe almacenarse en la caché y, por lo tanto, el visitante obtendrá una respuesta con la versión en caché de la página (el almacenamiento en caché de páginas generadas dinámicamente está disponible solo para el plan Premium SiteGround CDN. El plan gratuito SiteGround CDN almacena en caché solo archivos estáticos como archivos CSS, archivos JS, imágenes, archivos HTML estáticos, etc.);
- Si la página no está en caché, SiteGround CDN enviará la solicitud al servidor de origen del dominio (es decir, el servidor host), que devolverá la solicitud a la CDN, donde la página se almacenará en caché y luego se enviará al visitante (si es cacheable).
Tiempo de caducidad predeterminado
El tiempo predeterminado que los recursos del sitio web se mantienen en la caché de SiteGround CDN es de 12 horas. Este tiempo se puede sobrescribir con el encabezado Cache-Control:max-age enviado por la aplicación, por lo que los clientes también pueden administrar el tiempo de caché por su parte.
Ubicaciones de la CDN de SiteGround
Las ubicaciones de la CDN de SiteGround se pueden encontrar en nuestro sitio web:
https://www.siteground.es/centros-de-datos
Asegúrate de familiarizarte con las ubicaciones exactas de SiteGround CDN.
Protección de Datos
Es posible que estés legalmente obligado, en virtud de la legislación de privacidad o protección de datos, a proteger los datos personales de los usuarios de tu sitio web. Esto crea ciertos casos en los que no se debe usar el almacenamiento en caché. Por ejemplo, en la mayoría de las situaciones, cuando un usuario inicia sesión en un sitio web, debería ver información personalizada, que es algo con lo que interfiere el almacenamiento en caché. Ejemplos destacados de esto son las páginas de pago o las páginas del carrito de compras, las cuales no deben almacenarse en caché. Es por eso que hemos excluido una cantidad de direcciones de la memoria caché CDN de SiteGround de forma predeterminada. Las URL excluidas son:
wp-login, preview=true, wp-cron.php, xmlrpc.php, status.php, update.php, install.php, admin, user, info, flag, ajax, aha, cart, contact, domainmap_action, task=registration, register, view=registration|administrator|remind|login, /admin/content/backup_migrate/export
La lista se puede actualizar con otras URL que cumplan con los mismos criterios.
Te recomendamos que compruebes que las páginas que contienen datos personales se excluyan de forma predeterminada, consultando las coincidencias de URL anteriores.
Cookies
Supervisamos si tu navegador tiene las siguientes cookies y evitamos la caché si están presentes: wordpress_logged_in_, yith_wcwl_products, wp-postpass_, edd_items_in_cart=1, it_exchange_session_, wp_woocommerce_session, woocommerce_cart_hash, woocommerce_items_in_cart=1, wpSGCacheBypass=1
Para algunas, controlamos el valor de la cookie, mientras que para otras, solo la cookie en si es suficiente.
Encabezados de almacenamiento en caché admitidos
La caché del CDN de SiteGround se basa en gran medida en los encabezados. Si bien tiene sus propios encabezados personalizados, también seguimos las mejores prácticas y admitimos los encabezados estándar que usan la mayoría de las aplicaciones de CMS. Éstos incluyen:
- Cache-Control: no-cache – pasar este encabezado le dice a nuestro sistema que no almacene en caché esta solicitud;
- Cache-Control: max-age – almacenaremos en caché la página durante el tiempo especificado en segundos definido a través de max-age. Si se establece en 0, no almacenamos en caché la página;
- Expires – lo mismo que max-age. Se recomienda utilizar max-age en lugar de Expires;
- Set-Cookie – la página no se almacenará en caché si la respuesta incluye este encabezado HTTP;
- X-Accel-Expires – almacenamos en caché la página durante el tiempo especificado en segundos. Si se establece en 0, no almacenamos en caché la página.
Si estás desarrollando tu propia secuencia de comandos o utilizando una aplicación web personalizada, puedes excluir las URL simplemente pasando el encabezado correspondiente:
<php header(“Cache-Control: no-cache”); ?>
O bien, puedes establecer cuánto tiempo deben almacenarse en caché tus páginas:
<php header(“Cache-Control: max-age=6000”); ?>
Vaciar la memoria caché del CDN de SiteGround
Puede iniciar una purga de todos los recursos almacenados en caché de forma manual desde Site Tools > Velocidad > CDN de SiteGround. Ten en cuenta que eliminar todos los cachés de todo el mundo puede tardar hasta 180 segundos.
Vaciar la caché dinámica
Si eres usuario de WordPress, la mejor manera es tener instalado y activado el plugin Speed Optimizer. En su pestaña Caché, encontrarás un botón para vaciarla manualmente. En la mayoría de los casos, dejar la opción Vaciado automático debería ser suficiente. Además de eso, puede usar nuestro comando WP-CLI (que viene con el plugin) para vaciar la caché dinámica:
wp sg purge
Además de nuestro plugin de WordPress, puedes vaciar manualmente la caché desde la pestaña Site Tools > CDN > Vaciar caché.
Probando la caché CDN de SiteGround
Como SiteGround CDN funciona en base a los encabezados, el enfoque recomendado para comprobar si funciona o no es realizar una solicitud a tu sitio y luego inspeccionar los encabezados devueltos. Para ese propósito, puedes usar la pestaña Network de la herramienta de inspección de tu navegador, curl o una herramienta online fácil como Online Curl (https://onlinecurl.com) con la opción de obtener los encabezados del sitio. Luego, comprueba el valor de los siguientes encabezados:
- x-sg-cdn: 1 – si el valor de este encabezado es “1”, entonces SiteGround CDN está habilitado.
- x-proxy-cache: HIT – este encabezado confirma que tu página se entregó correctamente desde la caché.
- x-proxy-cache: MISS – la solicitud se atiende dinámicamente. Actualiza tu página y revisa el encabezado nuevamente. O tu caché no está activada o es la primera vez que se solicitas esta página dinámicamente.
- x-proxy-cache: BYPASS – la solicitud se atiende dinámicamente porque se le indica a la memoria caché que la omita. La presencia de este encabezado significa que has iniciado sesión en tu sitio web, estás probando una URL de nuestra lista de exclusión predeterminada o tienes una cookie en tu navegador que le dice a nuestro sistema que sirva esta página dinámicamente.