Cómo Configurar Reglas WAF de Cloudflare para Permitir Perplexity y ChatGPT mientras Bloqueas Rastreadores Agresivos
Comprender la Gestión de Bots de IA de Cloudflare: Por Qué el Botón de Bloqueo Global es Peligroso
La función de un clic "Bloquear Bots de IA" de Cloudflare bloquea indiscriminadamente todos los rastreadores de IA, incluidos motores de búsqueda beneficiosos como Perplexity y ChatGPT que generan tráfico orgánico significativo a tu sitio. Esta opción nuclear impide que tu contenido sea indexado por plataformas de búsqueda de IA de próxima generación, haciendo efectivamente invisible tu sitio web para millones de usuarios que dependen de herramientas de búsqueda impulsadas por IA para el descubrimiento de información.
La Importancia Estratégica de la Gestión Selectiva de Bots de IA
El tráfico web moderno se origina cada vez más en motores de búsqueda y asistentes impulsados por IA. Perplexity, Búsqueda de ChatGPT, AI Overviews de Google y plataformas similares representan el futuro de la recuperación de información. Bloquear estos rastreadores legítimos mientras usas el bloqueo general de bots de IA de Cloudflare crea una brecha crítica de visibilidad que puede impactar severamente la capacidad de descubrimiento y el alcance orgánico de tu sitio.
La solución radica en implementar reglas granulares de Firewall de Aplicaciones Web (WAF) que distingan entre rastreadores de IA beneficiosos y scrapers agresivos que consumen ancho de banda sin proporcionar valor. Esta guía proporciona instrucciones completas para configurar reglas WAF de Cloudflare que protejan tu infraestructura mientras mantienes la visibilidad en ecosistemas de búsqueda de IA.
Principales User-Agents de Rastreadores de IA y Rangos de IP
Antes de configurar reglas WAF, debes comprender los métodos de identificación utilizados por rastreadores de IA legítimos. La siguiente tabla proporciona información completa sobre los principales user-agents de bots de IA y sus rangos de IP asociados:
| Proveedor | Token User-Agent | Ejemplo de User-Agent Completo | Verificación de Rango de IP | Token Robots.txt |
|---|---|---|---|---|
| Perplexity AI | PerplexityBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/bot) | Verificar mediante búsqueda DNS inversa | PerplexityBot |
| OpenAI (ChatGPT) | GPTBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +https://openai.com/gptbot) | JSON publicado en openai.com/gptbot.json | GPTBot |
| OpenAI (SearchGPT) | OAI-SearchBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot) | JSON publicado en openai.com/searchbot.json | OAI-SearchBot |
| Google (Gemini) | Google-Extended | Mozilla/5.0 (compatible; Google-Extended/1.0; +http://www.google.com/bot.html) | Verificar mediante rangos de IP de Google | Google-Extended |
| Anthropic (Claude) | anthropic-ai | anthropic-ai (compatible; Claude-Web/1.0; +https://anthropic.com/bot) | Verificar mediante DNS inversa | anthropic-ai |
| Apple (Applebot) | Applebot | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot) | 17.0.0.0/8 (rango principal) | Applebot |
| Cohere | cohere-ai | cohere-ai (compatible; CohereBot/1.0; +https://cohere.com/bot) | Verificar mediante DNS inversa | cohere-ai |
| Meta AI | FacebookBot | facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) | ASN publicado: AS32934, AS63293 | FacebookBot |
Configurar Reglas WAF Personalizadas para Permitir Rastreadores de IA Beneficiosos
Las Reglas Personalizadas WAF de Cloudflare proporcionan la flexibilidad para crear políticas sofisticadas de gestión de bots. La siguiente configuración permite rastreadores de búsqueda de IA legítimos mientras bloquea scrapers agresivos y bots no autorizados.
Paso 1: Acceder a las Reglas Personalizadas WAF de Cloudflare
- Inicia sesión en tu panel de Cloudflare
- Selecciona el dominio que deseas configurar
- Navega a Seguridad → WAF → Reglas personalizadas
- Haz clic en Crear regla para comenzar a configurar tu conjunto de reglas personalizado
Paso 2: Crear una Regla de Permiso para Rastreadores de IA Legítimos
Crea una regla con la siguiente configuración:
Nombre de la Regla: Permitir Rastreadores de Búsqueda de IA Legítimos
Expresión:
(http.user_agent contains "PerplexityBot") or (http.user_agent contains "GPTBot") or (http.user_agent contains "OAI-SearchBot") or (http.user_agent contains "Google-Extended") or (http.user_agent contains "anthropic-ai") or (http.user_agent contains "Applebot") or (http.user_agent contains "cohere-ai") or (http.user_agent contains "FacebookBot" and not http.user_agent contains "facebookexternalhit")
Acción: Permitir
Prioridad: Establecer en 1 (máxima prioridad para asegurar que esta regla se ejecute primero)
Paso 3: Crear una Regla de Bloqueo para Scrapers Genéricos Agresivos
Después de permitir rastreadores legítimos, crea una regla secundaria para bloquear scrapers agresivos conocidos:
Nombre de la Regla: Bloquear Scrapers Agresivos y Bots No Autorizados
Expresión:
(http.user_agent contains "scrapy") or (http.user_agent contains "python-requests") or (http.user_agent contains "curl") or (http.user_agent contains "wget") or (http.user_agent contains "go-http-client") or (http.user_agent contains "axios") or (http.user_agent contains "node-fetch") or (http.user_agent eq "") or (http.user_agent contains "Bytespider") or (http.user_agent contains "PetalBot") or (http.user_agent contains "AhrefsBot" and not cf.bot_management.verified_bot) or (http.user_agent contains "SemrushBot" and not cf.bot_management.verified_bot) or (http.user_agent contains "DotBot") or (http.user_agent contains "MJ12bot") or (http.user_agent contains "BLEXBot")
Acción: Bloquear
Prioridad: Establecer en 2
Paso 4: Implementar Reglas de Desafío para Patrones de Tráfico Sospechosos
Para tráfico que no coincida con los criterios de permitir o bloquear pero exhiba patrones sospechosos, implementa una regla de desafío:
Nombre de la Regla: Desafiar Comportamiento Sospechoso Similar a Bot
Expresión:
(cf.bot_management.score lt 30) and not (cf.bot_management.verified_bot) and not (http.user_agent contains "PerplexityBot") and not (http.user_agent contains "GPTBot") and not (http.user_agent contains "OAI-SearchBot") and not (http.user_agent contains "Google-Extended") and not (http.user_agent contains "Applebot")
Acción: Desafío Gestionado
Prioridad: Establecer en 3
Implementar Reglas de Limitación de Tasa Personalizadas para Protección de Endpoints de API
La limitación de tasa proporciona una capa adicional de protección contra el abuso de scraping, particularmente para endpoints de API y páginas que consumen muchos recursos. Sigue estos pasos para configurar limitación de tasa inteligente que no impacte a rastreadores de IA legítimos:
Paso 1: Navegar a Reglas de Limitación de Tasa
- En tu panel de Cloudflare, ve a Seguridad → WAF → Reglas de limitación de tasa
- Haz clic en Crear regla
Paso 2: Configurar Limitación de Tasa de Endpoint de API
Nombre de la Regla: Limitación de Tasa de Endpoint de API con Exención de Rastreador de IA
Expresión:
(http.request.uri.path contains "/api/") and not (http.user_agent contains "PerplexityBot") and not (http.user_agent contains "GPTBot") and not (http.user_agent contains "OAI-SearchBot") and not (http.user_agent contains "Applebot") and not (cf.bot_management.verified_bot)
Características:
- Solicitudes: 100 solicitudes
- Período: 60 segundos
- Método de conteo: Contar por dirección IP
Acción: Bloquear durante 1 hora
Paso 3: Configurar Limitación de Tasa de Páginas de Contenido
Para páginas de contenido, implementa límites de tasa más generosos que acomoden patrones de lectura legítimos:
Nombre de la Regla: Limitación de Tasa de Páginas de Contenido
Expresión:
(http.request.uri.path contains "/blog/" or http.request.uri.path contains "/articles/") and not (http.user_agent contains "PerplexityBot") and not (http.user_agent contains "GPTBot") and not (http.user_agent contains "OAI-SearchBot") and not (http.user_agent contains "Google-Extended") and not (http.user_agent contains "Applebot") and not (cf.bot_management.verified_bot)
Características:
- Solicitudes: 300 solicitudes
- Período: 300 segundos (5 minutos)
- Método de conteo: Contar por dirección IP
Acción: Desafío Gestionado
Paso 4: Implementar Limitación de Tasa de Rastreadores Agresivos
Crea un límite de tasa estricto específicamente para rastreadores agresivos conocidos que no fueron bloqueados completamente:
Nombre de la Regla: Limitación de Rastreadores Agresivos
Expresión:
(http.user_agent contains "AhrefsBot") or (http.user_agent contains "SemrushBot") or (http.user_agent contains "MJ12bot") or (cf.bot_management.score lt 20 and not cf.bot_management.verified_bot)
Características:
- Solicitudes: 10 solicitudes
- Período: 60 segundos
- Método de conteo: Contar por dirección IP
Acción: Bloquear durante 24 horas
Paso 5: Monitorear y Ajustar Límites de Tasa
- Navega a Seguridad → Eventos para monitorear reglas activadas
- Revisa el Registro de actividad para falsos positivos que afecten tráfico legítimo
- Ajusta los umbrales de límite de tasa según los patrones de tráfico típicos de tu sitio
- Usa Analíticas → Seguridad para identificar patrones emergentes de scrapers
- Actualiza tu lista de permitidos trimestralmente a medida que surgen nuevos motores de búsqueda de IA
Configuración Avanzada: Verificación de Rango de IP
Las cadenas de user-agent pueden ser falsificadas, haciendo que la verificación de rango de IP sea un método de validación secundario esencial. Implementa estas reglas avanzadas para mayor seguridad:
Validación de Rango de IP de Bot Verificado
Crea una regla que requiera tanto user-agent correcto COMO verificación de rango de IP para contenido de alto valor:
(http.request.uri.path contains "/premium/") and ( (http.user_agent contains "GPTBot" and not cf.bot_management.verified_bot) or (http.user_agent contains "PerplexityBot" and not cf.bot_management.verified_bot) )
Acción: Desafío Gestionado
Esta regla desafía a rastreadores que afirman ser bots de IA legítimos pero no se originan desde rangos de IP verificados, protegiendo contenido premium de intentos de suplantación.
Mejores Prácticas de Monitoreo y Mantenimiento
La gestión efectiva de reglas WAF requiere monitoreo y ajuste continuos. Implementa estas mejores prácticas:
- Revisión Semanal: Verifica Eventos de Seguridad para tráfico legítimo bloqueado y ajusta las reglas en consecuencia
- Análisis Mensual: Revisa datos de Analíticas para identificar nuevos user-agents de rastreadores y patrones emergentes de scraping
- Actualizaciones Trimestrales: Actualiza tu lista de permitidos a medida que se lanzan nuevos motores de búsqueda de IA y los existentes modifican sus rastreadores
- Configuración de Alertas: Configura notificaciones de Cloudflare para picos inusuales en tráfico bloqueado
- Documentación: Mantén documentación interna de cambios de reglas y la justificación detrás de cada configuración
- Protocolo de Pruebas: Antes de implementar nuevas reglas en producción, pruébalas en modo "Registro" para identificar problemas potenciales
Coordinación con Robots.txt
Las reglas WAF deben complementar, no reemplazar, tus directivas robots.txt. Mantén un enfoque coordinado:
# Permitir rastreadores de IA beneficiosos User-agent: PerplexityBot Allow: / User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: Google-Extended Allow: / User-agent: Applebot Allow: / User-agent: anthropic-ai Allow: / # Bloquear scrapers agresivos User-agent: Bytespider Disallow: / User-agent: PetalBot Disallow: / User-agent: AhrefsBot Crawl-delay: 10 Disallow: /api/ User-agent: SemrushBot Crawl-delay: 10 Disallow: /api/
Consideraciones de Impacto en el Rendimiento
Las reglas WAF se ejecutan en cada solicitud, por lo que la optimización es crucial para mantener el rendimiento del sitio:
- Orden de Reglas: Coloca las reglas que coinciden con mayor frecuencia (reglas de permiso para rastreadores comunes) en mayor prioridad para reducir el tiempo de procesamiento
- Eficiencia de Expresiones: Usa coincidencia de cadenas simple (contains) en lugar de regex complejo cuando sea posible
- Consolidación de Reglas: Combina condiciones relacionadas en reglas únicas en lugar de crear múltiples reglas superpuestas
- Integración de Caché: Asegúrate de que las reglas WAF no interfieran con el almacenamiento en caché de Cloudflare evitando desafíos innecesarios en recursos cacheables
- Consideraciones Geográficas: Para contenido específico de región, agrega filtros geográficos para reducir la evaluación innecesaria de reglas
Preguntas Frecuentes
¿Por qué no debería usar la función de un clic "Bloquear Bots de IA" de Cloudflare?
El bloqueo global de bots de IA de Cloudflare es una herramienta indiscriminada que bloquea todos los rastreadores de IA, incluidos los beneficiosos como Perplexity, Búsqueda de ChatGPT y las funciones de IA de Google. Estas plataformas generan tráfico orgánico significativo y representan el futuro de la búsqueda. Bloquearlas hace que tu contenido sea invisible para millones de usuarios que dependen de herramientas de búsqueda impulsadas por IA. Las reglas WAF personalizadas te permiten permitir selectivamente motores de búsqueda de IA legítimos mientras bloqueas scrapers agresivos que no proporcionan valor.
¿Cómo verifico que mis reglas WAF funcionan correctamente?
Monitorea tus reglas a través del panel de Eventos de Seguridad de Cloudflare (Seguridad → Eventos). Esto muestra datos en tiempo real sobre qué reglas se están activando y qué tráfico están afectando. Comienza nuevas reglas en modo "Registro" en lugar de modo "Bloquear" para observar su comportamiento sin impactar el tráfico. Revisa el registro de actividad diariamente durante la primera semana después de implementar nuevas reglas para detectar falsos positivos. También puedes usar comandos curl con diferentes cadenas de user-agent para probar tus reglas manualmente.
¿Cuál es la diferencia entre las acciones "Bloquear" y "Desafío Gestionado"?
"Bloquear" niega inmediatamente el acceso sin oportunidad de que el visitante continúe, devolviendo un error 403 Prohibido. Esto es apropiado para bots maliciosos conocidos y scrapers agresivos. "Desafío Gestionado" presenta un desafío inteligente que los navegadores legítimos pueden pasar automáticamente mientras bloquea bots. El sistema de Cloudflare determina el tipo de desafío apropiado (invisible, desafío JavaScript o CAPTCHA) según las características de la solicitud. Usa Desafío Gestionado para tráfico sospechoso que podría incluir usuarios legítimos, y Bloquear para fuentes maliciosas confirmadas.
¿Con qué frecuencia debo actualizar mi lista de permitidos de rastreadores de IA?
Revisa y actualiza tu lista de permitidos trimestralmente como mínimo, ya que el panorama de búsqueda de IA evoluciona rápidamente. Nuevos motores de búsqueda de IA se lanzan regularmente, y los existentes pueden cambiar sus user-agents de rastreador o rangos de IP. Suscríbete a anuncios de las principales empresas de IA (OpenAI, Anthropic, Google, Perplexity) para mantenerte informado sobre cambios de rastreadores. Monitorea tu registro de Eventos de Seguridad para user-agents bloqueados que podrían ser nuevos rastreadores legítimos. Cuando se lancen productos importantes de búsqueda de IA (como Búsqueda de ChatGPT o nuevas funciones de IA de Google), actualiza tus reglas inmediatamente para mantener la visibilidad.
¿Pueden los rastreadores de IA legítimos falsificar sus user-agents para eludir mis reglas?
Aunque los user-agents pueden ser falsificados, las empresas de IA legítimas no participan en esta práctica ya que dañaría su reputación y violaría las directrices para webmasters. Sin embargo, actores maliciosos pueden falsificar user-agents de rastreadores legítimos. Por eso la verificación de rango de IP es crucial. Usa el campo cf.bot_management.verified_bot de Cloudflare, que valida que las solicitudes que afirman ser de bots conocidos realmente se originen desde rangos de IP verificados. Para contenido de alto valor, implementa reglas que requieran tanto user-agent correcto COMO rango de IP verificado. Esto previene la suplantación mientras permite rastreadores legítimos.
¿Qué límites de tasa son apropiados para rastreadores de IA?
Los rastreadores de IA legítimos típicamente respetan límites de tasa razonables y directivas crawl-delay. Para rastreadores beneficiosos como PerplexityBot y GPTBot, exímelos completamente de la limitación de tasa o establece límites muy generosos (1000+ solicitudes por 5 minutos). Estos rastreadores ya están diseñados para ser respetuosos y no abrumarán tu servidor. Para rastreadores SEO agresivos como AhrefsBot o SemrushBot, implementa límites estrictos (10-20 solicitudes por minuto) para prevenir el agotamiento de recursos. Monitorea la carga de tu servidor y ajusta los límites según la capacidad de tu infraestructura. Los endpoints de API deben tener límites más estrictos que las páginas de contenido.
¿Debería bloquear todos los user-agents de Python y curl?
Bloquear user-agents genéricos como "python-requests" o "curl" puede ser efectivo contra scrapers poco sofisticados, pero también puede bloquear herramientas automatizadas legítimas, servicios de monitoreo y scripts internos. En lugar de bloqueo general, usa un enfoque por capas: bloquea estos user-agents solo en endpoints sensibles (APIs, paneles de administración) mientras los permites en contenido público. Alternativamente, usa limitación de tasa en lugar de bloqueo directo: las herramientas legítimas respetarán los límites de tasa mientras que los scrapers agresivos activarán bloqueos. Considera implementar autenticación de clave API para acceso programático en lugar de depender únicamente del bloqueo de user-agent.
¿Cómo manejo los falsos positivos donde usuarios legítimos son bloqueados?
Los falsos positivos son inevitables con gestión agresiva de bots. Implementa un proceso claro de desbloqueo: crea una página dedicada explicando por qué ocurrió el bloqueo y proporcionando información de contacto para que usuarios legítimos soliciten desbloqueo. Usa "Desafío Gestionado" en lugar de "Bloquear" para casos límite, ya que esto permite a usuarios legítimos demostrar que son humanos. Monitorea tu panel de Eventos de Seguridad diariamente para patrones que indiquen falsos positivos (por ejemplo, bloqueos desde rangos de IP corporativos, regiones geográficas específicas o durante horas laborales). Mantén una lista blanca de rangos de IP conocidos buenos (tu oficina, redes corporativas importantes, proveedores de nube usados por servicios legítimos).
¿Cuál es el impacto de estas reglas WAF en mi factura de Cloudflare?
Las Reglas Personalizadas WAF están incluidas en los planes Pro de Cloudflare y superiores, con límites en el número de reglas que puedes crear (típicamente 10-100 dependiendo de tu plan). Las reglas en sí no incurren en cargos por solicitud: se evalúan como parte del procesamiento estándar de solicitudes de Cloudflare. Las reglas de Limitación de Tasa pueden tener precios separados en algunos planes. Las funciones de Gestión de Bots (cf.bot_management.score) requieren un plan Business o Enterprise. El impacto en el rendimiento es mínimo ya que la red edge de Cloudflare procesa estas reglas eficientemente. Los ahorros de costos por bloquear tráfico malicioso (ancho de banda reducido, carga del servidor y costos relacionados con scraping) típicamente superan con creces cualquier tarifa adicional de Cloudflare.
¿Cómo equilibro el acceso de rastreadores SEO con la protección contra scrapers?
Distingue entre rastreadores SEO legítimos (Googlebot, Bingbot) y herramientas SEO agresivas (AhrefsBot, SemrushBot). Siempre permite rastreadores de motores de búsqueda verificados: usa cf.bot_management.verified_bot para asegurar que sean legítimos. Para rastreadores de herramientas SEO, implementa limitación de tasa en lugar de bloqueo si encuentras sus datos útiles para análisis competitivo. Usa directivas crawl-delay de robots.txt para ralentizar rastreadores agresivos sin bloquearlos completamente. Para contenido premium o restringido, bloquea todos los rastreadores excepto motores de búsqueda verificados. Recuerda que los rastreadores de motores de búsqueda legítimos (Google, Bing) son esenciales para SEO tradicional, mientras que los rastreadores de búsqueda de IA (Perplexity, ChatGPT) son esenciales para visibilidad en búsqueda de IA: necesitas ambos.
¿Puedo usar estas reglas para crear un modelo de acceso API de pago?
Sí, las reglas WAF pueden hacer cumplir un modelo de acceso escalonado. Crea reglas que bloqueen todo acceso automatizado a endpoints específicos, luego emite claves API a clientes de pago e incluye sus rangos de IP en lista blanca o requiere encabezados de autenticación. Usa Cloudflare Workers en combinación con reglas WAF para autenticación más sofisticada. Implementa niveles de limitación de tasa según el nivel de suscripción: el nivel gratuito obtiene 100 solicitudes/hora, el nivel de pago obtiene 10,000 solicitudes/hora. Para empresas de IA que deseen entrenar con tu contenido, puedes permitir selectivamente sus rastreadores a secciones específicas mientras requieres acuerdos comerciales para contenido premium. Este enfoque es cada vez más común a medida que los editores buscan monetizar el acceso a datos de entrenamiento de IA.
¿Qué debo hacer si se lanza un nuevo motor de búsqueda de IA?
Cuando se lance un nuevo motor de búsqueda de IA, investiga su documentación de rastreador para identificar su cadena de user-agent y rangos de IP. La mayoría de las empresas de IA legítimas publican esta información en su documentación de robots.txt o páginas de desarrolladores. Agrega su user-agent a tu lista de permitidos dentro de 24-48 horas del lanzamiento para asegurar que tu contenido sea indexado temprano. Monitorea Eventos de Seguridad para ver si su rastreador está siendo bloqueado por reglas existentes. Considera la reputación de la empresa y el valor potencial de tráfico antes de permitir su rastreador: no todos los motores de búsqueda de IA generarán tráfico significativo. Únete a comunidades y foros de webmasters donde se discuten lanzamientos de nuevos rastreadores para mantenerte informado sobre plataformas emergentes.