robots.txt para rastreadores de IA: la regla que rompe casi todos los archivos
Un robots.txt para rastreadores de IA nombra a cada rastreador y define qué puede recoger. Casi todos los archivos fallan por una regla: un grupo con nombre y User-agent: * nunca se combinan.

Un robots.txt para rastreadores de IA es un archivo de texto plano que nombra a cada rastreador y define qué puede recoger. El archivo no se rompe por la sintaxis. Se rompe por esto: un rastreador que encuentra su propio nombre deja de leer tus reglas User-agent: *. Agrega una línea para GPTBot y todas las reglas escritas para los demás pueden dejar de aplicarse a él.
Lee esto antes de editar
Este capítulo asume que los rastreadores de IA ya llegan a tu servidor. Si no lo confirmaste, hazlo antes de tocar el archivo: un robots.txt lleno de líneas Allow no prueba nada cuando el rechazo ocurre una capa arriba de tu sitio. La versión de dos minutos está en verificar si la IA puede leer tu sitio.
Qué puede y qué no puede hacer un robots.txt para rastreadores de IA
Declara una intención. Es un archivo que los rastreadores eligen leer y obedecer, y por sí solo no aplica nada. Los rastreadores de IA que respetan las reglas lo leen. Tu CDN, tu firewall y tu servidor de origen son los que deciden si los bytes vuelven, y ninguno de ellos lee este archivo.
robots.txt decide qué permites. Nunca decide qué sirves.
La regla que rompe casi todos los archivos
Un rastreador obedece exactamente un grupo de reglas: el que lo nombra con mayor precisión. No vuelve al grupo general para lo que ese grupo específico dejó fuera. La especificación de Google lo dice sin rodeos: «Only one group is valid for a particular crawler», y «User agent specific groups and global groups (*) are not combined.»
Por eso este archivo no hace lo que parece:
User-agent: *
Disallow: /admin/
Disallow: /cart/
User-agent: GPTBot
Disallow: /drafts/
Si lo lee una persona, GPTBot queda fuera de tres carpetas. Si lo lee GPTBot, solo existe una línea: /drafts/. Tus rutas de administración y carrito volvieron a estar disponibles en el momento en que escribiste el segundo grupo. Nada te avisa, y el archivo sigue siendo válido.
La solución es repetir cada regla compartida dentro de cada grupo con nombre. La repetición parece un error y es correcta.
User-agent: GPTBot
Disallow: /admin/
Disallow: /cart/
Disallow: /drafts/
Clasifica los rastreadores en tres niveles antes de escribir
La decisión no es por rastreador, sino por trabajo. Tres trabajos, tres respuestas. Los rastreadores de búsqueda alimentan las respuestas que la gente ve esta semana: si los bloqueas, sales de esas respuestas. Los de entrenamiento alimentan modelos que se lanzan después. Los fetchers que dispara una persona corren porque alguien hizo una pregunta ahora.
| Nivel | Tokens | Trabajo | Costo de bloquear |
|---|---|---|---|
| Permitir | OAI-SearchBot, PerplexityBot, Claude-SearchBot, Meta-WebIndexer, Googlebot, bingbot | Indexar para búsqueda y respuestas | Salir del pool de fuentes correspondiente |
| Tú decides | GPTBot, ClaudeBot, Meta-ExternalAgent, CCBot | Entrenar modelos o archivar | Sin efecto en las respuestas de hoy |
| Tokens de control | Google-Extended, Applebot-Extended | Decidir el uso de contenido ya recogido | Sin efecto en indexación ni ranking |
| No confiar | ChatGPT-User, Perplexity-User, Claude-User, Meta-ExternalFetcher | Recoger una página pedida por alguien | Puede ignorar robots.txt |
Los tokens y sus usos vienen de los propios operadores: OpenAI, Perplexity, Anthropic, Google, Apple, Meta y Common Crawl. Revísalos antes de copiar algo: esta lista cambia.
Un robots.txt para rastreadores de IA que puedes copiar
Esta es la forma «permitir búsqueda, decidir entrenamiento». Cambia las dos rutas privadas por las tuyas y elimina el grupo de entrenamiento si prefieres que te entrenen.
# Rastreadores de búsqueda y respuestas — permitidos, salvo rutas privadas
User-agent: Googlebot
User-agent: bingbot
User-agent: OAI-SearchBot
User-agent: PerplexityBot
User-agent: Claude-SearchBot
User-agent: Meta-WebIndexer
Disallow: /admin/
Disallow: /cart/
# Entrenamiento de modelos — rechazado. Elimina este grupo para permitirlo.
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Meta-ExternalAgent
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /
# Todos los demás
User-agent: *
Disallow: /admin/
Disallow: /cart/
Sitemap: https://example.com/sitemap.xml
Las líneas User-agent apiladas comparten un solo juego de reglas, así que cada bloque de arriba es un grupo, no seis. Las rutas privadas están escritas dos veces a propósito: es la repetición que pide la sección anterior.
Dos líneas de ese archivo no son rastreadores
Google-Extended y Applebot-Extended nunca envían una petición a tu servidor. Son tokens de control: cambian cómo puede usarse un contenido que otro rastreador ya recogió. No hay tráfico que observar ni prueba en vivo que confirme que tu ajuste funcionó.
Mucha gente los lee como riesgos de posicionamiento, y los dos operadores dicen lo contrario por escrito. Google: Google-Extended «does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search». Apple: Applebot-Extended «does not crawl webpages», y «webpages that disallow Applebot-Extended can still be included in search results».
Lo que robots.txt no va a detener
Los fetchers que corren porque una persona pidió algo son otra categoría, y al menos un operador dice claramente que ignora tu archivo. La documentación de Perplexity sobre Perplexity-User: «Since a user requested the fetch, this fetcher generally ignores robots.txt rules.»
La postura honesta es que el nivel de abajo de la tabla no está bajo tu control con este archivo. Si una página no debe recogerse a demanda, robots.txt es la herramienta equivocada: la autenticación es la correcta. No medimos con qué frecuencia llegan estos fetchers, y no confiaríamos en una cifra que no saliera de nuestros propios registros.
Tres formas de equivocarse
Las tres son silenciosas. El archivo sigue válido, ninguna herramienta reporta un error, y el daño aparece después como tráfico que nunca llega.
- Bloquear
GPTBotesperando que ChatGPT desaparezca. GPTBot es el rastreador de entrenamiento. Lo que decide si ChatGPT puede citarte hoy esOAI-SearchBot. Bloquear el primero y dejar abierto el segundo es una decisión coherente; confundirlos no lo es. - Agregar un grupo con nombre y perder las reglas compartidas. El fallo de la tercera sección. Después de cada edición, vuelve a leer el archivo una vez por rastreador con nombre y pregunta qué ve ese rastreador solo.
- Editar el archivo en el host equivocado. Las reglas solo aplican al host, protocolo y puerto que las sirven, así que
https://example.com/robots.txtno gobierna nada enhttps://www.example.com. Si los dos nombres responden, los dos necesitan un archivo.
Preguntas frecuentes
¿Bloquear Google-Extended afecta mi ranking en Google?
No, y Google lo dice directamente: «does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search». Solo gobierna el entrenamiento de los modelos Gemini.
¿Un Disallow quita contenido ya usado para entrenamiento?
No. Todas estas directivas miran hacia adelante. Gobiernan recogidas futuras, no datos recogidos antes de que escribieras la línea.
¿Cada cuánto reviso el archivo?
Cuando aparece un rastreador nuevo —Meta-WebIndexer es bastante reciente, y la mayoría de los ejemplos publicados son anteriores— y después de cualquier migración de plataforma, porque un host nuevo trae su propio archivo por defecto.
Siguiente paso
Tu archivo ya dice lo que quieres decir. Si tu servidor está de acuerdo es otra pregunta, y el desacuerdo habitual es un CDN que rechaza rastreadores que tu robots.txt recibe. Ese es el capítulo siguiente, y es la razón más frecuente por la que un sitio con un archivo perfecto sigue invisible.
Editar un archivo es la mitad barata. Lograr que un cambio se escriba, se publique y se empuje para indexación es donde la mayoría de los sitios se traba.
Forma parte de la guía de QueryWin · Nivel 1


