Nota: este artículo describe cómo monitorizar los bots con Universal Analytics (AKA GA3) gracias al protocolo de medición. En un futuro escribiré otro artículo por si deseas implementarlo con la nueva versión de Analytics GA4.
Seguro que has oído hablar multitud de veces de GoogleBot, el crawler de Google que rastrea las webs para ver qué recursos (páginas e imágenes principalmente) tiene cada web y después indexarlas en Google.
Seguro que también has oído hablar del Crawl Budget, es decir, el tiempo que dedican un bot a rastrear tu web, hay muchos artículos publicados sobre eso.
Pero, ¿Te has planteado alguna vez saber cómo actúa el bot de Google (y de otros buscadores) en tu web? ¿Qué paginas rastrea?, ¿Qué resultados obtiene? Toda esta información podría resultar muy interesante para poder optimizar los resultados de rastreo y agilizar la indexación de tu web.
Hace poco, mientras publicaba una serie de post acerca de los conceptos básicos de Google Analytics observe que las páginas se indexaban en cerocoma, mientras que por twitter me comentaban otras personas que a ellos les costaba más tiempo conseguir esa indexación. Eso me hizo pensar que sería bueno saber cuando y donde pasan los bots de indexación por una Web.
A ver, hay una forma de monitorizar eso, y es gracias a los logs del servidor, es decir, a través de los informes de AWStats ¿el problema? que tienes que tratarlos previamente y actualizar los datos, y eso hace que sea una tarea un poco tediosa.
Googleando me encontre con este artículo de Lino Urruñuela «Monitorizar GoogleBot con Google Analytics» en que desarrollaba una solución para trackear este tipo de tráfico. Por otro lado encontré este artículo «Monitorizar los Bots de Google desde tu WordPress con Analytics» de Santiago Alonso en el que había adaptado el código que mostraba Lino en un plugin para WordPress y, con pequeñas modificaciones, lo aplique a mi Web para poder rastrear al actividade los los distintos crawlers.
Cómo funciona el rastreo
La idea es simple, los bots o crawlers hacen lo mismo que cualquier otro usuario: Visitan una web y va saltando de enlace en enlace para recoger información y posteriormente indexarla… bueno eso en teoría, porque en una primera visita lo que hacen es pasar por la web, apuntar las urls en una lista y pasarse en otro momento para ya leer la información y proceder a indexarla. Lo que es claro es que se produce una visita y que tenemos una herramienta muy difundida para poder medir eso: Google Analytics.
Así que lo tenemos fácil, podemos usar Analytics, una herramienta que conocemos, para trackear el tráfico de estos bots.
Para ello, la propuesta es usar uno de los métodos que nos ofrece Analytics desde la versión 3 (Universal Analytics), el mismo método que usan los bots de spam para enviar hits a Analytics y del que ya hablé en el tutorial «Cómo excluir las sesiones de Bots en Google Analytics» que nos permite crear un hit y enviarlo a una propiedad de Google Analytics: El protocolo de medición.
Primeros pasos
Para poder tener esta información de forma limpia lo ideal es crear una nueva propiedad en Google Analytics (una nueva UA) que es la que usaremos para recolectar y procesar los datos de las visitas de bots y únicamente esos datos.
1. Crear y configurar una propiedad de Google Analytics
Para crear una nueva propiedad, ve a tu cuenta de Google Analytics y pincha sobre la opción de administrar, la última que aparece en la barra vertical de la izquierda. De esa forma accederás a la administración de tu cuenta de Analytics.
Una vez en la pantalla de administración, verás dos o tres columnas, dependiendo si tienes Propiedades de Universal Analytics o de la nueva versión GA4. Aquí un inciso, por ahora la implementación funciona UNICAMENTE en Universal Analytics, más adelante escribiré otro post en el que veremos como implementarlo en la nueva versión.
Aclarado esto, el siguiente paso es crear nuestra nueva propiedad, para ello, pulsamos sobre el botón azul situado en la parte superior de la segunda columna «+ Crear propiedad», se abrirá una nueva pantalla en la que configuraremos los datos de la nueva propiedad: Nombre de Propiedad, zona horaria de informes (país y zona GMT) y la moneda (esto último no tiene importancia ya que no vamos a monetizar pero siempre está bien hacer las cosas bien…).
Una vez hecho esto llegamos a un paso importante, como dije en un párrafo anterior, esta implementación solo funciona con Universal Analytics, para ello deberemos pinchar sobre el texto de «Mostrar opciones avanzadas», habilitar la opción de «Crear una propiedad de Universal Analytics», poner la url de nuestra web y seleccionar la opción de «Crear solo una propiedad Universal Analytics».
En ese momento ya podremos pulsar el botón de «Siguiente» que nos llevará a una serie de opciones para darle a Google información sobre nuestra empresa que, en nuestro caso, no son necesarias. Tras esto podremos pulsar el botón de crear y ya tendremos la propiedad que vamos a usar para monitorizar los bots.
Nos quedará un último detalle. Al crear esta propiedad se nos habra creado tambien una vista. Para que todo esto funcione, deberemos ir a la configuración de la vista y desmarcar la opción de «Excluir todos los hits de robots y de arañas conocidos» ya que si no Analytics no recogerá los datos que le vamos a pasar.
2. Crear dimensiones personalizadas
Como vamos a usar el plugin de Santiago Alonso únicamente vamos a crear dos dimensiones personalizadas para recoger en Google Analytics dos tipos de datos: User Agent del Bot y Código http. Gracias a estas dimensiones personalizadas podremos ver en nuestros informes que versión del bot es la que ha visitado nuestra página y cual ha sido el resultado de esta visita, es decir, si la página es correcta (Código 200) o no existe (Código 404).
Aquí es importante un detalle a la hora de crear estas dimensiones personalizadas. Debes respetar el siguiente orden a al hora de crearlas. Primero crea la dimensión User Agent del Bot y después la dimensión Código http. La razón es que, tal y como está configurado el plugin, el identificador del user Agent ha de ser 1 y el identificador del código http ha de ser 2.
Y un último detalle, el scope, ámbito, de ambas dimensiones ha de ser el de hit.
3. Instalar y configurar el plugin SEOBot Monitor
Llega el momento de instalar el plugin SEOBot monitor (en el enlace puedes ir a descargarlo desde el repositorio de WordPress). Un vez instalado, al configuración es muy sencilla ya que solo tiene cuatro parámetros a configurar:
- Google Analytics UA tracking Code. Aquí deberás escribir el ID de seguimiento de la propiedad de Universal Analytics que has creado antes.
- Page Title Origin. Puedes elegir entre el título por defecto que pusiste en tus páginas de WordPress o el título SEO si tienes instalado el plugin Yoast SEO. Personalmente te recomiendo la primera opción, ya que en alguna Web que he probado la segunda no funcionaba correctamente.
- Default 404 page title. Aquí puedes definir qué título, por defecto, deseas que se recoja cuando el bot haga una petición a una página que no existe.
- RegEx for bot user agent. Gracias a este parámetro, podrás definir los tokens (identificadores) de los bots que deseas rastrear. para ello, debes incluir una expresión regular similar a la que te muestro a continuación:
/googlebot|AdsBot-Google|Googlebot-Image|AdsBot-Google-Mobile|bingbot/i
La sintaxis es la siguiente:
- Comienza con «/», sin las comillas.
- Añade los tokens de los bots que deseas rastrear, separados del carácter «|» (es la barra que está en la tecla del número 1).
- Finaliza con «/i», sin las comillas.
En cuanto a las definiciones de los tokens de los bots. A continuación te dejo los principales:
- GoogleBot => Token del robot de búsqueda de Google (desktop y mobile).
- AdsBot-Google => Token del robot de búsqueda de Google Ads (desktop).
- AdsBot-Google-mobile =>Token del robot de búsqueda de Google Ads (Móvil)
- .Bingbot => Token del robot de búsqueda de bing (desktop y mobile).
- Slurp => Token del robot de búsqueda de yahoo.
- DuckDuckbot => Token del robot de búsqueda de DuckDuckGo.
- BaiduSpider => Token del robot de búsqueda de Baidu.
- YandexBot => Token del robot de búsqueda de Yandex.
- facebot => Token del robot de búsqueda de Facebook.
- ia_archiver => Token del robot de búsqueda de Alexa.
- Twitterbot => Token del robot de búsqueda de Twitter.
- LinkedInbot => Token del robot de búsqueda de LinkedIn.
Y una vez configurado todo esto, ya podrás monitorizar las visitas de los bots que hayas definido.
No te vayas todavía
Hemos visto cómo monitorizar de una forma muy sencilla el comportamiento de los bots en nuestra web gracias a Google Analytics y al plugin SEOBot monitor.