Cómo espiar a los competidores con Python y Data Studio


Investigando al suerte caídas en la clasificación de palabras clave es solo parte del comercio de SEO.

Hay muchos métodos para investigar qué palabras clave específicas pueden haber desaparecido, ¡pero usar Python y Data Studio juntos es un cambio de juego!

Un rápido descargo de responsabilidad: no creé este script yo mismo. Un compañero de SEO y desarrollador, Evan de Architek, colaboró ​​conmigo para hallar una necesidad particular que tenía. Evan fue el cerebro detrás de la creación del guión.

Ver un gran conjunto de resultados de Google a escala siempre ha sido uno de mis objetivos. Sin embargo, estaba cansado de tener que realizar estas búsquedas manualmente, una por una.

Evan mencionó que Python puede ser la solución espiritual para hallar mis necesidades de investigación de SEO.

¿Qué importancia tiene Python para el SEO?

Como muchos profesionales de SEO han aprendido en los últimos años, Python es un lenguaje de programación increíblemente poderoso que puede hacer casi cualquier cosa. Uno de los usos más comunes de Python es la automatización de tareas monótonas diarias.

Una de las cosas más interesantes de Python es que hay varias formas diferentes de realizar la misma tarea. Sin embargo, esto también agrega un nuevo nivel de dificultad.

Anuncio publicitario

Continuar leyendo a continuación

La mayoría de los scripts de muestra de Python que existen pueden estar un poco desactualizados, por lo que se encontrará haciendo muchas pruebas y errores.

Python tiene muchas aplicaciones para analizar datos SEO. La clave del éxito es tener la idea correcta.

Si tiene una idea para automatizar una tarea, es probable que haya un script que pueda crearse para ella.

Para mantenerse al día con los últimos casos de uso de Python en SEO, el último gran Bautista de Hamlet ha publicado algunos artículos increíbles aquí en Search Engine Journal.

Qué hace y qué no hace este script de Python

La mayoría de las herramientas de clasificación de palabras clave que existen informan una clasificación promedio para una palabra clave durante un período de tiempo específico. Este script de Python ejecuta un único rastreo en el momento en que lo ejecuta desde su dirección IP.

Esta secuencia de comandos no está destinada a realizar un seguimiento de las clasificaciones de palabras clave.

El propósito de este script era hallar un problema que estaba teniendo al investigar caídas repentinas de clasificación en mi cliente y su competencia.

Anuncio publicitario

Continuar leyendo a continuación

La mayoría de las herramientas de clasificación de palabras clave le dirán en qué páginas se clasifica su dominio, pero no las páginas de clasificación más alta de su competidor por palabra clave.

Entonces, ¿por qué es eso importante?

En este escenario, no realizamos un seguimiento del rendimiento de la página a largo plazo. Simplemente estamos tratando de obtener datos rápidos.

Este script nos permite identificar rápidamente tendencias en el panorama orgánico y ver qué páginas tienen un mejor rendimiento.

Cómo empezar

Si es nuevo en Python, le recomiendo que consulte el tutorial oficial de Python o el sitio web de Automate the Boring Stuff.

Para este tutorial, estoy usando PyCharm CE, pero puede usar Sublime Text, Jupyter Notebook o cualquiera que sea su entorno de desarrollo preferido.

Este script está escrito en Python 3 y podría ser un poco avanzado para personas nuevas en este lenguaje de programación.

Si aún no ha encontrado un intérprete ni ha configurado su primer entorno virtual, esta guía puede ayudarlo a comenzar.

Una vez que esté configurado con un nuevo entorno virtual, necesitará las siguientes bibliotecas:

Ahora que ya está todo configurado, investiguemos juntos un poco.

1. Reúna sus palabras clave para investigar

Usaremos algunos datos de muestra para investigar algunas palabras clave que pretendemos rastrear.

Supongamos que miró su software de seguimiento de palabras clave y notó que las siguientes palabras clave bajaron más de cinco posiciones:

  • Consejos de SEO.
  • Asesoramiento SEO local.
  • Aprenda SEO.
  • Artículos de optimización de motores de búsqueda.
  • Blog de SEO.
  • Conceptos básicos de SEO.

Descargo de responsabilidad: La búsqueda de demasiadas palabras clave puede resultar en la prohibición temporal de su IP. Hacer ping a Google para obtener tantos resultados a la vez puede parecer spam y agotar sus recursos. Úselo con precaución y moderación.

Anuncio publicitario

Continuar leyendo a continuación

Lo primero que haremos será colocar estas palabras clave en un archivo de texto simple. Las palabras clave deben separarse con un salto de línea, como se muestra en la captura de pantalla siguiente.

Ejemplo de palabras clave para buscar con Python.Captura de pantalla de TextEdit, octubre de 2021

2. Ejecute el script de investigación de clasificación de Python

El TL; DR de este script es que realiza tres funciones básicas:

  • Localiza y abre su archivo Searches.txt.
  • Utiliza esas palabras clave y busca en la primera página de Google para cada resultado.
  • Crea un nuevo archivo CSV e imprime los resultados (palabra clave, URL y títulos de página).

Para que este script funcione correctamente, deberá ejecutarlo en secciones. Primero, necesitaremos solicitar nuestras bibliotecas.

Anuncio publicitario

Continuar leyendo a continuación

Copie y pegue el siguiente comando.

from urllib.parse import urlencode, urlparse, parse_qs

from lxml.html import fromstring
from requests import get
import csv

A continuación, podrá ingresar la función principal de este script en una sola acción de copiar / pegar.

Esta parte de la secuencia de comandos establece los pasos reales tomados, pero no ejecutará el comando hasta el tercer camino.

def scrape_run():
    with open('searches.txt') as searches:
        for search in searches:
           userQuery = search
           raw = get("https://www.google.com/search?q=" + userQuery).text
           page = fromstring(raw)
           links = page.cssselect('.r a')
           csvfile="data.csv"
           for row in links:
               raw_url = row.get('href')
               title = row.text_content()
               if raw_url.startswith("/url?"):
                   url = parse_qs(urlparse(raw_url).query)['q']
                   csvRow = [userQuery, url[0], title]
                   with open(csvfile, 'a') as data:
                       writer = csv.writer(data)
                       writer.writerow(csvRow)

Ahora está listo para ejecutar el comando. El último camino es copiar / pegar el comando a continuación y hacer clic en la tecla de retorno.

scrape_run()

¡Eso es todo!

3. Utilice la magia de Data Studio para analizar los resultados

Al ejecutar este comando, puede notar que se ha creado un nuevo archivo CSV llamado data.csv.

Estos son sus resultados sin procesar, que necesitaremos para el camino final.

Mi agencia ha creado un práctico Plantilla de Data Studio para analizar sus resultados. Para utilizar este informe gratuito, deberá pegar sus resultados en Hojas de cálculo de Google.

La página del enlace anterior tiene instrucciones detalladas sobre cómo configurar su informe de Data Studio.

Anuncio publicitario

Continuar leyendo a continuación

Cómo analizar nuestros resultados en Data Studio

Ahora que ha implementado su nuevo informe de Data Studio, es hora de que todos estos datos tengan sentido.

Lo que buscamos son patrones. Sí, puede encontrar patrones en los datos sin procesar, pero esta plantilla de Data Studio tiene una función útil que nos permite identificar rápidamente qué páginas se clasifican con mayor frecuencia para nuestras palabras clave específicas.

Esto es útil porque nos permite ver qué competidores tienen un buen rendimiento y qué páginas específicas tienen un buen rendimiento.

Plantilla de Data Studio para analizar datos de raspado web de Python.Captura de pantalla de la plantilla de visualización de Python, Data Studio, octubre de 2021

Como puede ver en la captura de pantalla de Data Studio anterior, Moz y Ahrefs son los dos principales competidores que clasifican nuestras palabras clave buscadas.

Anuncio publicitario

Continuar leyendo a continuación

Sin embargo, eso realmente no nos ayuda a averiguar exactamente qué están haciendo para clasificar esas palabras clave.

Ahí es donde el segundo gráfico resulta útil. Esto muestra cada página de clasificación y cuántas veces ocurren para todas nuestras consultas de búsqueda. Podemos identificar rápidamente las tres páginas con mejor rendimiento para nuestras palabras clave.

¿Necesita filtrar a un nivel específico de página o palabra clave?

Hemos incluido filtros en la parte superior de la plantilla de Data Studio para simplificar esto.

Filtros de estudio de datos.Captura de pantalla de la plantilla de visualización de Python, Data Studio, octubre de 2021

Una vez que haya hecho una lista de las páginas con mejor rendimiento, puede realizar más análisis dentro y fuera de la página para averiguar por qué esas páginas están funcionando tan bien.

Anuncio publicitario

Continuar leyendo a continuación

¿Quedarse atascado?

Si se está atascando, puede relacionarse con el inventor de este script en contact@architek.co para obtener sugerencias o soluciones de programación personalizadas.

¿Cuál es tu idea?

Con suerte, esto ha generado algunas ideas creativas sobre cómo puede usar Python para ayudar a automatizar sus procesos de SEO.

Más recursos:


Imagen destacada: nikkimeel / Shutterstock





Consultar el artículo en la publicación original

Cómo espiar a los competidores con Python y Data Studio