DEV Community

LeoJulieta
LeoJulieta

Posted on

Cómo evadir bloqueos de IA en webs sin dañar tu SEO

Bloqueo de agentes de IA en sitios web: causas, riesgos y cómo sortearlo sin romper el SEO


Introducción

¿Te ha pasado que tu script de scraping o tu herramienta de generación de contenidos se topa con un 403 inesperado? No estás solo: cada vez más webs ponen barreras a los crawlers y agentes de IA y eso está cambiando la forma en que trabajamos con el SEO. En este artículo descubrirás por qué los propietarios bloquean estos agentes, qué consecuencias tiene para tu posicionamiento y, lo más importante, cómo seguir accediendo a la información de forma legal y eficiente usando APIs, navegadores headless y buenas prácticas de desarrollo.


1. ¿Qué es un “agente de IA”?

Un agente de IA es cualquier programa que, de forma automatizada, consume una página web y aplica modelos de lenguaje, visión o síntesis para extraer o generar contenido. Entre los más habituales están:

Tipo de agente Ejemplo práctico User‑Agent típico
Crawler de buscador Googlebot, Bingbot Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Bot de resumen ChatGPT‑Browser, Perplexity Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://www.perplexity.ai/)
Plugin de asistente Extensión “Read Aloud” de Chrome Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Scraper propio Script Python con requests MyScraper/1.0 (+https://miempresa.com/bot)

2. Principales motivos para bloquear agentes de IA

Motivo Impacto en SEO / Negocio Cómo se implementa habitualmente
Protección de derechos de autor Evita que el contenido sea reproducido sin permiso. robots.txt con User-agent: *\nDisallow: / o cabecera X-Robots-Tag: noindex, nofollow
Prevención de scraping masivo Reduce la carga del servidor y evita el uso de datos para entrenamiento no autorizado. Respuestas 429 Too Many Requests o 403 Forbidden basadas en la IP/User‑Agent.
Cumplimiento normativo (GDPR, DMCA, etc.) Evita que datos personales o regulados sean extraídos automáticamente. Bloqueo por geolocalización o por encabezados Cookie que indiquen consentimiento.
Control de experiencia de usuario Impide que bots alteren la presentación del contenido (p. ej., inyección de anuncios). Uso de Content‑Security‑Policy que solo permite scripts firmados.
Monetización y afiliados Protege enlaces de afiliados de ser “robo‑scrapeados”. Redirección a URLs con tokens únicos que expiran.

3. Señales de que un sitio está bloqueando tu agente

# Ejemplo de petición con curl
curl -I -A "MyScraper/1.0 (+https://miempresa.com/bot)" https://ejemplo.com

# Posibles respuestas
HTTP/1.1 403 Forbidden               # Bloqueo directo
HTTP/1.1 429 Too Many Requests       # Rate‑limit
HTTP/1.1 401 Unauthorized            # Requiere autenticación
Enter fullscreen mode Exit fullscreen mode
  • Headers a revisar
Header Qué indica
X-Robots-Tag noindex, nosnippet, noarchive → indica intención de no ser indexado.
Retry-After Si aparece con 429, indica cuánto tiempo esperar antes de volver a intentar.
WWW-Authenticate Señala que el recurso necesita OAuth, JWT, etc.
  • Logs del servidor – Busca líneas como:
[24/Oct/2026:12:34:56 +0000] "GET / HTTP/1.1" 403 0 "-" "MyScraper/1.0 (+https://miempresa.com/bot)"
Enter fullscreen mode Exit fullscreen mode

4. Riesgos y oportunidades SEO

Riesgo Consecuencia Mitigación
Pérdida de visibilidad Google no indexa la página si el robots.txt la bloquea. Asegúrate de que el User-agent: Googlebot esté permitido mientras bloqueas otros.
Penalizaciones por scraping Google puede considerar “spam” si detecta actividad sospechosa. Limita la velocidad (sleep 1 entre peticiones) y usa IPs rotativas con reputación.
Oportunidad de datos estructurados Muchos sitios ofrecen APIs públicas que entregan la misma información sin bloqueo. Prioriza el consumo de APIs oficiales (/api/v1/articles) antes de hacer scraping.

5. Estrategias prácticas para sortear bloqueos sin infringir la ley

5.1. Usa la API oficial (cuando exista)

# Petición a la API pública de Example.com
curl -H "Authorization: Bearer $TOKEN" \
     https://api.ejemplo.com/v2/posts?limit=100
Enter fullscreen mode Exit fullscreen mode

Ventajas: respeta los TOS, obtienes datos en JSON limpio y evitas el tráfico de página completa.

5.2. Navegador headless con gestión de cookies y fingerprint

from playwright.sync_api import sync_playwright

def fetch_page(url):
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=True)
        context = browser.new_context(
            user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
                       "AppleWebKit/537.36 (KHTML, like Gecko) "
                       "Chrome/124.0.0.0 Safari/537.36",
            locale="es-ES",
            java_script_enabled=True,
        )
        page = context.new_page()
        page.goto(url, wait_until="networkidle")
        content = page.content()
        browser.close()
        return content
Enter fullscreen mode Exit fullscreen mode

Tips:

  • Simula un navegador real (User‑Agent, cabeceras Accept-Language, Referer).
  • Gestiona el consentimiento de cookies antes de extraer contenido.
  • Respeta Retry-After y usa page.wait_for_timeout(2000) entre peticiones.

5.3. Rotación de IP y control de velocidad

# Usando proxychains con tor para rotar IPs
proxychains -q curl -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://ejemplo.com
Enter fullscreen mode Exit fullscreen mode

Recomendación: no excedas 1 petición por segundo a dominios que no te hayan dado permiso explícito.

5.4. Señales de buena ciudadanía (para evitar bloqueos)

Acción Por qué ayuda
Enviar User-Agent descriptivo Los administradores pueden identificar y autorizar tu bot.
Incluir Contact en robots.txt Facilita que te contacten para solicitar acceso.
Implementar Crawl-delay Reduce la carga del servidor y muestra respeto.
Responder a robots.txt Si el archivo permite User-agent: MyScraper, no lo bloquees.

Ejemplo de robots.txt amigable:

User-agent: MyScraper
Allow: /
Crawl-delay: 5
Contact: webmaster@miempresa.com
Enter fullscreen mode Exit fullscreen mode

6. Plan de acción paso a paso

  1. Detecta el bloqueo

    • Ejecuta curl -I con tu User‑Agent.
    • Analiza códigos 403/429 y los headers X-Robots-Tag.
  2. Revisa robots.txt

    • Busca reglas específicas para tu agente.
    • Si no hay mención, asume que el bloqueo es a nivel de servidor.
  3. Comprueba la existencia de una API

    • Busca /api, /graphql, o documentación en la página.
    • Si la API está disponible, regístrate y usa tokens de acceso.
  4. Implementa un headless browser

    • Configura User‑Agent realista y gestiona cookies.
    • Respeta Retry-After y limita la velocidad a ≤1 rps.
  5. Configura rotación de IP

    • Usa un pool de proxies residenciales o Tor con proxychains.
    • Monitorea la tasa de errores 403/429 para ajustar la frecuencia.
  6. **Comun


Herramienta mencionada: Heroku

Top comments (0)