Monotorizar GoogleBot con Google Analytics

Publicado el 13 de abril del 2015 por Lino Uruñuela

Hace tiempo ya comentamos que podemos saber cómo y cuándo acceden los robots de los buscadores a cada url de nuestro site por medio de los logs.

Es muy importante tener visibilidad sobre qué y cómo crawlean GoogleBot, BingBot nuestro site.

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 404 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 véis, estos datos nos pueden dar mucha luz sobre que podemos mejorar de nuestro site, y lo mejor, intentar averiguar por que los Bots actuan como actuan en nuestra web y si su rastreo está siendo eficiente.

Ya vimos en un post anterior, que 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 (hecho en falta alguna herramienta de logs completamente orientada a SEO), sería de gran ayuda.

Vamos a facilitar un poco esta monotorizació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 monotorizar 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

Monotorizamos 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

 

Muchos creeréis que será complicado... NO! solo hay que seguir estos 7 pasos ;)

  1. 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
  2. Ve al administrador de Google Analytics y crea una nueva propiedad







  3. Rellenamos los campos







  4. Vamos a crear dos dimensiones personalizadas, para desde el administrador.






  5. Yo las he llamado así, podéis nombrarlas como queráis. La creamos a nivel de "Hit"






  6. 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, 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 erro un "404"



    <?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. Actualizaré en breve el post añadiendo esta regex.


  7. 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.

OjO debemos cambiar el "200" por el 404 en este código en la url que trate nuestro servidor los errores 404, en mi caso defino el fichero que trata los 404 desde apache y CREO que también se podría hacer con las redirecciones, pero no he comprobado esto.. lo haré ;)

 

 

 

 

En próximos posts, 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 matar al Oso Panda ;)

Cualquier mejora, cualquier sugerencia, o cualquier duda ya sabéis... comentarlo y compartirlo!!!

   

Si te ha gustado este post

Vótame en la web de Seonthebeach, para ver poder ver una ponencia completa y más detallada en el @seonthebeach

   

PD: Gracias a Fran Horrillo (excelente Product Manager de Motofan.com) por resumir mi caos de código en una simple clase de PHP!!!


 




Posts anteriores en Google Analytics


Space Needle
Publicado por Lino Uruñuela el 20 de febrero del 2018 El otro da Google hizo un cambio importante del inteface en su buscador de imágenes, eliminando el botón de ver imagen y respondiendo así a la demanda antimonopolio que Getty Images realizó ante la Unión

Seguir leyendo
Space Needle
Publicado el 24 de mayo del 2017, by Lino Uruñuela Muchas veces los SEOs usamos determinados protocolos y/o directivas para dar determinadas señales a los Bots de los buscadores y otros servicios. Así por ejemplo, podemos usar un meta para indicarles en qué fecha

Seguir leyendo
Space Needle
Publicado el jueves 11 de septiembre por Lino Uruñuela Hoy voy a cambiar un poco de tema para variar, pero no me desviaré mucho. Si hay algo que me ha quedado claro en más de 10 años que llevo trabajando entorno a los negocios online , y que se viene cumpliendo co

Seguir leyendo
Space Needle
Publicado el 19 de agosto del, 2014 Hace ya "bastante" que salió a la luz Universal Analytics y ya nos ha dado tiempo a descubrir sus pros y sus contras con respecto a la anterior versión de Google Analytics. Y sí, también tiene contras, bastantes ademá

Seguir leyendo
Space Needle
Publicado por Lino Uruñuela (Errioxa) el 30 de junio del 2014 Hoy me he llevado una sorpresa cuando me he puesto a analizar el tráfico directo a raíz de que Rodrigo Hernandez me comentase su preocupación con el tráfico de un site , y es que normalmente suelo t

Seguir leyendo
Space Needle
Publicado por Lino Uruñuela (Errioxa) el 23 de abril del 2014 Como dijimos el otro día, vamos a crear una serie de post sobre cómo utilizar determinadas APIs que Google nos ofrece, ya que en ocasi

Seguir leyendo
  • 0000-00-00 00:00:00

Publicado el lunes  7 de octubre del 2013, by Lino Uruñuela Hoy me siento optimista, no sé si será porque ya estoy casi recuperado de la operación de rodilla a la que me sometí hace un mes, pero estoy optimista. Hace poco Google anunci&oacu

Seguir leyendo
Space Needle
Publicado el 4 de abril del 2013 by Lino Uruñuela Como todos sabemos desde hace más de un año el Not Provided cada vez aglutina más keywords en nuestras estadísticas y aunque aun podemos trabajar casi igual que hace dos años, no creo que podamos hacerlo d

Seguir leyendo
Space Needle
Publicado el 26 de enero del 2012 by Errioxa En el anterior post comenté cómo se podría sacar más provecho si cruzamos los datos que tenemos desde la distintas herramientas como Analytics, WMT, monotorización de posiciones. Así obtendríamos

Seguir leyendo
Space Needle
Publicado el 27 de diciembre del 2011 El otro día desde el blog para webmasters de Google nos anunciaban que habían creado un script para poder descargar los datos de impresiones, clicks, CTR, etc desde WMT. La verdad lo acogí con gran ilusión pero de momento no le

Seguir leyendo
Space Needle
Publicado el miércoles 17 de agosto del 2011 , by Lino Uruñuela, Recordemos que con el nuevo método de Google Analytics de medir las visitas ahora para ver que impacto ha tenido la actualización de Google Panda, no puedes comparar visitas post-Panda con visitas pr

Seguir leyendo
Space Needle
Publicado el 8 ed agosto del 2001 El otro día ya comentamos que Google Analytics había cambiado la forma en que trataba el tráfico que llegaba desde Google Images y ya no lo tomaba como referencia sino como tráfico orgánico. Para mi es importante saber el

Seguir leyendo
Space Needle
Publicado el 27 de julio del 2011 Cualquier día la OMS va a declarar Google como posible factor de riesgo de infarto entre las personas que viven de internet. Y es que ahora desde el sábado Google no muestra las búsquedas desde Google Images como referencia y parece que lo ha

Seguir leyendo

Últimos posts

Últimos comentarios


Marinette

Gracias por la información!
Post: Nuevo Google Search Console ¿qué información nos ofrecerá?

[url=http://www.i-online-casino.org/Slotocash-Casino.html]slotocash casino[/url]

Looking for casino?Check out top free online casino bonus offers at SlotoCash
Post: Search Congress en Bilbao

Adolfo

Parece que a todo el mundo le ha gustado este artículo sexista y lleno de situaciones de agresión sexual y violencia de género, ya tendrÃ
Post: Tipos de marketing

FDM

Hola, Lino: Genial el post, como siempre. Es genial contar con personas tan curiosas y que investigan al detalle el funcionamiento de Goo
Post: La segunda ola de indexación y cómo saber qué renderiza Google

Lino Uruñuela

@Cesar saltarse alguna orden del código es un falta de respeto!, que para algo lo hice :D No se les da muy bien esperar, su tiempo es or
Post: La segunda ola de indexación y cómo saber qué renderiza Google

César Aparicio

Hola Lino, Nos conocemos de películas como: Los de Google son muy frikis o Pasodobles y SEO. Mi cuestión es la siguiente: entiendo
Post: La segunda ola de indexación y cómo saber qué renderiza Google

Nostram

Porque será que no me extraña. No he visto un producto que funcione peor que "OK Google" lamentable.
Post: ¿Grave fallo de privacidad de Google Assistant?

Carlos

Parece mas un fallo de la aerolinea, que parece que en un mismo número de reserva (WXI99I) ha metido mas pasajeros, y google assistant ha d
Post: ¿Grave fallo de privacidad de Google Assistant?

Lino Uruñuela

@David Es capaz de renderizar e interpretar el JavaScript siempre que no haga falta la interacción del usuario. Me explico, si pones una fu
Post: Ofuscando enlaces para mejorar Link Juice

David

Hablando sobre la ofuscación de enlaces, tras las últimas noticias de Google y su segunda oleada de indexación tras la renderización de
Post: Ofuscando enlaces para mejorar Link Juice

Contacta

Lánzate y pregunta!


He leído y acepto la política de privacidad

Mecagoenlos.com te informa que los datos de carácter personal que nos proporciones rellenando el presente formulario serán tratados por Lino Uruñuela. como responsable de esta web.

La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es para enviar un correo con los datos que introduzcas, sin guardarse en ninguna base de datos.

Legitimación: Al marcar la casilla de aceptación, estás dando tu legítimo consentimiento para que tus datos sean tratados conforme a las finalidades de este formulario descritas en la política de privacidad.

Como usuario e interesado te informamos que los datos que nos facilitas estarán ubicados en los servidores de Linode.com (proveedor de hosting de Mecagoenlos.com) cumpliendo la ley de protección de datos. Ver política de privacidad de Linode.com.

Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@mecagoenlos.com, así como el derecho a presentar una reclamación ante una autoridad de control. Más información aquí.