Infrastructure and SEO

Cloudflare bloquea los rastreadores de IA por defecto: cómo arreglarlo sin romper la seguridad

Desde el 1 de julio de 2025, todo dominio nuevo en Cloudflare bloquea a GPTBot, ClaudeBot, PerplexityBot y compañía. Así se reactivan de forma selectiva los que te citan.

2 de mayo de 202611 min de lectura
Cloudflare bloquea los rastreadores de IA por defecto: cómo arreglarlo sin romper la seguridad

La regla gestionada "Block AI bots" de Cloudflare es una WAF managed rule que devuelve un bloqueo duro a los user agents de IA conocidos (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Google-Extended y el resto de la lista) en cada zona nueva creada después del 1 de julio de 2025. La regla se introdujo con el anuncio Content Independence Day de Cloudflare y se aplica a aproximadamente el 20% de la web pública que vive detrás de la red Cloudflare.

El efecto colateral es la parte que la mayoría de los equipos pasa por alto. "Block AI bots" no distingue entre rastreadores de entrenamiento y rastreadores de recuperación. Bloquea los dos. Si OAI-SearchBot no llega a tus páginas, ChatGPT Search deja de citarte. Si PerplexityBot está bloqueado, Perplexity deja de citarte. Si Google-Extended está bloqueado, las AI Overviews de Google pierden tu contenido como fuente de grounding. El default que protege tus datos de entrenamiento también te desaloja de la superficie de respuestas IA en la que estás invirtiendo.

Este artículo recorre qué se bloquea, cómo verificar el estado actual de tu zona y cómo permitir selectivamente los rastreadores de recuperación a través de Cloudflare sin desmontar tu postura de seguridad. Asumimos que estás corriendo en una zona Cloudflare reciente con el nivel WAF estándar (gratis o de pago; los pasos difieren ligeramente para clientes de Bot Management).

Lo que tendrás al final

Una configuración Cloudflare donde los rastreadores de recuperación (OAI-SearchBot, PerplexityBot, Google-Extended, ClaudeBot para citas) llegan a tus páginas, los rastreadores de entrenamiento (GPTBot si no quieres que OpenAI entrene con tu contenido, CCBot, Bytespider) siguen bloqueados, y tu defensa contra scrapers no verificados queda intacta. Además visibilidad sobre lo que realmente llega al sitio, así la configuración se guía por datos y no por intuiciones.

Lo que Cloudflare bloquea hoy

La managed rule "Block AI bots" cubre una lista pública de user agents de IA conocidos. Según la documentación AI Crawl Control de Cloudflare, la regla apunta al menos a: Amazonbot, Applebot, Bytespider (ByteDance), CCBot (Common Crawl), ClaudeBot (Anthropic), DuckAssistBot, Google-CloudVertexBot, GoogleOther, GPTBot (OpenAI), Meta-ExternalAgent, OAI-SearchBot, PerplexityBot, PetalBot (Huawei), TikTokSpider, más bots no verificados con huellas similares.

La lista mezcla tres categorías de comportamiento en una sola acción de bloqueo.

  • Rastreadores de entrenamiento. GPTBot, CCBot, Bytespider, Meta-ExternalAgent. Su trabajo es recoger contenido para corpus de entrenamiento. Bloquearlos suele ser una intención explícita.
  • Rastreadores de recuperación. OAI-SearchBot, PerplexityBot, ClaudeBot (cuando se usa para retrieval), Google-Extended, Applebot. Su trabajo es ir a buscar páginas bajo demanda para fundar una respuesta IA en tiempo real con citas. Bloquearlos te elimina de la respuesta.
  • Agentes guiados por el usuario. ChatGPT-User, Perplexity-User, Claude-User. Se disparan cuando un humano pega una URL en un chat o cuando un agente IA actúa en nombre de un usuario final. Según el informe de Cloudflare de diciembre de 2025, esta categoría creció 15 veces año contra año. Bloquearlos le dice a los asistentes IA de tus visitantes que tu sitio se niega a ser resumido.

La distinción importa. Un sitio de marketing SaaS que quiere ser citado por ChatGPT Search y Perplexity pero no quiere que OpenAI entrene con su contenido tiene que descomponer un paquete que Cloudflare envía como un único interruptor.

Paso 1: verificar el estado actual de la zona

Antes de cambiar nada, mira qué se está bloqueando realmente.

Abre el panel de Cloudflare, elige la zona y navega a SecurityBots. Busca "Block AI bots" en el panel de configuración. Si el toggle está activado (default para zonas creadas después del 1 de julio de 2025), cada bot de la lista recibe un bloqueo duro en el perímetro.

Después ve a AI Crawl Control en la navegación lateral. Se renombró desde "AI Audit" a principios de 2026 y ahora está en disponibilidad general en todos los planes. La pestaña Crawlers muestra una tabla en tiempo real de qué servicios IA han pedido tu contenido en las últimas 24 horas, divididos por user agent, conformidad con robots.txt y qué secciones del sitio han tocado. Los datos contestan a una pregunta que la mayoría de los equipos nunca se ha hecho: ¿quién está intentando leerme y lo echaría de menos si me quedase bloqueado?

Si la tabla está vacía, no significa que no esté pasando nada. Significa que la regla Block AI bots cerró la puerta antes de que ningún rastreador llegara más allá del perímetro. Mete la regla en una ventana de observación de 24 horas (ponla en "Allow" temporalmente, o muévela debajo de una custom rule que loguee en lugar de bloquear), después vuelve y lee la tabla.

Paso 2: elegir los bots que quieres permitir

La lista se reduce a dos respuestas.

Para citas y visibilidad en búsqueda IA, permite al menos:

  • OAI-SearchBot (recuperación de ChatGPT Search)
  • PerplexityBot (citas de Perplexity)
  • Google-Extended (AI Overviews de Google y grounding de Gemini)
  • ClaudeBot si quieres que la función web de Claude.ai te cite
  • Applebot para Apple Intelligence

Para entrenamiento, decide vendor por vendor. Si publicas contenido de referencia que quieres citado pero no memorizado en bloque (un playbook típico SaaS), mantén bloqueados los rastreadores de entrenamiento: GPTBot, CCBot, Bytespider, Meta-ExternalAgent, Google-CloudVertexBot. Si publicas contenido que activamente quieres en los modelos foundation, permítelos.

Para los agentes guiados por el usuario, permite. ChatGPT-User y Perplexity-User se disparan cuando un humano pega tu URL o cuando un agente IA va a buscar la página para responder a un prompt específico. Bloquearlos equivale funcionalmente a bloquear las visitas de los usuarios logueados de esos productos.

Paso 3: escribir una custom rule WAF que sobrescriba la managed rule

El WAF de Cloudflare evalúa las reglas en un orden definido. Según la documentación de WAF custom rules, las custom rules se evalúan antes que las managed rules. Así que una custom rule "Skip" sobre un user agent específico corre primero, la petición evita la managed rule Block AI bots y el bot llega al origin.

En el panel de Cloudflare ve a SecurityWAFCustom rules y crea una regla con esta expresión (pégala en el campo "Edit expression" del editor):

(http.user_agent contains "OAI-SearchBot") or (http.user_agent contains "PerplexityBot") or (http.user_agent contains "ChatGPT-User") or (http.user_agent contains "Perplexity-User") or (http.user_agent contains "Google-Extended") or (http.user_agent contains "Applebot") or (http.user_agent contains "ClaudeBot")

Pon la acción en Skip, y en la configuración de Skip marca las casillas WAF Managed Rules, Bot Fight Mode y Block AI bots. Guarda y despliega.

Lo que hace: cuando una petición coincide con uno de estos user agents, Cloudflare salta las protecciones listadas y la petición sigue al origin. Otras custom rules, el rate limiting por IP y las funciones de seguridad fuera de la lista de skip siguen aplicándose, así que un atacante no puede simplemente falsear User-Agent: PerplexityBot y saltarse todo.

Paso 4: verificar con identidad criptográfica, no con cadenas user-agent

El header user-agent es una cadena que controla el cliente. Cualquiera puede ponerla en OAI-SearchBot y fingir ser ChatGPT Search. La cura compartida es Web Bot Auth, un borrador IETF que Cloudflare implementa en el perímetro y que cada vez más vendors IA adoptan.

Según el despliegue de Web Bot Auth de Cloudflare, los bots bien configurados ahora firman sus peticiones HTTP con una clave Ed25519. La petición lleva los headers Signature-Agent, Signature-Input y Signature. Cloudflare valida la firma contra la directorio de claves publicado del bot y solo marca la petición como rastreador IA verificado cuando la firma es válida.

Para tu custom rule, eso se traduce en una expresión más defendible que combina user agent, la categoría de bots verificados de Cloudflare y la presencia de la firma criptográfica. Los nombres exactos de los campos dependen del plan (Bot Management de pago o tier gratuito); en Bot Management tienes cf.verified_bot_category, y la regla más limpia queda:

(cf.verified_bot_category in {"AI Crawler" "Search Engine Crawler"}) and (http.user_agent contains "OAI-SearchBot" or http.user_agent contains "PerplexityBot" or http.user_agent contains "Google-Extended" or http.user_agent contains "ClaudeBot" or http.user_agent contains "Applebot")

Esta regla solo permite los user agents listados cuando Cloudflare los ha verificado criptográficamente. Una petición falsificada que pone la cadena user-agent correcta pero no produce una firma válida se trata como bot no verificado y vuelve a las protecciones por defecto.

Paso 5: mantener fuera a los rastreadores de entrenamiento también vía robots.txt

Si decidiste mantener bloqueados a GPTBot, CCBot, Bytespider y compañía, hazlo en dos capas, no en una. El bloqueo en el perímetro Cloudflare es la línea dura. Tu robots.txt es la línea cortés, y la mayoría de los rastreadores de recuperación la respetan (los datos de Cloudflare muestran que ChatGPT-User deja de ir a buscar cuando robots.txt lo prohíbe; Perplexity, según el informe de incidente de Cloudflare de agosto de 2025, no).

Un public/robots.txt defendible para un sitio SaaS que quiere las citas pero no el entrenamiento:

User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: Meta-ExternalAgent
Disallow: /

User-agent: Google-CloudVertexBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: Perplexity-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: Applebot
Allow: /

User-agent: *
Allow: /

La política dual (skip rule de WAF Cloudflare + robots.txt allow) es lo que vuelve defendible el sistema. La regla WAF deja pasar físicamente la petición. La directiva robots.txt le dice al rastreador educado que es bienvenido. Las dos capas comunican la misma intención en protocolos distintos.

Verificar que funciona

Dos checks en 10 minutos.

El check sintético. Desde una máquina fuera de la red Cloudflare, lanza una petición con el header user-agent puesto:

curl -A "Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)" -I https://tudominio.com/

Tienes que ver HTTP 200, no 403. Repite con GPTBot si bloqueaste los rastreadores de entrenamiento; tienes que ver 403. Nota: esto solo prueba la capa user-agent. Un bot firmado real lleva además headers de verificación que tu curl sintético no tiene.

El check de tráfico real es más honesto. Después de 24-48 horas, vuelve a AI Crawl Control en el panel y confirma: OAI-SearchBot, PerplexityBot y ClaudeBot ahora aparecen en la pestaña Crawlers con conteos no nulos y estado "allowed"; GPTBot, CCBot y Bytespider muestran "blocked". Si la lista de allowed está vacía después de 48 horas en un sitio con tráfico orgánico, tu expresión de custom rule está mal; revisa los nombres de campos y el operador (contains es case-sensitive).

Failure modes comunes y arreglos

Custom rule desplegada pero los bots siguen bloqueados. Dos causas: la expresión tiene un typo (lo más común http.user_agent eq cuando querías contains); o la acción Skip no incluye la casilla "Block AI bots", solo "Bot Fight Mode". Reabre la regla, baja hasta la configuración Skip y marca las tres casillas (Managed Rules, Bot Fight Mode, Block AI bots).

Los bots permitidos pasan pero les sale CAPTCHA. Super Bot Fight Mode está retando por rate al tráfico "likely automated" antes de que tu custom rule se aplique, pero solo si el orden de las reglas está mal. En el panel, arrastra tu custom rule a la cima de la lista de WAF rules. El orden cuenta también entre custom rules.

Permitiste PerplexityBot y Cloudflare bloquea Perplexity igual por reputación de empresa. En agosto de 2025 Cloudflare quitó a Perplexity del Verified Bots Program por el incidente del rastreador encubierto. A inicios de 2026 Perplexity está en rehabilitación gradual, pero algunas zonas siguen heredando un bloqueo de reputación a nivel de red. Revisa la status page de Cloudflare y el changelog de AI Crawl Control antes de asumir que tu regla está rota.

Permitiste ClaudeBot pero Claude.ai sigue sin leer la página. ClaudeBot es el user agent para crawling, pero la función de búsqueda web de Claude usa una ruta de fetch distinta. El user-agent para queries de Claude guiadas por el usuario está en transición; permite también Claude-User y Claude-SearchBot en la misma regla junto a ClaudeBot para cubrir todos los rastreadores Anthropic actuales y los próximos.

El tráfico se dispara desde un solo bot. Los rastreadores IA pueden ser pesados. Si un solo bot permitido genera más del 5% de las peticiones al origin, añade un rate limit por IP (Cloudflare WAF → Rate Limiting Rules) de, digamos, 60 peticiones por minuto sobre las peticiones donde http.user_agent contains "PerplexityBot". El bot sigue recibiendo contenido fresco, el origin no recibe martillazos.

Ir más allá

El interruptor único está desapareciendo. El sistema pay-per-crawl de Cloudflare, actualmente en beta privada y desplegándose hacia disponibilidad general durante 2026, deja a los sitios devolver HTTP 402 Payment Required con un header crawler-price, y deja a los vendors IA decidir al vuelo si pagan el fetch. La economía pasa de "bloquear o permitir" a "poner precio por tipo de contenido". Cuando se despliegue de forma amplia, la managed rule Block AI bots se convierte en el suelo, no en el techo, de tu política de tráfico IA.

Si estás configurando esto en una zona nueva, acompáñalo de un fichero /llms.txt que diga a los rastreadores IA educados qué páginas consideras canónicas. La regla WAF controla el acceso; llms.txt controla qué ven primero cuando entran. La combinación es lo que lleva a un sitio recién nacido a ser citado en semanas en lugar de meses.

Foto de Nauris Ranga en Unsplash

Preguntas frecuentes

Will I lose AI citations forever if I leave Cloudflare's default block on?
Not forever, but immediately and continuously. Retrieval crawlers like OAI-SearchBot and PerplexityBot fetch a page each time a user asks a question whose answer might cite you. If they get a 403 every time, the answer is grounded on a competitor's page that did let them in. The damage compounds the longer the block stays on, because AI engines also build internal preference signals from successful past fetches.
Is allowing AI crawlers a security risk?
On its own, no, because Cloudflare's WAF Skip action only bypasses the specific protections you list. IP rate limiting, custom WAF rules, and managed rules outside the skip list still run. The risk is user-agent spoofing: anyone can set a user-agent to PerplexityBot. The fix is to combine the user-agent check with cf.verified_bot_category on Bot Management or, on free plans, to keep aggressive rate limits on the allowed user agents.
Why does Cloudflare block all AI bots by default instead of asking?
Cloudflare's reasoning is that scraper traffic was overwhelming origin servers and most site owners had no visibility into the trade-off. The default block is a safety net for the silent majority. The dashboard plus AI Crawl Control then exists to let informed teams flip individual switches once they understand what they are giving up. The default is conservative, not absolute.
Do I still need llms.txt and a sitemap if I configure the WAF correctly?
Yes, because the WAF only controls access. Once a crawler is in, llms.txt tells it which pages you consider canonical, and a sitemap tells it the full set of URLs you want indexed. Without both, an allowed crawler may still spend its budget on shallow or duplicate pages and miss the content you most want cited.

Studio

Empieza un proyecto.

Un partner único para empresas, sector público, startups y SaaS. Producción más rápida, tecnología moderna, costes reducidos. Un equipo, una factura.