Diciembre de rastreo: CDN y rastreo

Martes, 24 de diciembre de 2024

Las redes de distribución de contenido (CDN) son especialmente adecuadas para disminuir la latencia de tu sitio web y, en general, evitar los problemas relacionados con el tráfico web. Después de todo, este es su objetivo principal: entregar tu contenido con rapidez, incluso si tu sitio recibe mucho tráfico. La "D" en CDN se usa para entregar o distribuir el contenido en todo el mundo, por lo que los tiempos de transferencia a tus usuarios también son más bajos que si solo se alojara en un centro de datos en algún lugar. En esta publicación, exploraremos cómo usar las CDN de una manera que mejore el rastreo y la experiencia de los usuarios en tu sitio, y analizaremos algunos matices del rastreo de sitios que usan CDN.

Resumen: ¿Qué es una CDN?

Las CDN son básicamente un intermediario entre tu servidor de origen (donde se encuentra tu sitio web) y el usuario final, y les entrega (algunos) archivos. Tradicionalmente, el mayor enfoque de las CDN es el almacenamiento en caché, lo que significa que, una vez que un usuario solicita una URL de tu sitio, las CDN almacenan el contenido de esa URL en sus cachés durante un tiempo para que tu servidor no tenga que volver a entregar ese archivo por un tiempo.

Las CDN pueden acelerar tu sitio de forma drástica, ya que entregan contenido a los usuarios desde una ubicación cercana a ellos. Por ejemplo, si un usuario de Australia accede a un sitio alojado en Alemania, una CDN le entregará el contenido desde sus cachés en Australia, lo que reducirá el recorrido por todo el mundo. Ya sea a la velocidad de la luz o no, la distancia sigue siendo bastante grande.

Por último, las CDN son una herramienta fantástica para proteger tu sitio de sobrecargas y algunas amenazas de seguridad. Con la cantidad de tráfico global que administran las CDN, pueden crear modelos de tráfico confiables para detectar anomalías de tráfico y bloquear los accesos que parecen excesivos o maliciosos. Por ejemplo, el 21 de octubre de 2024, los sistemas de Cloudflare detectaron y mitigaron de forma autónoma un ataque DDoS de 4.2 Tbps (eso es mucho) que duró alrededor de un minuto.

Cómo las CDN pueden ayudar a tu sitio

Es posible que tengas los servidores más rápidos y la mejor conexión ascendente que se pueda comprar, y que no creas que necesitas acelerar nada, pero las CDN pueden ahorrarte dinero a largo plazo, en especial si tu sitio es grande:

  • Almacenamiento en caché en la CDN: Si los recursos como el contenido multimedia, JavaScript y CSS, o incluso tu HTML, se entregan desde las cachés de una CDN, tus servidores no tienen que dedicar procesamiento y ancho de banda a la entrega de esos recursos, lo que reduce la carga del servidor en el proceso. Por lo general, esto también significa que las páginas se cargan más rápido en los navegadores de los usuarios, lo que se correlaciona con mejores conversiones.
  • Protección contra la inundación de tráfico: Las CDN son particularmente buenas para identificar y bloquear el tráfico excesivo o malicioso, lo que permite que los usuarios visiten tu sitio incluso cuando los bots que se comportan mal o los usuarios malintencionados sobrecargarían tus servidores.
    Además de la protección contra la inundación de tráfico, los mismos controles que se usan para bloquear el tráfico no deseado también se pueden usar para bloquear el tráfico que simplemente no deseas, ya sean ciertos rastreadores, clientes que se ajustan a un patrón determinado o simplemente trolls que siguen usando la misma dirección IP. Si bien también puedes hacerlo en tu servidor o firewall, suele ser mucho más fácil usar la interfaz de usuario de una CDN.
  • Confiabilidad: Algunas CDN pueden entregar tu sitio a los usuarios incluso si está inactivo. Por supuesto, esto solo puede funcionar para el contenido estático, pero eso podría ser suficiente para garantizar que no lleven su negocio a otro lugar.

En resumen, las CDN son tus aliadas y, si tu sitio es grande o esperas (o incluso si ya recibes) grandes cantidades de tráfico, te recomendamos que encuentres una que se adapte a tus necesidades en función de factores como el precio, el rendimiento, la confiabilidad, la seguridad, la asistencia al cliente, la escalabilidad y la expansión futura. Consulta con tu proveedor de hosting o CMS para conocer tus opciones (y si ya usas una).

Cómo afecta el rastreo a los sitios con CDN

En el caso del rastreo, las CDN también pueden ser útiles, pero pueden causar algunos problemas de rastreo (aunque pocas veces). No te vayas.

Efecto de las CDN en la frecuencia de rastreo

Nuestra infraestructura de rastreo está diseñada para permitir frecuencias de rastreo más altas en sitios respaldados por una CDN, que se infiere de la dirección IP del servicio que entrega las URLs a las que acceden nuestros rastreadores. Esto funciona bien, al menos la mayor parte del tiempo.

Supongamos que hoy inicias un sitio de fotografías de stock y tienes 1,000,007 imágenes en… stock. Lanzas tu sitio web con una página de destino, páginas de categorías y páginas de detalles para todo tu contenido, por lo que terminas con muchas páginas. En nuestra documentación sobre el límite de capacidad de rastreo, explicamos que, si bien a la Búsqueda de Google le gustaría rastrear todas estas páginas lo más rápido posible, el rastreo tampoco debe sobrecargar tus servidores. Si tu servidor comienza a responder lentamente cuando se enfrenta a una mayor cantidad de solicitudes de rastreo, se aplica la limitación del lado de Google para evitar que el servidor se sobrecargue. El umbral de esta limitación es mucho más alto cuando nuestra infraestructura de rastreo detecta que tu sitio está respaldado por una CDN y supone que no hay problema en enviar más solicitudes simultáneas, ya que es probable que tu servidor pueda controlarlas, lo que permite rastrear tu tienda en línea más rápido.

Sin embargo, en el primer acceso a una URL, la caché de la CDN está "en frío", lo que significa que, como nadie solicitó esa URL todavía, la CDN aún no almacenó en caché su contenido, por lo que tu servidor de origen necesitará entregar esa URL al menos una vez para "preparar" la caché de la CDN. Esto también es muy similar a cómo funciona el almacenamiento en caché HTTP.

En resumen, incluso si tu tienda web está respaldada por una CDN, tu servidor deberá entregar esas 1,000,007 URLs al menos una vez. Solo después de esa publicación inicial, la CDN puede ayudarte con sus cachés. Eso representa una carga significativa para tu "presupuesto de rastreo", y es probable que la frecuencia de rastreo sea alta durante algunos días. Tenlo en cuenta si planeas lanzar muchas URLs a la vez.

Efecto de las CDN en la renderización

Como explicamos en nuestra primera entrada de blog de diciembre sobre el rastreo de recursos, dividir los recursos en su propio nombre de host o en un nombre de host de CDN (cdn.example.com) puede permitir que nuestro servicio de renderización web (WRS) renderice tus páginas de manera más eficiente. Sin embargo, ten en cuenta que esta práctica puede afectar negativamente el rendimiento de la página debido a la sobrecarga de una conexión a un nombre de host diferente, por lo que debes considerar cuidadosamente la experiencia de página con el rendimiento de renderización.

Si respaldas tu host principal con una CDN, evitas este problema: un nombre de host para consultar y es probable que los recursos de renderización críticos se entreguen desde la caché de la CDN para que tu servidor no tenga que entregarlos (y no haya un hit en la experiencia de página).

Al final, elige la solución que mejor se adapte a tu empresa: tener un nombre de host independiente (cdn.example.com) para los recursos estáticos, respaldar tu nombre de host principal con una CDN o hacer ambas cosas. La infraestructura de rastreo de Google admite cualquiera de las opciones sin problemas.

Cuando las CDN son demasiado protectoras

Debido a la protección contra inundación de las CDN y a la forma en que rastrean los rastreadores, en ocasiones, los bots que deseas en tu sitio pueden terminar en la lista de entidades bloqueadas de tu CDN, por lo general, en su firewall de aplicación web (WAF). Esto evita que los rastreadores accedan a tu sitio, lo que, en última instancia, puede impedir que tu sitio aparezca en los resultados de la búsqueda. El bloqueo puede ocurrir de varias maneras, algunas más dañinas para la presencia de un sitio en los resultados de la búsqueda de Google que otras, y puede ser difícil (o imposible) de controlar, ya que se produce en el extremo de la CDN. A los efectos de esta entrada de blog, los dividimos en dos grupos: bloqueos sólidos y bloqueos suaves.

Bloques sólidos

Los bloqueos sólidos se producen cuando la CDN envía una respuesta a una solicitud de rastreo que es un error de alguna forma. Estos pueden ser los siguientes:

  • Códigos de estado HTTP 503/429: Enviar estos códigos de estado es la forma preferida de indicar un bloqueo temporal. Te dará tiempo para reaccionar a los bloqueos no deseados de la CDN.
  • Tiempos de espera de la red: Los tiempos de espera de la red de la CDN provocarán que las URLs afectadas se quiten del índice de búsqueda de Google, ya que estos errores de red se consideran errores terminales y "duros". Además, también pueden afectar considerablemente la frecuencia de rastreo de tu sitio, ya que le indican a nuestra infraestructura de rastreo que el sitio está sobrecargado.
  • Mensaje de error aleatorio con un código de estado HTTP 200: También se conoce como errores suaves y son particularmente graves. Si el mensaje de error se equipara en Google a un error "irreversible" (por ejemplo, un HTTP 500), Google quitará la URL de la Búsqueda. Si Google no pudo detectar los mensajes de error como errores "irreparables", es posible que todas las páginas con el mismo mensaje de error se eliminen como duplicados del índice de la Búsqueda de Google. Dado que la indexación de Google tiene poco incentivo para solicitar un nuevo rastreo de las URLs duplicadas, la recuperación puede demorar más tiempo.

Bloqueos suaves

Es posible que aparezca un problema similar (juego de palabras intencional) cuando tu CDN muestre los anuncios intersticiales de "¿Estás seguro de que eres un ser humano?".

Crawley se siente confundido porque lo llaman humano

De hecho, nuestros rastreadores están convencidos de que NO son humanos y no pretenden serlo. Solo quieren rastrear. Sin embargo, cuando aparece la página intersticial, eso es todo lo que ven, no tu fabuloso sitio. En el caso de estos anuncios intersticiales de verificación de bots, te recomendamos que envíes un indicador claro en forma de un código de estado HTTP 503 a los clientes automatizados, como los rastreadores, para indicar que el contenido no está disponible temporalmente. Esto garantizará que el contenido no se quite del índice de Google automáticamente.

Cómo depurar bloqueos

En el caso de los bloqueos duros y suaves, la forma más fácil de verificar si todo funciona correctamente es usar la Herramienta de inspección de URLs en Search Console y observar la imagen renderizada: si se muestra tu página, todo está bien; si se muestra una página vacía, un error o una página con un desafío de bot, te recomendamos que hables con tu CDN al respecto.

Además, para ayudar con estos bloqueos no deseados, Google, otros motores de búsqueda y otros operadores de rastreadores publican nuestras direcciones IP para ayudarte a identificar nuestros rastreadores y, si crees que es apropiado, quitar las IP bloqueadas de las reglas de WAF o incluso incluirlas en la lista de entidades permitidas. El lugar en el que puedes hacerlo depende de la CDN que uses. Afortunadamente, la mayoría de las CDN y los WAF independientes tienen una documentación fantástica. Estos son algunos que pudimos encontrar con una pequeña búsqueda (a la fecha de publicación de esta entrada):

Si necesitas que tu sitio aparezca en los motores de búsqueda, te recomendamos que verifiques si los rastreadores que te interesan pueden acceder a él. Recuerda que las direcciones IP pueden terminar en una lista de bloqueo automáticamente, sin que lo sepas, por lo que es una buena idea revisar las listas de entidades bloqueadas de vez en cuando para que tu sitio tenga éxito en la Búsqueda y más allá. Si la lista de entidades bloqueadas es muy larga (no muy diferente de esta entrada de blog), intenta buscar solo los primeros segmentos de los rangos de IP. Por ejemplo, en lugar de buscar 192.168.0.101, puedes buscar 192.168.

Esta fue la última publicación de nuestra serie de entradas de blog de rastreo de diciembre. Esperamos que las hayas disfrutado tanto como nosotros disfrutamos escribirlas. Si tienes… bla bla bla… ya sabes cómo funciona.


¿Quieres obtener más información sobre el rastreo? Mira toda la serie "Crawling December":