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 6 años y 123 días

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

Alberto Romerohace Hace más de 6 años y 123 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 6 años y 122 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

Hola @anna , creo que Fede Post: Qué es ofuscar enlaces y cómo mejora el enlazado interno

anna

donde se pone el php i jv para wordpress?
Post: Qué es ofuscar enlaces y cómo mejora el enlazado interno

Anna


Post: Qué es ofuscar enlaces y cómo mejora el enlazado interno

Lino

@India eso es debido a que si no solicitas la dimensión de página siempre hace los cálculos por propiedad, que solo tiene en cuenta el pr
Post: Datos incoherentes y cálculo de la posición media en Search Console

India

Buen día, muy buenas explicaciones! Justo estoy viendo las métricas de una consulta exacta. Cuando miro las páginas y sumo el total de cl
Post: Datos incoherentes y cálculo de la posición media en Search Console

FunnelPunk

@Lino probando mi script del futuro
Post: Errores críticos originados por el robots.txt

Lino

@Xavier que Google no pueda acceder no significa que no pueda indexarla. Lo que no hará es entrar, y por lo tanto, no podrá ver el conteni
Post: Errores críticos originados por el robots.txt

Xavier

Lino estoy haciendo un experimento y tengo una duda, si en una web donde puedes crearte un perfil de usuario capan mediante Robots.txt, pero
Post: Errores críticos originados por el robots.txt

Norek Beat

Realmente.. de verdad buen articulo, gracias. Aparte de la historia del principio,he comprendido por fin la posición media. No es ni la pri
Post: Datos incoherentes y cálculo de la posición media en Search Console

Lino

@seozamp sí se puede, mira por ejemplo el blog de @useo, seguro que tiene unos cua
Post: Informes y gráficas usando la API de Google Search Console