¡Descarga nuestro E-book gratuito por tiempo limitado!

Guía paso a paso: como conectarse con Python a la Api Google Search console

Seo api

El mundo del SEO es dinámico y requiere de herramientas efectivas para su análisis y mejora continua. En este contexto, las APIs de SEO se han convertido en aliados fundamentales para los profesionales del marketing digital. Permiten automatizar tareas, obtener datos en tiempo real y realizar ajustes precisos en las estrategias de posicionamiento web, todo ello gracias a la capacidad de integrarse con diversos softwares y plataformas.

Una de las herramientas más poderosas para monitorear el rendimiento de un sitio web en los resultados de búsqueda es la Google Search Console API. Esta API provee un acceso programático a gran parte de la información que Google Search Console ofrece, como los datos de tráfico de búsqueda, errores de rastreo y las consultas de búsqueda que llevan a los usuarios a nuestro sitio web, lo que es crucial para tomar decisiones basadas en datos.

Utilizar la Google Search Console API con Python abre un abanico de posibilidades para los desarrolladores y especialistas en SEO. Python es conocido por su simplicidad y eficiencia, lo que facilita la escritura de scripts para extraer, analizar y visualizar los datos de SEO de manera automatizada. Esto permite ahorrar tiempo y recursos, y posibilita la ejecución de análisis complejos y personalizados que pueden ir más allá de las funcionalidades estándar de la consola de búsqueda.

En definitiva al hablar de SEO API, es importante mencionar la tendencia hacia la personalización y la precisión en las estrategias de SEO. Las APIs nos permiten obtener datos específicos y realizar ajustes finos en tiempo real, lo que se traduce en una ventaja competitiva significativa. La capacidad de adaptarse rápidamente a los cambios en los algoritmos de búsqueda y a las tendencias del mercado es, sin duda, una de las claves para el éxito en el posicionamiento web actual.

La API de Google Search Console es una herramienta poderosa para los SEOs y aquellos que también tengan proyectos sin ser SEOs, ofreciendo acceso a una amplia gama de KPIs (Indicadores Clave de Rendimiento) críticos para el análisis y optimización del rendimiento de un sitio web en los resultados de búsqueda de Google. Con esta API, se pueden extraer detalladamente métricas como clics, impresiones, CTR (tasa de clics), y posición media de las palabras clave. Además, proporciona datos valiosos sobre las consultas de búsqueda, las páginas más visitadas, el rendimiento por tipo de dispositivo y la distribución geográfica de los usuarios.

En términos de volumen de datos, la API permite hacer un número significativo de solicitudes por día. Cada una de estas solicitudes puede retornar hasta 25,000 filas de datos, lo que significa que es posible extraer una gran cantidad de información diariamente frente a las 1000 filas de datos que te deja exportar la interfaz de google search console. Al extrapolar esto al mes o al año, la cantidad de datos disponibles para análisis se vuelve verdaderamente considerable, permitiendo a los especialistas en SEO realizar un seguimiento exhaustivo y una evaluación precisa del rendimiento de un sitio web a lo largo del tiempo. Esta capacidad de extracción y análisis profundo es lo que convierte a la API de Google Search Console en una herramienta indispensable para cualquier estrategia de SEO efectiva.

+1 505 302 1649

Configuración inicial y conexión:

Acceder a la API de Google Search Console requiere una configuración inicial en Google Cloud Platform, donde se pueden elegir dos métodos de autenticación principales: OAuth2 y la Cuenta de Servicio. Una vez configurada esta parte, vamos a utilizar Python para interactuar con la API. El código necesario para ello, como se muestra a continuación, involucra establecer la conexión utilizando las credenciales previamente configuradas. Este paso es crucial para poder empezar a extraer y analizar los datos de Google Search Console de manera efectiva.

				
					from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

# Reemplaza con el camino a tu archivo de credenciales de Google
KEY_FILE_LOCATION = 'tu_archivo_de_credenciales.json'
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']

credentials = ServiceAccountCredentials.from_json_keyfile_name(KEY_FILE_LOCATION, SCOPES)
service = build('webmasters', 'v3', credentials=credentials)

				
			

Realizar una consulta a la API

En el siguiente fragmento de código Python, estableceremos nuestra primera conexión con Google Search Console a través de su API. La ejecución de este código implica realizar una petición configurada con cuatro variables clave: site_url, start_date, end_date y row_limit.

  • site_url: Corresponde a la URL del sitio que hemos configurado en Google Search Console. Si el sitio está configurado como dominio, deberemos usar el formato sc-domain:tu-sitio-web.com.
  • start_date: Define la fecha de inicio para la extracción de datos.
  • end_date: Establece la fecha límite hasta donde queremos recopilar los datos.
  • row_limit: Especifica el número máximo de filas de datos que deseamos extraer en nuestra consulta.
Despues en la petición podemos ver dimensions
				
					site_url = 'https://tu-sitio-web.com'
start_date = '2022-01-01'
end_date = '2022-01-31'
row_limit = '1000'
request = {
    'startDate': start_date,
    'endDate': end_date,
    'dimensions': ['query', 'date'],
    'rowLimit': row_limit
}
response = service.searchanalytics().query(siteUrl=site_url, body=request).execute()

				
			

En la API de Google Search Console, el término dimensions se refiere a los diferentes aspectos o características de los datos que deseas recuperar en tu consulta. Estas dimensiones determinan cómo se categorizan y se desglosan los datos en los resultados que obtienes. Algunas de las dimensiones más comunes que puedes especificar en tu petición incluyen:

  • query: Esta dimensión te permite obtener datos sobre las consultas de búsqueda que los usuarios han realizado y que han llevado a tu sitio web. Por ejemplo, podrás ver qué términos de búsqueda específicos están utilizando los usuarios para encontrar tu página.
  • date: Al especificar esta dimensión, los datos se desglosarán por fecha, permitiéndote ver cómo cambia el rendimiento de tu sitio web a lo largo del tiempo. Es útil para identificar tendencias o efectos estacionales.
  • page: Esta dimensión categoriza los datos por las páginas individuales de tu sitio web. Así, puedes ver qué páginas específicas están obteniendo más tráfico o tienen un mejor rendimiento en los resultados de búsqueda.
  • country: Al usar esta dimensión, puedes ver los datos desglosados por país, lo cual es útil si tu sitio web atiende a una audiencia internacional y deseas comprender cómo se comportan los usuarios en diferentes regiones.
  • device: Esta dimensión divide los datos según el tipo de dispositivo utilizado por el usuario, como móviles, tablets o versión de escritorio. Te permite adaptar mejor tu sitio web a las diferentes experiencias de usuario en cada tipo de dispositivo.

Al combinar estas dimensiones en tu petición a la API, puedes obtener un conjunto de datos muy detallado y específico que te ayudará a comprender mejor el rendimiento de tu sitio web en los resultados de búsqueda de Google y a tomar decisiones informadas para mejorar tu estrategia SEO.

Convertir los datos en un DataFrame de Pandas:

La manipulación y análisis de datos son habilidades esenciales en el campo del SEO, especialmente cuando se trabaja con grandes volúmenes de datos como los proporcionados por la API de Google Search Console. Aquí es donde entra en juego Pandas, una poderosa biblioteca de Python que ofrece estructuras de datos y herramientas de análisis diseñadas para facilitar la manipulación y el análisis de datos. Tener un conocimiento sólido de Pandas es esencial para transformar los datos crudos en insights valiosos que pueden informar y guiar las estrategias de SEO.

El código proporcionado es un ejemplo práctico de cómo Pandas puede ser utilizado para este propósito:

Importar Pandas

				
					import pandas as pd
				
			

Crear un DataFrame Vacío

Creamos un DataFrame vacío con columnas específicas. Un DataFrame es una estructura de datos bidimensional, similar a una tabla de Excel, que puede almacenar datos de diferentes tipos (como texto, números, fechas) y es ideal para manipular grandes conjuntos de datos.

				
					df = pd.DataFrame(columns=['query', 'date', 'clicks', 'impressions', 'ctr', 'position'])

				
			

Llenar el DataFrame con Datos

En el siguiente codigo, el bucle (for), iteramos sobre cada fila de la respuesta obtenida de la API de Google Search Console. Cada fila contiene información sobre una consulta de búsqueda, incluyendo la consulta (‘query’), la fecha (‘date’), los clics (‘clicks’), las impresiones (‘impressions’), la tasa de clics (‘ctr’) y la posición en los resultados de búsqueda (‘position’). Estos datos se añaden al DataFrame, creando así un conjunto de datos estructurado y fácil de analizar.

Una vez que los datos están en un DataFrame, puedes realizar una variedad de análisis y operaciones de manipulación de datos, como agrupar por ciertas columnas, filtrar datos basados en condiciones específicas, calcular estadísticas resumidas, y mucho más. Por ejemplo, podrías querer analizar el CTR promedio de diferentes consultas, o ver cómo las impresiones de tu sitio web cambian a lo largo del tiempo. Pandas te proporciona las herramientas para realizar estos análisis de manera eficiente, convirtiéndolo en un componente esencial en el arsenal de cualquier profesional de SEO que trabaja con datos.

				
					for row in response['rows']:
    df = df.append({
        'query': row['keys'][0],
        'date': row['keys'][1],
        'clicks': row['clicks'],
        'impressions': row['impressions'],
        'ctr': row['ctr'],
        'position': row['position']
    }, ignore_index=True)

				
			

Importancia de los graficos

En el mundo de la analítica y el SEO, la representación visual de los datos es fundamental. Aunque las tablas o hojas de Excel proporcionan una visión detallada y son herramientas útiles para la manipulación de datos, a menudo no son suficientes para captar rápidamente la esencia de la información. Los gráficos, en cambio, permiten una comprensión instantánea y profunda de los insights clave, facilitando la identificación de tendencias, patrones y anomalías a simple vista. Si bien Pandas y sus DataFrames son excelentes para organizar y preparar datos, la visualización efectiva de estos requiere de herramientas adicionales. Aquí es donde entran en juego librerías de Python especializadas en visualización de datos, como Matplotlib, Seaborn o Plotly. Estas librerías transforman los conjuntos de datos en representaciones gráficas intuitivas y detalladas, permitiendo a los analistas y profesionales de SEO comunicar resultados complejos de manera clara y convincente. Con estas herramientas, los datos no solo se vuelven más accesibles, sino que también facilitan la toma de decisiones basadas en datos y el desarrollo de estrategias SEO más efectivas.

Gráfico de Líneas para Clicks e Impresiones a lo Largo del Tiempo

Te explico, lo que hace el siguiente codigo: 

El código presentado utiliza la librería Matplotlib, es una herramienta para la visualización de datos en Python, para crear un gráfico que ilustre estas variaciones. Inicialmente, transformamos la columna ‘date‘ en un formato de fecha y hora reconocible, lo que facilita su manejo en análisis temporales. Luego, agrupamos los datos por fecha y sumamos los valores para cada día. El resultado se visualiza en un gráfico de líneas, donde trazamos tanto los clics como las impresiones a lo largo del tiempo. Este enfoque permite observar tendencias, picos y caídas en el tráfico web, proporcionando una visión clara de la eficacia de las estrategias SEO implementadas. Al observar cómo estos dos indicadores clave fluctúan y se correlacionan, los profesionales de SEO pueden hacer ajustes informados para optimizar la presencia en línea de su sitio web.

				
					import matplotlib.pyplot as plt

df['date'] = pd.to_datetime(df['date'])
df_grouped = df.groupby('date').sum()

plt.figure(figsize=(12, 6))
plt.plot(df_grouped.index, df_grouped['clicks'], label='Clicks')
plt.plot(df_grouped.index, df_grouped['impressions'], label='Impresiones')
plt.xlabel('Fecha')
plt.ylabel('Cantidad')
plt.title('Clicks e Impresiones a lo Largo del Tiempo')
plt.legend()
plt.show()

				
			
ejemplo_matplot_python

Gráfico de Barras para Comparar CTR por Dispositivo

En siguiente código. Primero, agrupa los datos por el tipo de dispositivo y calcula el CTR promedio para cada uno. Luego, emplea Matplotlib, para crear un gráfico de barras que muestra de manera clara y concisa estas medias de CTR. 

				
					df_device = df.groupby('device')['ctr'].mean()
df_device.plot(kind='bar', figsize=(10, 6))
plt.xlabel('Dispositivo')
plt.ylabel('CTR Promedio')
plt.title('CTR por Dispositivo')
plt.show()

				
			
python ctr device

Heatmap o mapas de calor para Posiciones de Palabras Clave

Este código utiliza Seaborn para crear un ‘heatmap’ que visualiza el rendimiento de palabras clave en los resultados de búsqueda. Al agrupar los clics por consulta y posición, el mapa de calor destaca las áreas donde las palabras clave son más efectivas, permitiendo a los profesionales de SEO identificar rápidamente patrones y optimizar estrategias.

				
					import seaborn as sns

# Asumiendo que 'position' está en un rango específico, por ejemplo, 1-10
heatmap_data = pd.pivot_table(df, values='clicks', index=['query'], columns='position', aggfunc='sum')
plt.figure(figsize=(12, 8))
sns.heatmap(heatmap_data, cmap='YlGnBu')
plt.title('Heatmap de Posiciones de Palabras Clave')
plt.show()

				
			
mapa de calor con seaborn python

Espero que te haya servido de ayuda y si por algún casual quieres saber mas no dudes en ingresar en nuestra comunidad gratuita. Tambien, si quieres ser experto en Data Seo con Python tenemos nuestro programa y dentro puedes agendar una call conmígo y ver que soluciones podemos darte para que tu tiempo sea tuyo.

¡No pierdas mas el tiempo!
Unete a nuestra comunidad gratuita