Puedes ejecutar búsquedas sobre los datos de la Búsqueda de Google para ver con qué frecuencia aparece tu propiedad en los resultados de la Búsqueda de Google y con qué búsquedas, ya sea en computadoras de escritorio o smartphones, y mucho más. Puedes usar los resultados para mejorar el rendimiento de búsqueda de tu propiedad, por ejemplo:
- Descubre cómo cambia tu tráfico de búsqueda a lo largo del tiempo, de dónde proviene y qué búsquedas tienen más probabilidades de mostrar tu propiedad.
- Obtener información sobre qué búsquedas se realizan desde smartphones y utilizar estos datos para mejorar la segmentación por dispositivos móviles
- Consultar qué páginas tienen la mayor y menor tasa de clics en los resultados de la Búsqueda de Google
Los datos de búsqueda se exponen mediante el método searchanalytics.query()
. El método query()
expone todos los datos disponibles en el informe de rendimiento de Search Console. Antes de ejecutar consultas, debes
leer la documentación del informe de estadísticas de la Búsqueda para saber qué datos están expuestos y qué significan.
En esta página, se muestra cómo realizar consultas comunes con diferentes parámetros de solicitud.
Primeros pasos
Verifica la presencia de datos
Antes de ejecutar una consulta, primero debes probar la presencia de los datos en ese intervalo de tiempo. Omite filtros, el orden, los límites de filas y cualquier otro parámetro, excepto la fecha de inicio, la fecha de finalización y "fecha" como única dimensión.
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['date'] }
Salida
python search_analytics_api_sample.py 'https://www.example.com/' '2015-05-01' '2015-05-15' Available dates: Keys Clicks Impressions CTR Position 2015-05-01 22823.0 373911.0 0.0610385893969 8.1829472789 2015-05-02 16075.0 299718.0 0.0536337490574 8.14173322924 2015-05-03 18794.0 337759.0 0.055643224903 8.07772405769 2015-05-04 31894.0 468076.0 0.0681385074219 7.4104611217 2015-05-05 34392.0 482919.0 0.071216912153 7.20689805123 2015-05-06 35650.0 484353.0 0.0736033430164 7.11683214515 2015-05-07 33994.0 465812.0 0.0729779395979 6.91755472165 2015-05-08 27328.0 413007.0 0.0661683700276 7.22172747677 2015-05-09 16637.0 297302.0 0.0559599329974 8.01876206685 2015-05-10 19167.0 332607.0 0.0576265682923 7.87882696395 2015-05-11 35358.0 499888.0 0.070731843933 7.11701821208 2015-05-12 35952.0 486583.0 0.073886675038 6.80677294521 2015-05-13 34417.0 480777.0 0.071586203167 6.86552185317 2015-05-14 32029.0 457187.0 0.0700566726525 6.92575904389 2015-05-15 27071.0 415973.0 0.0650787430915 7.27105605412
Prueba con otras fechas
Vemos que tenemos datos para ese segmento de tiempo, por lo que es seguro avanzar. Es importante hacer esto antes de ejecutar tu consulta real. Por ejemplo, si ejecutas esta misma consulta para un rango diferente, se muestra lo siguiente:
python search_analytics_api_sample.py 'https://www.example.com/' '2015-06-01' '2015-06-15' Available dates: Keys Clicks Impressions CTR Position 2015-06-01 31897.0 468486.0 0.0680852789624 6.81207122518 2015-06-02 32975.0 460266.0 0.0716433540605 6.62655942433 2015-06-03 32779.0 459599.0 0.0713208688444 6.58126758326 2015-06-04 30116.0 435308.0 0.0691831990223 6.71409668557 2015-06-05 25188.0 380444.0 0.0662068530454 7.00998570092 2015-06-06 14829.0 272324.0 0.0544535186028 7.6309910254 2015-06-07 17896.0 318094.0 0.056260099216 7.56606223318 2015-06-08 33377.0 487274.0 0.0684973957158 6.77552260125 2015-06-09 33885.0 484241.0 0.0699754874123 6.70545451542 2015-06-10 32622.0 466250.0 0.0699667560322 6.64417372654 2015-06-11 31317.0 447306.0 0.0700124746818 6.61534832978 2015-06-12 25932.0 393791.0 0.065852190629 7.15718998149 2015-06-13 15451.0 275493.0 0.0560849095984 7.69994518917 2015-06-14 18358.0 318193.0 0.0576945438775 7.34048517724
Mira con atención y notarás que los datos terminan en el día 14; no hay datos para el 15.
Puede resultarte útil usar el Explorador de APIs en el modo de edición de formato libre para probar tus consultas rápidamente (haz clic en la flecha desplegable que se encuentra a un lado del campo del cuerpo de la solicitud y, luego, en "Editor de formato libre").
Una vez que hayas verificado el período de fechas válidas, puedes comenzar a agrupar por otras dimensiones, agregar filtros, límites de recuento de filas y mucho más:
Las 10 búsquedas principales, ordenadas por recuento de clics, descendente
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['query'], 'rowLimit': 10 }
Salida
Top Queries: Keys Clicks Impressions CTR Position seo 3523.0 270741.0 0.0130124362398 5.86615252215 hreflang 3207.0 5496.0 0.583515283843 1.10080058224 robots.txt 2650.0 23005.0 0.115192349489 4.30367311454 301 redirect 2637.0 7814.0 0.337471205529 1.621192731 googlebot 2572.0 6421.0 0.400560660333 1.15823080517 google seo 2260.0 11205.0 0.201695671575 1.38295403838 google sitemap 1883.0 4288.0 0.439132462687 1.21175373134 canonical url 1882.0 3714.0 0.506731287022 1.12762520194 sitemap 1453.0 22982.0 0.06322339222 3.78074144983
Las 10 páginas principales, ordenadas por recuento de clics, en orden descendente
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['page'], 'rowLimit': 10 }
Salida
Top Pages: Keys Clicks Impressions CTR Position https://www.example.com/21 10538.0 62639.0 0.168233847922 3.63031019014 https://www.example.com/65 9740.0 82375.0 0.118239757208 5.61003945372 https://www.example.com/15 9220.0 128101.0 0.0719744576545 5.32300294299 https://www.example.com/41 8859.0 426633.0 0.0207649197319 1.62309057199 https://www.example.com/53 8791.0 829679.0 0.0105956641062 14.4941887164 https://www.example.com/46 7390.0 82303.0 0.0897901656076 5.7723290767 https://www.example.com/27 7169.0 64013.0 0.111992876447 4.98709637105 https://www.example.com/80 6047.0 84233.0 0.0717889663196 4.10592048247 https://www.example.com/9 5886.0 59704.0 0.0985863593729 4.0897594801 https://www.example.com/8 5043.0 66869.0 0.0754161120998 4.57651527614
Las 10 búsquedas principales en India, ordenadas por recuento de clics, en orden descendente
Ten en cuenta que el operador de filtro “es igual a” se omite, ya que es el operador predeterminado.
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['query'], 'dimensionFilterGroups': [{ 'filters': [{ 'dimension': 'country', 'expression': 'ind' }] }], 'rowLimit': 10 }
Salida
Top queries in India: Keys Clicks Impressions CTR Position googlebot 250.0 429.0 0.582750582751 1.0 search console 238.0 34421.0 0.00691438366114 1.00101682113 dns error 189.0 850.0 0.222352941176 1.38470588235 google seo 165.0 552.0 0.298913043478 1.04166666667 canonical url 141.0 282.0 0.5 1.0 301 redirect 132.0 557.0 0.236983842011 1.78276481149 google search console 126.0 16898.0 0.00745650372825 1.03929459108 robots.txt 117.0 1046.0 0.111854684512 3.9206500956 canonical tag 111.0 223.0 0.497757847534 1.0
Las 10 búsquedas principales en dispositivos móviles en India, ordenadas por recuento de clics, en orden descendente
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['query'], 'dimensionFilterGroups': [{ 'filters': [{ 'dimension': 'country', 'expression': 'ind' }, { 'dimension': 'device', 'expression': 'MOBILE' }] }], 'rowLimit': 10 }
Salida
Top mobile queries in India: Keys Clicks Impressions CTR Position search console 26.0 1004.0 0.0258964143426 1.00298804781 dns error 24.0 111.0 0.216216216216 1.27927927928 google seo 18.0 69.0 0.260869565217 1.02898550725 eliminar 16.0 134.0 0.119402985075 1.0 googlebot 11.0 24.0 0.458333333333 1.0 404 9.0 214.0 0.0420560747664 8.64018691589 robots.txt 9.0 40.0 0.225 4.025 google search console 8.0 438.0 0.0182648401826 1.04337899543 seo 8.0 111.0 0.0720720720721 4.96396396396
Consulta una porción de filas
Puedes consultar una porción específica de filas especificando un número de fila inicial (basado en cero) y el número de filas que se mostrarán. Si especificas un número de fila inicial no válido, se mostrará un error, pero si especificas más filas de las que están disponibles, se mostrarán todas las filas disponibles.
Entre las 11 y 20 búsquedas principales en dispositivos móviles del período, ordenadas por recuento de clics, en orden descendente
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['query'], 'dimensionFilterGroups': [{ 'filters': [{ 'dimension': 'device', 'expression': 'mobile' }] }], 'rowLimit': 10, 'startRow': 10 }
Salida
Top 11-20 Mobile Queries: Keys Clicks Impressions CTR Position dns error 1220.0 15064.0 0.0809877854 3.13448726206 google seo 1161.0 7923.0 0.146535403 2.31479556195 sitemap 926.0 12478.0 0.0742106107 5.8130025067 googlebot 903.0 7822.0 0.115443621 4.6910285792 robots.txt 799.0 24868.0 0.0321296445 5.92759215963 404 520.0 12777.0 0.0406981295 5.80352636506 seo 506.0 2925.0 0.172991453 2.50413960996 search console 487.0 981.0 0.496432212 1.00036102455 canonical url 326.0 4087.0 0.0797651089 3.23664971157 301 redirect 261.0 3165.0 0.082464455 3.63074363869
Obtén más de 25,000 filas
Si tu consulta tiene más de 25,000 filas de datos, puedes solicitar datos en lotes de 25,000 filas a la vez. Para ello, envía varias consultas y aumenta el valor de startRow cada vez. Cuenta la cantidad de filas recuperadas. Si obtienes menos que la cantidad de filas solicitadas, recuperaste todos los datos. Si tu solicitud termina exactamente en el límite de datos (por ejemplo, hay 25,000 filas y solicitaste startRow=0 y rowLimit=25000), en tu próxima llamada obtendrás una respuesta vacía.
Entre 1 y 25,000 búsquedas en dispositivos móviles principales del período, ordenadas por cantidad de clics, descendente
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['query'], 'dimensionFilterGroups': [{ 'filters': [{ 'dimension': 'device', 'expression': 'mobile' }] }], 'rowLimit': 25000, 'startRow': 0 }
Entre las 25,001 y 50,000 búsquedas principales desde dispositivos móviles del período, ordenadas por cantidad de clics, en orden descendente
Código
request = { 'startDate': flags.start_date, 'endDate': flags.end_date, 'dimensions': ['query'], 'dimensionFilterGroups': [{ 'filters': [{ 'dimension': 'device', 'expression': 'mobile' }] }], 'rowLimit': 25000, 'startRow': 25000 }