ai
El robots.txt gestionado por Cloudflare bloquea los rastreadores de IA
Cloudflare puede inyectar su propio bloque de robots.txt por encima de tus reglas. MetricSpot comprueba si ese bloque gestionado bloquea a GPTBot o ClaudeBot, aunque tu propio archivo los permita.
Qué comprueba esta auditoría
Busca los marcadores con los que Cloudflare envuelve las directivas que inyecta en /robots.txt:
# BEGIN Cloudflare Managed content
User-agent: *
Content-Signal: search=yes,ai-train=no,use=reference
Allow: /
User-agent: ClaudeBot
Disallow: /
User-agent: GPTBot
Disallow: /
# END Cloudflare Managed Content
# Your own rules start here
User-agent: GPTBot
Allow: /
La sección gestionada se evalúa por separado. La comprobación falla cuando contiene Disallow: / para GPTBot o ClaudeBot. Tus propias reglas, debajo del marcador, las evalúa aparte Permite los rastreadores de IA, así que los dos hallazgos te dicen exactamente qué capa está bloqueando.
La comprobación solo aparece cuando existen los marcadores. Los sitios que no usan el robots.txt gestionado de Cloudflare nunca la ven.
Por qué importa
La opción “Manage AI bots’ robots.txt” de Cloudflare (dentro de AI Crawl Control) reescribe el archivo que sirve tu servidor. Antepone un bloque que:
- declara
Content-Signal: ai-train=nopara todos los rastreadores, una reserva de derechos según la directiva europea de copyright - añade
Disallow: /para GPTBot, ClaudeBot, CCBot, Google-Extended, Bytespider, Amazonbot y otros
Muchos propietarios lo activan por el Content Signal y no se fijan en las líneas Disallow. Luego añaden Allow: / más abajo y dan por hecho que gana. No lo hace de forma fiable: los parsers de robots.txt combinan los grupos de forma distinta, varios rastreadores toman el primer grupo que coincide, y Cloudflare normalmente bloquea además esos mismos bots en el borde (ver Rastreadores de IA bloqueados en el borde).
El resultado es un robots.txt que dice una cosa arriba y la contraria abajo. Esta comprobación hace visible la mitad de arriba.
Cómo solucionarlo
- Abre tu dominio en el panel de Cloudflare y entra en AI Crawl Control (cuentas antiguas: Security → Bots).
- Desactiva Manage AI bots’ robots.txt. El bloque inyectado desaparece en unos minutos y se sirve tu archivo tal cual.
- Si quieres conservar la línea
Content-Signal, deja la opción activada y pon GPTBot y ClaudeBot en Allow en la lista de rastreadores. Cloudflare quita entonces sus líneasDisallowdel bloque gestionado. - Revisa también el borde: la misma pantalla controla si esos rastreadores reciben un 403 antes de llegar a leer robots.txt.
Verificar
curl -s https://tudominio.com/robots.txt | sed -n '/BEGIN Cloudflare/,/END Cloudflare/p'
Si el bloque ha desaparecido, o ya no lista GPTBot y ClaudeBot bajo Disallow: /, vuelve a lanzar la auditoría.
Preguntas frecuentes
Nunca he editado robots.txt. ¿De dónde sale este bloque?
De Cloudflare, no de tu CMS. Todo lo que hay entre # BEGIN Cloudflare Managed content y # END Cloudflare Managed Content se genera en el borde y nunca toca el archivo de tu servidor.
¿Un Allow: / más abajo lo anula?
No de forma fiable. El RFC 9309 dice que, al combinar grupos, un Allow y un Disallow equivalentes deberían resolverse como Allow, pero no todos los rastreadores combinan grupos, y el bloque de Cloudflare va primero. Elimina el conflicto en vez de confiar en el comportamiento del parser.
¿La línea Content-Signal es perjudicial?
No. ai-train=no es una reserva de derechos, no un bloqueo. Puedes mantenerla y aun así permitir que GPTBot y ClaudeBot rastreen para búsqueda y citas.
Fuentes
Última actualización 2026-09-04