Extraer Consultas de Busqueda mediante la API de WMT

Publicado el 11 de marzo del 2014 by Lino UruñuelaErrioxa

Hace tiempo que no escribo con frecuencia, pero eso está cambiando!
Para motivarme voy a comenzar una serie de post donde explicar cómo usar distintas APIs de Google, y hoy vamos a comenzar con la API de Webmaster Tools, vamos a recoger los datos de las consultas de búsqueda de nuestro site y lo meteremos en una base de datos para poder luego manejarlos a nuestro antojo.

Los datos que vemos en la herramienta para webmasters, en la opción de Consultas de Búsqueda tenemos las KWs por las que nuestro site ha sido mostrado en los resultados de Google (OJO, mostrados, no que entren). Estas KWs puede ser una muy buena fuente de información para varias cosas, por ejemplo

  • KW Research
    Cada vez está más complicado hacer un buen KW Research debido al famoso Not Provided y a que los principales navegadores y sistemas operativos miran más por la privacidad de sus usuarios y no envían el referer completo como antes. Por ello, cualquier fuente de palabras y términos que podamos obtener será bienvenido. El histórico de estos datos en WMT es de tres meses, anterior a ese periodo no puedes ver más, por lo que hace muy útil y funcional tener guardados esos datos con nuestros propios medios.

  • Cálculo de visitas Not Provided
    Sabiendo las impresiones que han causado cada KW y sabiendo la landing a la cual llegaron estos usuarios podrías asignar un valor a cada landing para la kw not provied (esto será otro post..).

  • Vigiliar cambios en los rankings para cada búsqueda
    El cómo calcula Google el dato de posición media es un poco confuso, aunque parezca claro el nombre de la columna de ese dato "Posición media" no sabemos en base a que varía esa posición, podemos suponer que depende de la localización del usuario que hace la búsqueda, el dispositivo que use, el idioma, etc... pero no lo tenemos claro, pero sí nos puede servir como una alerta si vemos que cae la posición media.

 

Para guardar estos datos tenemos dos opciones, o vamos descargando los datos día a día exportándolos en un excel o usamos la API.

Digo que descargamos los datos día a día porque así son mucho más fiables y más completos, si descargas los últimos 3 meses de una vez tenemos un cierto límite. Y es que si te descargas los datos día a día vemos que obtenemos más KWs que si lo hacemos en un periodo mayor. Posiblemente Google esté sampleando los datos y te ofrece al igual que en Analytics una muestra de datos. Por eso yo recomiendo recoger estos datos día a día.

Si queremos obtenerlos día a día y guardarlos de una forma que luego nos pueda ser útil lo ideal es usar la API y guardar estos datos en una base de datos, yo lo hago con MySql. Para ello lo primero que vamos a hacer es crear una tabla donde recogerlos

 CREATE TABLE WMT_Consulta_Busquedas (
  cod_wmt int(11) NOT NULL AUTO_INCREMENT,
  wmt_kw varchar(245) COLLATE utf8_spanish_ci DEFAULT NULL,
  impresiones int(11) DEFAULT NULL,
  clicks int(11) DEFAULT NULL,
  CTR varchar(45) COLLATE utf8_spanish_ci DEFAULT NULL,
  rank varchar(45) COLLATE utf8_spanish_ci DEFAULT NULL,
  cambioClicks varchar(45) COLLATE utf8_spanish_ci DEFAULT NULL,
  cambioRank varchar(45) COLLATE utf8_spanish_ci DEFAULT NULL,
  fecha varchar(45) COLLATE utf8_spanish_ci DEFAULT NULL,
  PRIMARY KEY (cod_wmt)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci


Ya tenemos la tabla en nuestra BBDD, ahora hay que llenarla!!

Yo he usado esta clase para PHP y si no usáis PHP aquí tenéis la documentación, seguro que buscando se encuentra fácilmente ejemplos para todos los lenguajes de programación más comunes, phyton, php, java, etc

Yo he creado dos ficheros, uno llamado consultas-busqueda.php y otro gwtdata.v2.php (podéis descargarlos desde aquí) donde el primero en la primera líneaincluye al segundo. Lo hago así porque se puede cambiar fácilmente los datos de acceso a las webs que quieres.

Al abrir consultas-busqueda.php veremos en las primeras líneas las variables a cambiar con nuestros datos



        $email = "EmailAccesoAnalytics@gmail.com"; //email de acceso a analytics
        $password = "******";  //contrasena de acceso a analytics
        $website = "http://www.tudominio.com/"; //tu dominio


        $_SESSION["tablaConsultaBusqueda"] = "WMT_Consulta_Busquedas"; //tabla
        $FechaHoy = date("Y-m-d");
        $FechaInicial = date("Y-m-d",strtotime('-1 day',strtotime($FechaHoy)));
        $FechaFinal = date("Y-m-d",strtotime('-3 month',strtotime($FechaInicial)));


        mysql_connect("localhost","user","password"); //datos de la BBDD
        mysql_select_db("nombreBBDD"); //nombre de la BBDD


Cambiando estas líneas con vuestros datos el script descargará un excel con todas las consultas de búsqueda por día y las  introducirá en vuestra BBDD.

Y hasta aquí el primer post de la serie de posts sobre APIs útiles para el SEO. Pronto la segunda!!

 

 


Javier Lorentehace Hace más de 5 años y 279 días

El que no pude descargar desde hace tiempo es el de errores de rastreo :-(

Alberto Romerohace Hace más de 5 años y 279 días

Hola,

Yo utilice este método con xamp más el php en una carpeta en local ejecutaba el php y todo ok se descargaban los datos.

pero con no me dejaba descargar todos los tipos de consultas que se pueden obtener de WGT.

no recuerdo cual era la que no me descargaba si top_pages, top_querys, etc...

¿tu puedes descargar todos los tipos de datos?

Saludos!

Errioxahace Hace más de 5 años y 278 días

@Alberto la verdad es que no he probado, los errores los miro con los logs del server :)



Lea otros artículos de Google Search Console

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

Últimos posts

Últimos comentarios


@funnelpunk

Última prueba de menciones en comentarios del blog.. este para @errioxa desde otra cuenta
Post: Google podria no querer el HTML de una URL

German

Hola amigo, lo cierto es que no me he enterado pajolera idea de lo que cuentas, aunque te felicito por aparecer en el Discovery de Google. M
Post: Google podria no querer el HTML de una URL

Lino

Una manera súper sencilla para comprobarlo: 1- Una URL, mirar un log de Googlrbot de esa UR cuando da 200 2- Comparar con otro log
Post: Google podria no querer el HTML de una URL

Jose Antonio Gil

En primer lugar agradecerte tus palabras, he sido alumno tuyo este año en el Máster de Webpositer en Alicante por lo que algo de culpa ten
Post: Google podria no querer el HTML de una URL

Lino

Uppsss cierto, la culpa es de tantas elecciones consecutiva... hacen remarketing en mi cerebro
Post: Google podria no querer el HTML de una URL

José

Buenas Lino! Sólo comentar que el apellido de Gastón es RIERA (no Rivera). Saludos y gracias por compartir!
Post: Google podria no querer el HTML de una URL

Fran Javietr

Hola Lino como podemos añadir a este código la identificación de la ip del bot, como sabes hay falsos bots y una forma de saber si son l
Post: Monotorizar GoogleBot con Google Analytics

Javier

Buenas Lino, ¿Alguna novedad sobre cómo considera Google los links en PDFs? Se me ocurre que, siguiendo con este experimento, se po
Post: Link building con PDF

Francisco

Flaco. Por lo general, no dejo comentarios pero, en tu caso, voy a hacer una excepción pues, sencillamente... ¡sos un genio!, Gracias.
Post: Cómo cargar css y js y no bloquear la carga de contenido

Juan Francisco Gancia

Excelente artículo, gracias! Te encuentro de casualidad por un post de hace 10 años.
Post: Diferencias entre url indexada y url accesible