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 4 años y 344 días

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

Alberto Romerohace Hace más de 4 años y 344 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 4 años y 343 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

Últimos posts

Últimos comentarios


Lino Uruñuela

Completamente de acuerdo :) Pero en este experimento solo quería comprobar el método usado para hacer lazy load, en este caso con xmlht
Post: Indexar imágenes en Google usando Lazy Load

Francisco Morales

Lino muy interesante las distintas formas de cargar la imagen. Pero no crees que lo realmente interesante de aplicar Lazy Loading es cargar
Post: Indexar imágenes en Google usando Lazy Load

javier

Buenas , esto del onclik ha cambiado actuamente en algunas web que tengo las lee y sigue enlaces
Post: ¿Cómo ejecuta, interpreta e indexa Google el contenido cargado mediante javascript?

David Girona

Antes de Nada muchas gracias por la aportación. Estoy probando de poner en marcha este procedimiento y me surgen un par de dudas. En
Post: Cómo añadir el valor del meta Robots a Google Analytics via Google Tag Manager

Javier Espinoza

Gracias por la informacion!! Este tipo de blogs me parecen muy importantes, esto lo estudio en la universidad. gracias por la informacion. h
Post: Atacados por los .cn .cz .pl

juan

Hola Lino Uruñuela, una duda ¿aun funciona? porque no lo logro. Mira, en un index.php tengo este codigo: Camuflados
Post: Ofuscando enlaces para mejorar Link Juice

DUQUEredes

Google pasa del canonical bastante :-(
Post: Comprobando comportamiento de Google con meta canonical

Marinette

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

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

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