
El cómo y por qué del rastreo de Googlebot
Probablemente hayas escuchado que Google necesita hacer un poco de trabajo antes de que una página web pueda aparecer en los resultados de búsqueda (SERPs). Uno de estos pasos previos se denomina crawling o rastreo.
El rastreo para Google lo realiza Googlebot, un programa que se ejecuta en los servidores de Google y que recupera una URL y maneja cosas como errores de red, redireccionamientos y otras pequeñas complicaciones que puede encontrar mientras navega por la web. Pero hay algunos detalles que no se suelen mencionar.
Retrocediendo un poco: ¿Qué es el rastreo?
El rastreo es el proceso de descubrir nuevas páginas web y revisar las actualizadas, y descargarlas. En resumen, Googlebot obtiene una URL, realiza una solicitud HTTP al servidor que la aloja y luego maneja la respuesta de ese servidor, posiblemente siguiendo redireccionamientos, manejando errores y pasando el contenido de la página al sistema de indexación de Google.
Pero las páginas web modernas no son solo HTML puro, entonces, ¿qué pasa con los otros recursos que componen una página? ¿Cómo afecta el rastreo de estos recursos al «presupuesto de rastreo»? ¿Son estos recursos almacenables en caché por parte de Google? ¿Y hay alguna diferencia entre las URLs que no han sido rastreadas antes y aquellas que ya están indexadas? En este post vamos a responder estas preguntas y más.
Googlebot y el rastreo de recursos de la página
Más allá del HTML, los sitios web modernos utilizan una combinación de diferentes tecnologías como JavaScript y CSS para ofrecer experiencias vibrantes y funcionalidades útiles a los usuarios. Al acceder a tales páginas con un navegador, este primero descarga la URL principal que contiene los datos necesarios para comenzar a construir la página para el usuario: el HTML de la página. Estos datos iniciales pueden contener referencias a recursos como JavaScript y CSS, pero también imágenes y videos que el navegador volverá a descargar para finalmente construir la página final que se presenta al usuario.
Google hace exactamente lo mismo, aunque ligeramente diferente:
- Googlebot descarga los datos iniciales desde la URL principal: el HTML de la página.
- Googlebot pasa los datos obtenidos al Servicio de Renderizado Web (WRS).
- Usando Googlebot, WRS descarga los recursos referenciados en los datos originales.
- WRS construye la página usando todos los recursos descargados como lo haría el navegador del usuario.
En comparación con un navegador, el tiempo entre cada paso puede ser significativamente más largo debido a restricciones como la carga percibida del servidor que aloja los recursos necesarios para renderizar una página. Y aquí es donde entra en juego el presupuesto de rastreo.
Rastrear los recursos necesarios para renderizar una página consumirá parte del presupuesto de rastreo del nombre del host que aloja el recurso. Para mejorar esto, WRS intenta almacenar en caché cada recurso (JavaScript y CSS) referenciado en las páginas que renderiza. El tiempo de vida útil del caché WRS no se ve afectado por las directivas de caché HTTP; en cambio, WRS almacena todo hasta por 30 días, lo cual ayuda a preservar el presupuesto de rastreo del sitio para otras tareas.
Desde la perspectiva de los propietarios del sitio, gestionar cómo y qué recursos se rastrean puede influir en el presupuesto de rastreo del sitio; recomendamos:
- Usar la menor cantidad posible de recursos para ofrecer una gran experiencia a los usuarios; cuantos menos recursos se necesiten para renderizar una página, menos presupuesto de rastreo se gastará durante la renderización.
- Usar parámetros anti-caché con precaución: si las URLs de los recursos cambian, Google puede necesitar rastrear nuevamente los recursos, incluso si sus contenidos no han cambiado. Esto, por supuesto, consumirá presupuesto de rastreo.
- Alojar recursos en un nombre del host diferente al del sitio principal, por ejemplo empleando un CDN o simplemente alojando los recursos en un subdominio diferente. Esto trasladará las preocupaciones sobre el presupuesto de rastreo al host que está sirviendo los recursos.
Actualización al 6 de diciembre de 2024
Esto puede resultar en un rendimiento más lento debido a la sobrecarga de conexión a un nombre del host diferente, por lo que no recomendamos esta estrategia para recursos críticos (como JavaScript o CSS) necesarios para renderizar una página. Sin embargo, para recursos más grandes no críticos como videos o descargas, vale la pena considerar este enfoque.
Todos estos puntos también se aplican a recursos multimedia. Si Googlebot (o más específicamente, Googlebot-Image y Googlebot-Video respectivamente) los descarga, consumirá el presupuesto de rastreo del sitio.Es tentador añadir robots.txt a la lista también; sin embargo, desde una perspectiva de renderizado deshabilitar el rastreo de recursos generalmente causa problemas. Si WRS no puede obtener un recurso crítico para renderizar, Google Search puede tener problemas para extraer contenido de la página y permitir que esta clasifique en Búsqueda.
¿Qué es el rastreo por parte de Googlebot?
La mejor fuente para analizar qué recursos está rastreando Google son los registros brutos de acceso del sitio que tienen una entrada para cada URL solicitada tanto por navegadores como por rastreadores. Para identificar los rastreadores de Google en el registro de acceso, publicamos nuestros rangos IP en nuestra documentación para desarrolladores.
El segundo mejor recurso es, por supuesto, el informe Estadísticas sobre Rastreo en Search Console, que desglosa cada tipo de recurso por rastreador. El informe Estadísticas sobre Rastreo en Search Console muestra los diferentes tipos de recursos rastreados por Googlebot.
Finalmente, si realmente te interesa el tema del crawling y rendering y quieres charlar sobre ello con otros, este blog es el lugar indicado; deja tu comentario o contacta directamente conmigo y te responderé a cualquier cuestión sin problema.