robots.txt e IA: bloquear GPTBot no bloquea ChatGPT
En 2023, cuando OpenAI publicó el nombre de su robot de entrenamiento, miles de sitios añadieron dos líneas a su fichero robots.txt: User-agent: GPTBot y después Disallow: /. Muchos creen desde entonces que ChatGPT ya no puede leer sus páginas. Es falso, y la confusión viene de una realidad que los operadores de IA documentan con claridad: no envían un robot, sino varios, cada uno con una función y un token distintos. Bloquear uno no bloquea los demás.
Varios robots, varias funciones, en cada operador
En OpenAI, según su documentación de los robots:
- GPTBot recopila páginas que pueden servir para entrenar los modelos. Es el único cuyo bloqueo protege frente al uso en entrenamiento.
- OAI-SearchBot alimenta el índice de la búsqueda integrada en ChatGPT. Bloquearlo retira sus páginas de los resultados de búsqueda de ChatGPT y, por tanto, de las citas que se derivan de ellos.
- ChatGPT-User va a buscar una página concreta cuando un usuario lo pide en una conversación, por ejemplo pegando una URL o planteando una pregunta que desencadena una lectura. No recorre la web por su cuenta.
Anthropic aplica la misma separación, descrita en su página de ayuda dedicada a los robots: ClaudeBot para el entrenamiento, Claude-SearchBot para el índice de búsqueda y Claude-User para las recuperaciones pedidas por un usuario. Perplexity documenta PerplexityBot (índice) y Perplexity-User (recuperación a petición) en su documentación de los crawlers.
Google y Apple: un token de control separado del robot
Google funciona de otra manera. Googlebot sigue siendo el único robot que explora las páginas para la búsqueda, y son esas mismas páginas las que alimentan los AI Overviews. El control del uso en entrenamiento pasa por un token distinto, Google-Extended, que no es un robot, sino una directiva que lee Googlebot, como explica la lista de crawlers habituales de Google. Google precisa que ese token no cambia nada en la indexación de las páginas. Apple procede igual con Applebot-Extended, token documentado en su artículo de asistencia sobre Applebot, que controla el uso en entrenamiento sin tocar a Applebot mismo.
A esta lista hay que añadir CCBot, el robot de Common Crawl, cuyos archivos abiertos han servido de materia prima a numerosos modelos. Bloquear CCBot es la palanca más amplia contra el entrenamiento por parte de actores que no tienen robot propio.
La tabla de los tokens, y lo que implica cada bloqueo
| Token robots.txt | Operador | Función | Si se bloquea |
|---|---|---|---|
| GPTBot | OpenAI | Entrenamiento | Ningún uso en entrenamiento, la cita sigue siendo posible |
| OAI-SearchBot | OpenAI | Índice de búsqueda de ChatGPT | Sus páginas desaparecen de los resultados y las citas de ChatGPT |
| ChatGPT-User | OpenAI | Lectura a petición de un usuario | Un usuario ya no puede hacer leer su página en una conversación |
| ClaudeBot / Claude-SearchBot / Claude-User | Anthropic | Las tres mismas funciones | Las mismas consecuencias, del lado de Claude |
| PerplexityBot / Perplexity-User | Perplexity | Índice / lectura a petición | Desaparición de las respuestas de Perplexity / lectura imposible |
| Google-Extended | Token de control del entrenamiento de Gemini | Ningún efecto sobre la búsqueda ni sobre los AI Overviews | |
| Applebot-Extended | Apple | Token de control del entrenamiento | Ningún efecto sobre Applebot (Siri, Spotlight) |
| CCBot | Common Crawl | Archivo abierto | Retirada de los futuros archivos, no de los antiguos |
Lo que robots.txt puede y no puede hacer
El protocolo está hoy normalizado por la RFC 9309. Tres de sus reglas explican la mayor parte de las sorpresas:
- El fichero solo se lee en la raíz del host. Es el host y no el dominio: un robots.txt servido en ejemplo.com no gobierna blog.ejemplo.com, que es un host distinto. Un robots.txt colocado en un subdirectorio, por ejemplo bajo una ruta /blog/ alojada en otro sitio, nunca se consulta. Las directivas que contiene, incluidas las declaraciones de sitemap, son invisibles para todos los robots. En un medio montado como subruta de un sitio principal, el que vale es el robots.txt del sitio principal.
- El grupo más específico gana, y sustituye al grupo genérico. Un grupo User-agent: GPTBot que solo contiene Disallow: / no hereda las reglas del grupo User-agent: *. Si el grupo genérico prohibía facetas o ficheros, el robot nombrado vuelve a tener acceso a ellos. Es un error frecuente cuando se van apilando grupos por robot a lo largo de los meses.
- El fichero es una indicación, no una barrera. Los operadores citados aquí declaran respetarlo. Quien no declara su nombre escapa a cualquier regla nominal. Para bloquear de verdad hay que actuar en el servidor o en el cortafuegos, con los efectos secundarios que describimos en el artículo sobre el punto ciego de los bloqueos en el edge.
Qué política elegir
La decisión es editorial antes que técnica. Hay tres posturas defendibles:
- Abrirlo todo. El sitio acepta el entrenamiento y la cita. Es la postura por defecto de un medio que busca visibilidad, incluso dentro de los propios modelos.
- Rechazar el entrenamiento, aceptar la cita. Se bloquean GPTBot, ClaudeBot y CCBot y se prohíben Google-Extended y Applebot-Extended, dejando pasar OAI-SearchBot, Claude-SearchBot, PerplexityBot y los robots «User». Es la postura de un editor que quiere ser citado sin alimentar gratis a los modelos.
- Cerrarlo todo. El sitio renuncia a la visibilidad en las IA. Es defendible para una intranet o un contenido de pago, no para un medio que quiere pesar en una SERP o en una respuesta generada.
La segunda postura está extendida entre los editores de prensa, y a menudo mal aplicada: en la práctica, muchos prohibieron de un solo gesto todo lo que contuviera «GPT» o «Claude», y por tanto también los robots de búsqueda y de lectura. El resultado es un sitio ausente de las respuestas generadas, sin que nadie del equipo lo haya decidido.
Comprobar en lugar de suponer
El control se resume en dos gestos. Primero, releer el fichero robots.txt tal como se sirve en la raíz, token a token, con la tabla anterior delante. Después, abrir los logs del servidor para ver qué robots vienen realmente, con qué frecuencia, y cuáles reciben un código 403 o 404. Un robot de IA que nunca figura en los logs no está forzosamente ausente: ha podido ser detenido antes por un cortafuegos, sin llegar al servidor. Esa comprobación se describe paso a paso en «Leer un access log en 30 minutos».
Para la parte de Google, Search Console ofrece un informe de robots.txt que muestra la última versión leída por Googlebot, su fecha de recuperación y los posibles errores de análisis; la presentación de robots.txt por Google describe su uso. Para los demás operadores no existe equivalente: son los logs los que valen, y una prueba manual con el user-agent de cada robot sigue siendo la manera más segura de comprobar qué responde realmente el servidor.
Un medio que quiere ser citado no puede confiarse a un fichero escrito hace dos años. Los tokens cambian, los robots se multiplican, y una línea añadida por precaución un día de 2023 puede costar toda la presencia en las respuestas de las IA en 2026.
Escrito por
Yann Léguillon
Presidente de Mazette, la editora de Joornal. Acompaña a empresas que construyen su propio medio: estructuración editorial, visibilidad en los buscadores y en las IA, producción a escala.