Dos decisiones, no una
El robots.txt responde a dos preguntas distintas para una empresa de IA, y cada una las plantea con rastreadores diferentes:
- ¿Pueden usarse mis páginas para entrenar vuestros modelos? Son GPTBot, ClaudeBot, Google-Extended, Applebot-Extended y, de forma indirecta, CCBot. Decir que no deja el contenido futuro fuera de los datos de entrenamiento. No cambia lo que un asistente encuentra cuando busca hoy.
- ¿Puede vuestro asistente encontrar y citar mis páginas cuando alguien pregunta? Son OAI-SearchBot, Claude-SearchBot y PerplexityBot, más los agentes que abren una página para una persona (ChatGPT-User, Claude-User, Perplexity-User). Decir que no a los rastreadores de búsqueda saca el sitio de las respuestas.
La mayoría de las empresas quiere estar en las respuestas, porque ahí es donde los compradores piden ahora recomendaciones. Ceder las páginas para el entrenamiento es una decisión de cada sitio. Ambas cosas se ajustan por separado, y OpenAI lo dice con todas las letras: cada ajuste es independiente de los demás.
| Rastreador | Operador | Tarea | Bloquearlo significa |
|---|---|---|---|
GPTBot | OpenAI | Entrenamiento | El contenido no se usa para entrenar los modelos fundacionales de OpenAI |
OAI-SearchBot | OpenAI | Índice de búsqueda | El sitio no aparece en las respuestas de búsqueda de ChatGPT |
ChatGPT-User | OpenAI | Petición para un usuario | Puede que el robots.txt no se aplique; OpenAI no lo usa para decidir la búsqueda |
ClaudeBot | Anthropic | Entrenamiento | El contenido futuro queda excluido de los datos de entrenamiento |
Claude-SearchBot | Anthropic | Índice de búsqueda | El contenido no se indexa para la búsqueda de Claude; menos visibilidad en sus respuestas |
Claude-User | Anthropic | Petición para un usuario | Claude no puede recuperar la página cuando un usuario pregunta por ella |
PerplexityBot | Perplexity | Índice de búsqueda | Perplexity no puede mostrar ni enlazar el sitio en sus resultados |
Perplexity-User | Perplexity | Petición para un usuario | Por lo general ignora el robots.txt, ya que un usuario pidió la página |
Google-Extended | Entrenamiento y grounding | No se usa para entrenar Gemini ni para grounding; la Búsqueda de Google no cambia | |
Applebot-Extended | Apple | Entrenamiento | No se usa para entrenar los modelos fundacionales de Apple; la búsqueda de Apple no cambia |
CCBot | Common Crawl | Archivo abierto de la web | El sitio queda fuera del archivo abierto de Common Crawl |
OpenAI: GPTBot, OAI-SearchBot y ChatGPT-User
GPTBot es el rastreador de entrenamiento de OpenAI. Excluirlo indica, según OpenAI, que el contenido de un sitio no debe usarse para entrenar modelos fundacionales de IA generativa (OpenAI).
OAI-SearchBot es el que importa para las respuestas de ChatGPT. OpenAI afirma que los sitios que excluyen a OAI-SearchBot no se mostrarán en las respuestas de búsqueda de ChatGPT, aunque todavía pueden aparecer como enlaces de navegación, y recomienda permitir este bot. Un cambio en el robots.txt tarda unas 24 horas en llegar a los sistemas de OpenAI.
ChatGPT-User no es un rastreador en el sentido habitual. Recupera páginas para acciones que un usuario inicia en ChatGPT o en un GPT personalizado, no rastrea la web de forma automática y, como lo pidió una persona, puede que las reglas del robots.txt no se apliquen. OpenAI aclara además que ChatGPT-User no sirve para decidir si un contenido puede aparecer en la búsqueda: eso lo regula OAI-SearchBot.
Anthropic: ClaudeBot, Claude-SearchBot y Claude-User
Anthropic describe tres agentes en una sola página (Anthropic):
- ClaudeBot recoge contenido de la web que puede usarse para el entrenamiento. Restringirlo indica que el contenido futuro del sitio debe excluirse de los datos de entrenamiento.
- Claude-SearchBot rastrea la web para mejorar la calidad de los resultados de búsqueda de los usuarios de Claude. Desactivarlo impide que tu contenido se indexe para la búsqueda, lo que según Anthropic puede reducir la visibilidad del sitio en los resultados.
- Claude-User abre páginas cuando una persona le hace una pregunta a Claude. Desactivarlo impide que Claude recupere tu contenido en respuesta a la consulta de un usuario.
Anthropic afirma que sus bots respetan el robots.txt y la extensión no estándar Crawl-delay, y que bloquear sus direcciones IP puede no funcionar de forma fiable, así que el robots.txt es el camino. La exclusión debe ponerse también en cada subdominio.
Perplexity: PerplexityBot y Perplexity-User
PerplexityBot muestra y enlaza sitios en los resultados de búsqueda de Perplexity, y Perplexity afirma que no se usa para recoger contenido para modelos fundacionales (Perplexity). No hay, por tanto, ningún motivo de entrenamiento para bloquearlo: bloquearlo solo saca el sitio del lugar donde Perplexity busca sus respuestas. Perplexity recomienda permitirlo en el robots.txt y aceptar las peticiones de sus rangos de IP publicados.
Perplexity-User recupera una página cuando un usuario hace una pregunta y puede enlazarla en la respuesta. Como un usuario pidió la página, según Perplexity por lo general ignora las reglas del robots.txt. Tampoco se usa para el entrenamiento.
Google y Apple: los tokens «-Extended»
Google-Extended no es un rastreador en absoluto. No tiene un user agent propio: Google rastrea con sus agentes habituales, y el token del robots.txt solo regula el uso. Decide si el contenido puede usarse para entrenar los modelos Gemini y para el grounding en las apps de Gemini y en Vertex AI. Google afirma que no afecta a la inclusión de un sitio en la Búsqueda de Google y que no es una señal de posicionamiento (Google).
Lo que Google-Extended no controla son las AI Overviews y el AI Mode. Forman parte de la Búsqueda, y Google indica que el control es el habitual: las reglas del robots.txt para Googlebot, y nosnippet, data-nosnippet, max-snippet o noindex para limitar lo que se muestra. No hay requisitos técnicos adicionales para aparecer en ellas (Google Search Central). Con el robots.txt solo no se puede, por tanto, seguir en la Búsqueda de Google y quedar fuera de las AI Overviews, y bloquear Googlebot para evitarlas saca el sitio de la Búsqueda de Google.
Applebot-Extended funciona igual. No rastrea páginas; decide si lo que Applebot recogió puede usarse para entrenar los modelos fundacionales de Apple. Las páginas que lo excluyen pueden seguir apareciendo en los resultados de búsqueda de Spotlight, Siri y Safari, y la regla no se usa para el posicionamiento (Apple).
CCBot construye el archivo abierto de la web de Common Crawl (Common Crawl). Common Crawl no lo presenta como un rastreador de IA, pero el archivo está abierto a cualquiera, y en nuestro estudio CCBot fue el bot que los sitios excluían por su nombre con más frecuencia.
Un robots.txt para copiar
En las respuestas, fuera del entrenamiento. El ajuste que quiere la mayoría de las empresas a las que les importa el entrenamiento. Los rastreadores de búsqueda y de usuario no se nombran, así que el grupo * los deja entrar; los tokens de entrenamiento quedan cerrados:
User-agent: GPTBot User-agent: ClaudeBot User-agent: Google-Extended User-agent: Applebot-Extended User-agent: CCBot Disallow: / User-agent: * Disallow: /admin/
Varias líneas User-agent pueden compartir un mismo grupo de reglas, como permite el estándar del robots.txt (RFC 9309).
Abierto a todo. Si tus páginas también pueden usarse para el entrenamiento, no necesitas líneas específicas para la IA. Basta un archivo sencillo:
User-agent: * Disallow: /admin/ Sitemap: https://www.example.com/sitemap.xml
Fuera de los asistentes de IA, dentro de la Búsqueda de Google. Es posible, pero tiene un precio: el sitio desaparece de las respuestas de ChatGPT, Claude y Perplexity. Las AI Overviews y el AI Mode de Google no se cierran así, porque siguen a Googlebot.
User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: Claude-SearchBot User-agent: Claude-User User-agent: PerplexityBot User-agent: Google-Extended User-agent: Applebot-Extended User-agent: CCBot Disallow: / User-agent: * Disallow: /admin/
Los agentes de usuario (ChatGPT-User, Perplexity-User) pueden no seguir el archivo, como dicen sus operadores: ni siquiera esto garantiza que una página nunca se abra para un usuario.
Errores que cierran la puerta sin querer
- Un grupo con nombre sustituye al general. Según el estándar, un rastreador que encuentra un grupo con su propio nombre obedece solo a ese grupo y se salta el grupo
*. Si añades un grupoUser-agent: OAI-SearchBotcon una sola regla, el resto de tus reglas deja de aplicarse a ese bot. Repite en el grupo con nombre todo lo que deba seguir valiendo. - Un robots.txt que da error. Si el archivo responde con un error de servidor 5xx, el estándar pide a los rastreadores que den todo por prohibido. Un 404 significa lo contrario: todo está permitido (RFC 9309).
- El cortafuegos dice no cuando el robots.txt dice sí. Una protección antibots en el CDN o en el hosting puede rechazar agentes que no conoce. En nuestro análisis de 23.411 sitios de empresa, el 2,5 % estaba cerrado a la búsqueda de ChatGPT, y 407 sitios rechazaban una petición que se presentaba como OAI-SearchBot mientras servían la misma página a un navegador. En 396 de ellos, el robots.txt permitía el bot.
- Bloquear el bot de búsqueda para frenar el entrenamiento. En el mismo estudio, los sitios nombraban a los bots de entrenamiento mucho más que a los de búsqueda: GPTBot estaba excluido por nombre en el 1,17 % de los sitios, OAI-SearchBot en el 0,11 %. La mayoría de los sitios que nombran bots hace la distinción; comprueba que el tuyo también.
- Olvidar los subdominios. El robots.txt se aplica a un solo host. Un blog en
blog.example.como una documentación endocs.example.comnecesita su propio archivo.
Comprobar lo que dice de verdad tu sitio
Nuestra comprobación de rastreadores de IA gratuita lee tu robots.txt como el estándar exige a los rastreadores, muestra el veredicto para cada uno de los rastreadores de arriba con la línea que lo decide, y pide tu portada como OAI-SearchBot, Claude-SearchBot y PerplexityBot para detectar un cortafuegos que los rechace. No necesita cuenta y no guarda nada.
En Teddit, el robots.txt de cada sitio seguido se lee cada noche, y cuando cambia el acceso de un rastreador, la tabla indica cómo era antes (Acceso de rastreadores de IA). Pero el acceso es solo la puerta: que un asistente te nombre después es otra cuestión, que trata Cómo decide un asistente de IA qué marcas nombrar.
Fuentes
- Overview of OpenAI crawlers, OpenAI: GPTBot, OAI-SearchBot y ChatGPT-User.
- Does Anthropic crawl data from the web, and how can site owners block the crawler?, Anthropic: ClaudeBot, Claude-SearchBot y Claude-User.
- Perplexity crawlers, Perplexity: PerplexityBot y Perplexity-User.
- Google’s common crawlers, Google: Google-Extended.
- AI features and your website, Google Search Central: AI Overviews y AI Mode.
- About Applebot, Apple: Applebot y Applebot-Extended.
- CCBot, Common Crawl.
- RFC 9309: Robots Exclusion Protocol, IETF.