Diciembre de rastreo: CDNs y rastreo

Martes, 24 de diciembre del 2024

Las redes de distribución de contenido (CDNs) son especialmente adecuadas para reducir la latencia de tu sitio web y, en general, para evitar problemas relacionados con el tráfico web. Al fin y al cabo, ese es su objetivo principal: ofrecer una distribución rápida del contenido aunque el sitio reciba mucho tráfico. La "D" de CDN se refiere a la entrega o distribución del contenido en todo el mundo, por lo que los tiempos de transferencia a tus usuarios también son inferiores a los del alojamiento en un centro de datos. En este artículo, vamos a ver cómo usar las CDNs para mejorar el rastreo y la experiencia de los usuarios en tu sitio. También analizaremos algunos matices del rastreo de sitios que usan CDNs.

Resumen: ¿Qué es una CDN?

Las CDNs son básicamente un intermediario entre el servidor de origen (donde se encuentra tu sitio web) y el usuario final, y sirven (algunos) archivos para ellos. Tradicionalmente, el objetivo principal de las CDNs es el almacenamiento en caché, lo que significa que, cuando un usuario solicita una URL de tu sitio, las CDNs almacenan el contenido de esa URL en sus memorias caché durante un tiempo para que tu servidor no tenga que volver a servir ese archivo durante un tiempo.

Las CDNs pueden acelerar considerablemente tu sitio, ya que sirven 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 servirá ese sitio a ese usuario desde sus sistemas de almacenamiento en caché de Australia, lo que reducirá el tiempo de ida y vuelta por todo el mundo. Ya sea a la velocidad de la luz o no, la distancia sigue siendo bastante grande.

Por último, las CDNs son una herramienta fantástica para proteger tu sitio frente a sobrecargas y algunas amenazas de seguridad. Con la cantidad de tráfico global que gestionan las CDNs, pueden crear modelos de tráfico fiables para detectar anomalías en el tráfico y bloquear los accesos que parezcan excesivos o maliciosos. Por ejemplo, el 21 de octubre del 2024, los sistemas de Cloudflare detectaron y mitigaron de forma autónoma un ataque DDoS de 4,2 Tbps (eso es mucho) que duró aproximadamente un minuto.

Cómo pueden ayudar las CDNs a tu sitio

Puede que tengas los servidores más rápidos y la mejor conexión de subida que el dinero pueda comprar, y puede que no creas que necesites acelerar nada, pero las CDNs pueden ahorrarte dinero a largo plazo, sobre todo si tu sitio es grande:

  • Almacenamiento en caché en la CDN: si los recursos como los medios, JavaScript y CSS, o incluso tu HTML, se sirven desde el caché de una CDN, tus servidores no tienen que gastar recursos de computación y ancho de banda para servirlos, lo que reduce la carga del servidor. 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 traduce en mejores conversiones.
  • Protección contra la inundación de tráfico: las CDNs son especialmente eficaces para identificar y bloquear el tráfico excesivo o malicioso, lo que permite a los usuarios visitar tu sitio incluso cuando los bots maliciosos o los usuarios malintencionados sobrecargan tus servidores.
    Además de la protección contra ataques de denegación de servicio, los mismos controles que se utilizan para bloquear el tráfico no deseado también se pueden usar para bloquear el tráfico que no quieres, ya sean determinados rastreadores, clientes que se ajusten a un determinado patrón o simplemente trolls que siguen usando la misma dirección IP. Aunque también puedes hacerlo en tu servidor o cortafuegos, suele ser mucho más fácil usar la interfaz de usuario de una CDN.
  • Fiabilidad: algunas CDNs pueden servir tu sitio a los usuarios aunque se haya caído. Por supuesto, esto solo puede funcionar con contenido estático, pero puede ser suficiente para evitar que los usuarios se vayan a otro sitio.

En resumen, las CDNs son tus amigas. Si tu sitio es grande o esperas (o incluso ya recibes) grandes cantidades de tráfico, te recomendamos que busques una que se ajuste a tus necesidades en función de factores como el precio, el rendimiento, la fiabilidad, la seguridad, el servicio de asistencia, la escalabilidad o la posibilidad de ampliarla en el futuro. Ponte en contacto con tu proveedor de alojamiento o de CMS para conocer tus opciones (y si ya usas una).

Cómo afecta el rastreo a los sitios con CDNs

En cuanto al rastreo, las CDNs también pueden ser útiles, pero pueden causar algunos problemas de rastreo (aunque sean poco frecuentes). No te vayas.

Efecto de las CDNs en la frecuencia de rastreo

Nuestra infraestructura de rastreo está diseñada para permitir frecuencias de rastreo más altas en los sitios que están respaldados por una CDN, lo cual se deduce de la dirección IP del servicio que sirve las URLs a las que acceden nuestros rastreadores. Esta opción funciona bien, al menos la mayoría de las veces.

Imagina que hoy mismo creas un sitio web de fotos 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ía y páginas de detalles de todos tus productos, por lo que acabas teniendo muchas páginas. En nuestra documentación sobre el límite de capacidad de rastreo, explicamos que, aunque a la Búsqueda de Google le gustaría rastrear todas estas páginas lo más rápido posible, el rastreo no debe sobrecargar tus servidores. Si tu servidor empieza a responder lentamente al recibir un número mayor de solicitudes de rastreo, Google aplicará un límite para evitar que 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 asume que no hay problema en enviar más solicitudes simultáneas porque tu servidor probablemente pueda gestionarlas, lo que permite rastrear tu tienda online más rápido.

Sin embargo, en el primer acceso a una URL, la caché de la CDN está "fría", lo que significa que, como nadie ha solicitado esa URL todavía, el contenido no se ha almacenado en caché en la CDN, por lo que el servidor de origen aún tendrá que servir esa URL al menos una vez para "calentar" la caché de la CDN. Este proceso es muy similar a cómo funciona el almacenamiento en caché de HTTP.

En resumen, aunque tu tienda online esté respaldada por una CDN, tu servidor tendrá que servir esas 1.000.007 URLs al menos una vez. Solo después de ese envío inicial, tu CDN puede ayudarte con sus cachés. Esto supone una carga significativa para tu "presupuesto de rastreo" y la tasa de rastreo probablemente sea alta durante unos días. Tenlo en cuenta si tienes previsto lanzar muchas URLs a la vez.

Efecto de las CDNs en el renderizado

Como explicamos en nuestra primera entrada de blog de diciembre sobre el rastreo de recursos, es posible que dividir los recursos en su propio nombre de host o en un nombre de host de CDN (cdn.example.com) permita que nuestro servicio de renderizado web (WRS) renderice tus páginas de forma más eficiente. Sin embargo, hay una salvedad: esta práctica puede afectar negativamente al rendimiento de la página debido a la sobrecarga de la conexión a un nombre de host diferente, por lo que debes sopesar cuidadosamente la experiencia en la página con el rendimiento del renderizado.

Si respaldas tu host principal con una CDN, evitarás este problema: un nombre de host que consultar y los recursos de renderizado críticos probablemente se sirvan desde la caché de la CDN para que tu servidor no tendrá que servirlos (y no afectará a la experiencia en la página).

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

Cuando las CDNs son demasiado protectoras

Debido a la protección contra el exceso de tráfico de las CDNs y a la forma en que rastrean los rastreadores, puede que, de vez en cuando, los bots que quieres que estén en tu sitio terminen en la lista de bloqueados de tu CDN, normalmente en su cortafuegos de aplicación web (WAF). De este modo, se impide que los rastreadores accedan a tu sitio, lo que puede impedir que tu sitio aparezca en los resultados de búsqueda. El bloqueo puede producirse de varias formas, algunas más perjudiciales para la presencia de un sitio en los resultados de búsqueda de Google que otras, y puede ser complicado (o imposible) para ti controlarlas, ya que ocurren en la CDN. En esta entrada del blog, los hemos dividido en dos grupos: bloqueos sólidos y bloqueos ligeros.

Bloqueos 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 algún tipo. Pueden ser:

  • Códigos de estado HTTP 503/429: enviar estos códigos de estado es la forma preferida de indicar un bloqueo temporal. Así tendrás tiempo para reaccionar ante los bloqueos no deseados de la CDN.
  • Tiempos de espera de la red: los tiempos de espera de la red del CDN harán que las URLs afectadas se eliminen del índice de búsqueda de Google, ya que estos errores de red se consideran errores terminales. Además, pueden afectar considerablemente a la frecuencia de rastreo de tu sitio, ya que 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 conocidos como errores soft, son especialmente graves. Si el mensaje de error se equipara a un error "sólido" (por ejemplo, un HTTP 500), Google eliminará la URL de la Búsqueda. Si Google no ha podido detectar los mensajes de error como errores "sólidos", es posible que se eliminen todas las páginas con el mismo mensaje de error como duplicadas del índice de búsqueda de Google. Como la indexación de Google tiene pocos incentivos para solicitar que se vuelvan a rastrear URLs duplicadas, la recuperación de esta situación puede llevar más tiempo.

Bloqueos ligeros

Puede surgir un problema similar cuando tu CDN muestra intersticiales de tipo "¿Estás seguro de que eres humano?".

Crawley confundido por llamarle "humano"

De hecho, nuestros rastreadores están convencidos de que no son humanos y no pretenden serlo. Solo quieren rastrear. Sin embargo, cuando aparece el intersticial, los usuarios solo ven eso, no tu fantástico sitio. En el caso de los intersticiales de verificación de bots, te recomendamos que envíes una señal clara en forma de código de estado HTTP 503 a los clientes automatizados, como los rastreadores, para indicar que el contenido no está disponible temporalmente. De esta forma, te asegurarás de que el contenido no se retire automáticamente del índice de Google.

Depurar bloqueos

En el caso de los bloqueos sólidos y ligeros, la forma más sencilla de comprobar si todo funciona correctamente es usar la herramienta de inspección de URLs de Search Console y observar la imagen renderizada: si se muestra tu página, está todo correcto. 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 a resolver estos bloqueos no intencionados, Google, otros buscadores y otros operadores de rastreadores publican nuestras direcciones IP para ayudarte a identificar nuestros rastreadores y, si lo consideras oportuno, a eliminar las IPs bloqueadas de las reglas del WAF o incluso a incluirlas en la lista de permitidos. El lugar donde puedes hacerlo depende de la CDN que estés usando. Afortunadamente, la mayoría de las CDNs y de los WAFs independientes tienen una documentación fantástica. Estas son algunas de las que hemos encontrado con una breve búsqueda (en el momento de la publicación de este artículo):

Si necesitas que tu sitio aparezca en los buscadores, te recomendamos encarecidamente que compruebes si los rastreadores que te interesan pueden acceder a tu sitio. Recuerda que las direcciones IP pueden acabar en una lista de bloqueo automáticamente sin que tú lo sepas, por lo que es buena idea consultar las listas de bloqueo de vez en cuando para que tu sitio tenga éxito en la Búsqueda y más allá. Si la lista de bloqueos es muy larga (como en esta entrada de blog), intenta buscar solo los primeros segmentos de los intervalos de IP. Por ejemplo, en lugar de buscar 192.168.0.101, puedes buscar 192.168.

Esta es la última entrada de nuestra serie de entradas de blog sobre rastreo de diciembre. Esperamos que te haya gustado tanto como a nosotros escribirlas. Si tienes... bla, bla, bla... ya sabes cómo va esto.


¿Quieres saber más sobre el rastreo? Echa un vistazo a toda la serie "Diciembre de rastreo":