Tutoriales

Automatizaciones con Python para SEO

Automatizaciones SEO con Python para revisar URLs, metadatos, sitemaps, CSV y APIs con control de errores, pausas, logs y validación antes de actuar.

Publicado el 5 min de lectura
Automatizaciones con Python para SEO

Python es útil en SEO cuando una tarea consiste en repetir la misma comprobación sobre muchas URLs o transformar datos de una forma predecible. No sustituye el análisis, pero evita dedicar tiempo a copiar, pegar y revisar manualmente operaciones que pueden expresarse como reglas.

Empieza con tareas acotadas

Empieza por tareas pequeñas

Antes de construir un sistema grande, automatiza una comprobación sencilla: leer una lista de URLs desde un CSV, solicitar cada página y guardar el código de estado.

Ese ejercicio ya obliga a resolver entrada de datos, peticiones, errores y salida de resultados.


import csv
import requests

with open("urls.csv", newline="", encoding="utf-8") as source:
    urls = [row[0] for row in csv.reader(source) if row]

for url in urls:
    try:
        response = requests.get(url, timeout=10)
        print(url, response.status_code)
    except requests.RequestException as error:
        print(url, "ERROR", error)

Extraer títulos y metadatos

Con una biblioteca de análisis HTML puedes comprobar si una página tiene título, descripción o encabezado principal. El resultado se puede guardar en CSV para filtrar duplicados o campos vacíos.

La automatización debe respetar tiempos de espera y no lanzar cientos de solicitudes simultáneas contra un servidor pequeño.

Revisar sitemaps

Otro uso práctico es descargar un sitemap, extraer sus URLs y compararlas con una lista de páginas esperadas. Esto ayuda a descubrir URLs ausentes, duplicadas o no deseadas.

En sitemaps índice, el script puede recorrer los ficheros secundarios y reunir los datos antes de analizarlos.

Trabajar con datos tabulares

Cuando los datos crecen, pandas facilita agrupar, ordenar y cruzar CSV. Por ejemplo, puedes combinar un rastreo con datos de analítica o con una lista de páginas estratégicas.

El objetivo no es convertir cada tarea en un DataFrame: úsalo cuando realmente simplifique el tratamiento de datos.

Consumir APIs

Las APIs permiten automatizar informes o recuperar datos de servicios externos, siempre respetando autenticación, cuotas y condiciones de uso.

Conviene separar credenciales del código y no guardar claves directamente dentro del repositorio.

Robustez del script

Registrar errores

Un script SEO debe asumir que algunas URLs fallarán. Añade tiempos de espera, control de excepciones y un fichero de log. Si el programa se detiene ante el primer error, la automatización pierde gran parte de su utilidad.

Validar antes de actuar

Leer datos es menos arriesgado que modificar una web. Cuando un script vaya a cambiar archivos, redirecciones o contenidos, incorpora un modo de prueba y genera primero un listado de cambios previstos.

Convertir scripts en procesos repetibles

Documenta requisitos, formato de entrada y salida. Si la automatización se ejecuta periódicamente, fija una estructura de carpetas y nombres de archivo estable.

La ventaja real de Python aparece cuando una tarea deja de depender de una secuencia manual y pasa a ser reproducible, verificable y fácil de volver a ejecutar.

Peticiones y persistencia

Limita la velocidad de las peticiones

Un script puede lanzar solicitudes mucho más rápido que una persona. Añade pausas o limita concurrencia para no generar una carga innecesaria en el servidor.

Si estás trabajando sobre una web que no administras, revisa condiciones y evita rastreos agresivos. La automatización no debe comportarse como un ataque.

Utiliza una sesión HTTP cuando corresponda

Las bibliotecas de peticiones permiten reutilizar conexiones y cabeceras. Para procesos con muchas URLs, una sesión puede resultar más eficiente.

Define también un User-Agent reconocible cuando sea apropiado y conserva tiempos de espera para no dejar el script bloqueado indefinidamente.

Guarda resultados parciales

Si revisas miles de URLs y el proceso falla cerca del final, no deberías empezar desde cero.

Escribe resultados por bloques o guarda el progreso. Así podrás reanudar y analizar incluso una ejecución incompleta.

Normalización y rastreo

Normaliza URLs antes de comparar

Diferencias de barra final, mayúsculas, parámetros o protocolo pueden provocar falsos duplicados.

Define una regla de normalización adecuada al proyecto antes de cruzar datos. No elimines parámetros automáticamente si pueden identificar páginas distintas.

Extrae enlaces internos

Además de títulos y descripciones, puedes recoger enlaces y construir una tabla origen-destino.

Esto permite detectar páginas huérfanas, enlaces hacia errores o URLs que reciben muy pocos enlaces internos.

Comprueba canonicals

Un script puede comparar la URL solicitada con el canonical declarado y marcar casos extraños: canonical vacío, destino externo o grupos completos apuntando a la misma página.

No conviertas cada diferencia en error automático. Algunas configuraciones pueden ser intencionadas y requieren revisión.

Informes y configuración

Crea informes reproducibles

Guarda fecha de ejecución, versión del script y ficheros de entrada. Si el resultado cambia semanas después, podrás saber si cambió la web o cambió la lógica del análisis.

Un pequeño README con instrucciones evita que el script dependa únicamente de quien lo escribió.

Separa configuración del código

Dominio, rutas de archivos, tiempos de espera y credenciales pueden vivir en variables o archivos de configuración.

Esto permite reutilizar el mismo script en varios proyectos sin editar la lógica principal.

Pruebas y límites

Añade pruebas sobre una muestra

Antes de ejecutar contra miles de URLs, prueba con diez casos conocidos: una página correcta, una redirección, un 404 y algún ejemplo con metadatos incompletos.

La muestra ayuda a descubrir errores en el script antes de producir un CSV enorme con resultados incorrectos.

Automatización no significa decisión automática

Python puede detectar que 300 páginas tienen títulos duplicados, pero no puede decidir por sí solo qué título representa mejor cada intención.

Utiliza el script para localizar y organizar problemas. Mantén el análisis editorial o estratégico donde sea necesario.

Si estás empezando con el lenguaje, primeros pasos en Python proporciona una base más general.

La mejor automatización SEO es pequeña, verificable y fácil de volver a ejecutar. Cuanto más claro sea el formato de entrada y salida, más valor tendrá después de la primera ejecución.

Para seguir profundizando: estas automatizaciones pueden complementarse con técnicas de scraping web ético y útil y con una visión más general sobre automatización de respuestas y procesos.

Etiquetado en:

Artículos relacionados

Lecturas recomendadas por temática y categoría:

Sucender es desarrollador web y consultor SEO. Comparte guías prácticas de estrategia digital, rendimiento web y herramientas útiles para pymes.

Ver todas las publicaciones de

Website: https://ayudaparamiweb.com/