Tabla de contenidos
- 1 Monitorizar Bots con Google Analytics
- 1.1 Cosas que nos pueden ser muy útiles y a veces salvarnos la vida
- 1.2 Monitorizando los datos
- 1.3 Los siete pasos de la monitorización
- 1.3.1 Créate una nueva propiedad en Google Analytics
- 1.3.2 Ve al administrador de Google Analytics y crea una nueva propiedad
- 1.3.3 Rellenamos los campos
- 1.3.4 Vamos a crear dos dimensiones personalizadas, desde el administrador.
- 1.3.5 Copia y pega el código al final de todo
- 1.3.6 Comprobar en Informes de tiempo real que está funcionando correctamente
- 1.3.7 Y ya podemos ver los informes como si cada bot que trackeemos fuese una fuente de tráfico distinta
Monitorizar Bots con Google Analytics
Podemos saber cómo y cuándo acceden los robots de los buscadores a cada url de nuestro site por medio de los logs, pero no siempre tenemos acceso a dichos ficheros y además son difíciles de estudiar.
Es muy importante tener visibilidad sobre qué y cómo crawlean GoogleBot, BingBot, …, nuestro site, por eso vamos a usar Google Analytics para monitorizar el acceso de los bots a nuestra web.
Cosas que nos pueden ser muy útiles y a veces salvarnos la vida
- URLs más frecuentadas por cada Bot
- Saber cuánto tiempo pierden los bots en URLs de paginaciones
- Saber cuánto tiempo pierden los bots en URLs con canonical
- Saber cuánto tiempo pierden los bots en URLs con noindex
- Saber cuánto tiempo pierden los bots en URLs con parámetros
- ¿Cuantos accesos a páginas con error hace cada Bot?
- ¿Desde que país está rastreando?
- ¿Con que User Agent concretamente?
- ¿A cuántas URLs únicas acceden los distintos Bots?
- ¿Cuántas de las URLs que acceden los bots no tienen accesos por parte de usuarios desde hace mas de 1 año?
Cómo veis, estos datos nos pueden dar mucha luz sobre que podemos mejorar nuestro site, y lo mejor, intentar averiguar por que los Bots actúan como actúan en nuestra web y si su rastreo está siendo eficiente.
Es posible obtener todos estos datos con los logs del servidor, aplicando unas simples órdenes en linux. Pero también es verdad que si no sabes mucho de logs puede no ser fácil aislar bien los datos que quieres obtener.
Vamos a facilitar un poco esta monitorización mostrando cómo trackear GoogleBot, BingBot (y los que quieras) con Google Analytics, concretamente con Universal Analytics y su protocolo de medición.
Si algo bueno tiene este protocolo de Universal Analytics es que lo puedes usar cómo tú quieras, y monitorizar desde los usuarios de tu site, hasta el inventario de libros de tu casa, claro está, si sabes cómo funciona y te has peleado unas cuantas horas con él.
En este caso vamos a usar el protocolo para obtener los accesos de GoogleBot y BingBot a nuestro site
Monitorizando los datos
Monitorizamos los siguientes datos:
- Nombre del Bot
- URL a la que accede
- Fecha completa a la que accede
- País desde donde llega
- Si da un estado http 200, o da error 404
- User Agent que usa
Los siete pasos de la monitorización
Muchos creeréis que será complicado… NO! solo hay que seguir estos pasos:
Créate una nueva propiedad en Google Analytics
Vamos a hacerlo en una distinta para no contaminar los datos de visitas, aunque como veremos no influye para nada… pero por si acaso
Ve al administrador de Google Analytics y crea una nueva propiedad
Rellenamos los campos
Vamos a crear dos dimensiones personalizadas, desde el administrador.
Las puedes llamar así o puedes nombrarlas como quieras. La creamos a nivel de «Hit»
Copia y pega el código al final de todo
Ya tenemos Analytics configurado y preparado, ahora el código php que debes pegar al final de tu site o incluirlo con un fichero, después del </html> y de cualquier otro comando que ejecute en php, que sea lo último así no interfiere en nada. En Naranja lo único que debes personalizar, tu identificador de Analytics, y si es página de error código 404 y si es correcta 200
UA-XXXXX-XX -> tu identificador de Google Analytics
$titulo_Pagina -> title de la página
«200» -> si la página no es la de error, si es la de error un «404» o el código que corresponda
<?php class BotTracker { static function track($s, $params) { if (preg_match("/googlebot|bingbot/i", $s['HTTP_USER_AGENT'],$matches)) { $bot = $matches[0]; $data = array( 'v' => 1, 'tid' => 'UA-XXXXX-XX', 'cid' => self::generate_uuid(), 't' => 'pageview', 'dh' => $s['HTTP_HOST'], 'dl' => $s['REQUEST_URI'], 'dr' => $s['HTTP_REFERER'], 'dp' => $s['REQUEST_URI'], 'dt' => $params['page_title'], 'cs' => $bot, 'cm' => 'direct', 'cn' => '', 'ck' => $s['HTTP_USER_AGENT'], 'cc' => '', 'uip' => $s['REMOTE_ADDR'], 'cd1' => $s['HTTP_USER_AGENT'], 'cd2' => $params['http_code'], ); $url = 'http://www.google-analytics.com/collect'; $content = http_build_query($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT,$s['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS,0); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 0); curl_setopt($ch, CURLOPT_HTTPHEADER,array('Content-type: application/x-www-form-urlencoded')); curl_setopt($ch, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_ENCODING , "gzip"); curl_setopt($ch, CURLOPT_POSTFIELDS, $content); $result = curl_exec($ch); $info= curl_getinfo($ch); curl_close($ch); } } static private function generate_uuid() { return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0x0fff ) | 0x4000, mt_rand( 0, 0x3fff ) | 0x8000, mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff)); } } BotTracker::track($_SERVER, array("page_title"=>$titulo_Pagina, "http_code"=> "200")); ?>
*Este código solo recoge datos de GoogleBot y BingBot por no liar a los lectores con una expresión regular para obtenerlos de todos los bots como pueden ser aHrefs, Screaming Frog, Sistrix, etc.
Comprobar en Informes de tiempo real que está funcionando correctamente
Puedes probarlo usando un Use-Agent que emule a GoogleBot o a BingBot.
Y ya podemos ver los informes como si cada bot que trackeemos fuese una fuente de tráfico distinta
Otra vista útil son las URLs que nos dan error 404, como veis se puede segmentar todo (por urls, por carpetas, etc), crear tus propios dashboards, alertas, etc.
Esta información, cruzada con la de los usuarios nos pueden hacer ver por qué ciertas secciones no obtienen visibilidad en las serps de Google, o que urls podemos dejar de linkar porque consumen mucho tiempo de crawleo y muy pocas visitas de usuarios, a las que llamo «urls poco eficientes» y creo que son una de las mayores pistas de cómo lidiar con el Oso Panda 😉
Cualquier mejora, cualquier sugerencia, o cualquier duda ya sabéis… comentarlo y compartirlo!!!
Fuente: http://www.mecagoenlos.com/Posicionamiento/monotorizar-googlebot-con-google.php