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.