Cómo bloquear bots de IA en robots.txt (y si deberías hacerlo)
Para bloquear bots de IA en robots.txt, agrega un grupo que enumere los bots y una regla Disallow: /. La configuración más común bloquea los rastreadores que recopilan datos para el entrenamiento de modelos (GPTBot, ClaudeBot, CCBot y otros, además de los tokens Google-Extended y Applebot-Extended) y deja en paz a los rastreadores de búsqueda con IA (OAI-SearchBot, Claude-SearchBot, PerplexityBot): tu contenido queda fuera de los datos de entrenamiento futuros, mientras que los enlaces a tu sitio en las respuestas de ChatGPT, Claude y Perplexity siguen llegando. Google Search no se ve afectado. Eso sí, ten en cuenta que robots.txt es una solicitud que respetan los bots que se portan bien, no una barrera técnica.
A continuación: los tipos de rastreadores de IA, bloques listos para usar en tres escenarios, el error que da a los bots "permitidos" acceso a tu área de administración y cómo verificar el resultado.
Tres grupos de rastreadores de IA
"Bot de IA" abarca robots muy distintos. Decide sobre cada grupo por separado:
| Grupo | Tokens de robots.txt | Qué pasa si lo bloqueas |
|---|---|---|
| Entrenamiento de modelos | GPTBot (OpenAI), ClaudeBot (Anthropic), CCBot (Common Crawl), meta-externalagent (Meta), Bytespider (ByteDance), Amazonbot (Amazon), además de los tokens Google-Extended y Applebot-Extended | Tu contenido debería quedar fuera de los conjuntos de datos de entrenamiento futuros. Sin efecto en Google Search ni en Bing |
| Búsqueda con IA | OAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic), PerplexityBot (Perplexity) | Tu sitio deja de aparecer como enlace citado en las respuestas de la búsqueda de ChatGPT, Claude y Perplexity: pierdes tráfico de referencia |
| Consultas iniciadas por el usuario | ChatGPT-User, Claude-User, Perplexity-User | El asistente no puede abrir tu página cuando un usuario pega tu enlace o le pide que consulte algo |
Esta división proviene de la documentación de los propios operadores. OpenAI indica que los ajustes de GPTBot y OAI-SearchBot son independientes: puedes permitir la búsqueda y bloquear el entrenamiento. Anthropic describe sus tres bots de la misma forma. Según la documentación de Perplexity, PerplexityBot no se usa para rastrear contenido con el fin de entrenar modelos fundacionales.
El tercer grupo tiene una salvedad. OpenAI advierte que las reglas de robots.txt pueden no aplicarse a ChatGPT-User porque la solicitud la inicia una persona. Perplexity dice que Perplexity-User por lo general ignora robots.txt. Anthropic, en cambio, permite controlar Claude-User mediante robots.txt.
Google-Extended y Applebot-Extended son tokens, no rastreadores
Estos dos nombres se suelen confundir con rastreadores, pero ninguno de ellos descarga tus páginas.
- Google-Extended, según la documentación de Google, no tiene un user agent propio: los rastreadores habituales de Google hacen la descarga, y el token de robots.txt solo indica si el contenido puede usarse para entrenar futuros modelos de Gemini y para el grounding en Gemini Apps y Vertex AI. Google afirma que Google-Extended no afecta la inclusión de un sitio en Google Search y no es una señal de posicionamiento.
- Applebot-Extended, según la documentación de Apple, tampoco rastrea. Decide si los datos recopilados por el Applebot habitual pueden usarse para entrenar los modelos fundacionales de Apple. Las páginas que bloquean Applebot-Extended pueden seguir apareciendo en las funciones de búsqueda de Apple: Siri, Spotlight y Safari.
La consecuencia práctica: no puedes bloquear estos dos en el servidor por user agent, porque ninguna solicitud lleva ese user agent. Bloquear Googlebot o Applebot en su lugar perjudicaría tu visibilidad en las búsquedas.
Bloques de robots.txt listos para usar
Escenario 1. Bloquear el entrenamiento de IA, mantener la búsqueda con IA
Esto es lo que genera el preset "Bloquear entrenamiento de IA, permitir búsqueda con IA" de nuestro generador de robots.txt. Los rastreadores de búsqueda no se mencionan, así que siguen las reglas generales de *:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
Disallow: /
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xmlVarias líneas User-agent consecutivas forman un solo grupo: es más corto y es más difícil equivocarse. Ten en cuenta que Amazon usa Amazonbot tanto para sus propios servicios como para el entrenamiento de modelos.
Escenario 2. Bloquear todos los rastreadores de IA
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: Amazonbot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
User-agent: Perplexity-User
Disallow: /
El precio es que los enlaces a tu sitio desaparecen de las respuestas de los buscadores de IA. Para un sitio de negocio, normalmente no compensa; para una base de conocimiento solo para miembros o contenido de pago, puede que sí.
Escenario 3. Permitir todo
No añadas nada. Los rastreadores de IA que no se nombran en el archivo siguen el grupo User-agent: *. Un grupo aparte con Allow: / no solo es redundante, sino perjudicial: consulta la siguiente sección.
Escenario 4. Bloquear la IA en una parte del sitio
Por ejemplo, contenido de pago y PDF. Copia todas tus reglas generales en el grupo de IA, o dejarán de aplicarse a esos bots:
User-agent: GPTBot
User-agent: ClaudeBot
Disallow: /premium/
Disallow: /*.pdf$
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Por qué no debes añadir un grupo Allow aparte para los bots de IA
La regla que rompe la mayoría de los archivos escritos a mano: un rastreador obedece un solo grupo: el más específico para su nombre. Así lo describen la especificación de robots.txt de Google y el RFC 9309: si un bot tiene su propio grupo, ignora las reglas de *. Observa este archivo:
User-agent: *
Disallow: /wp-admin/
Disallow: /cart/
User-agent: OAI-SearchBot
Allow: /
El autor quería "permitir explícitamente" la búsqueda de ChatGPT y, en cambio, dio a OAI-SearchBot acceso a /wp-admin/ y /cart/: encontró su propio grupo, así que las restricciones de * ya no se le aplican. Por eso nuestro generador nunca genera los bots de IA permitidos como un grupo aparte. Si un bot realmente necesita su propio grupo, repite dentro de él todas las restricciones generales.
Dentro de un grupo se aplica una segunda regla: gana la ruta coincidente más larga y, en caso de empate, Google elige la regla menos restrictiva, es decir, Allow. Encontrarás más sobre la sintaxis y los errores comunes en cómo revisar robots.txt.
¿Deberías bloquear los rastreadores de IA?
No hay una respuesta universal, pero la lógica es clara:
- Bloquear el entrenamiento tiene sentido cuando el contenido es tu producto: material de pago, textos originales, bases de datos. Funciona hacia adelante: Anthropic, por ejemplo, indica que un bloqueo señala que los materiales futuros del sitio deben excluirse del entrenamiento. robots.txt no recupera los datos ya recopilados.
- Bloquear la búsqueda con IA rara vez compensa en sitios que viven del tráfico: las respuestas de ChatGPT search, Claude y Perplexity citan fuentes, y las citas generan visitas.
- Google-Extended es una decisión aparte. No afecta a Google Search, pero según Google también controla el grounding en Gemini Apps, así que bloquearlo puede reducir tu presencia en las respuestas de Gemini.
- Carga del servidor. Si los rastreadores de IA saturan un servidor pequeño, es una razón para limitarlos. Anthropic admite la directiva no estándar
Crawl-delay; Google no. La relación entre la carga del servidor y el rastreo de Googlebot se explica en crawl budget.
robots.txt es una petición, no un candado
Los bots que se portan bien siguen el archivo; técnicamente, nada impide que otros lo ignoren o falsifiquen su user agent. La documentación de Cloudflare lo dice claramente: el cumplimiento de robots.txt es voluntario. Si necesitas detener a los bots de verdad:
- Bloquea en el servidor. Por ejemplo, por user agent en nginx (esto solo funciona con bots que tienen su propio user agent, no con Google-Extended ni Applebot-Extended):
if ($http_user_agent ~* "(GPTBot|ClaudeBot|CCBot|Bytespider|meta-externalagent)") {
return 403;
}- Verifica por IP. Los user agents son fáciles de falsificar. OpenAI, Anthropic, Perplexity y Apple publican las direcciones IP o los rangos de sus crawlers, lo que te permite distinguir un bot real de un impostor.
- Usa tu CDN. Cloudflare ofrece un robots.txt gestionado para crawlers de IA (disponible en todos los planes, según su documentación) y un bloqueo aplicado por separado para bots de IA (AI Crawl Control). Consulta los detalles de tu plan en su documentación.
Una advertencia de Anthropic: si bloqueas sus direcciones IP, es posible que el crawler no pueda leer tu robots.txt, por lo que tu exclusión podría no respetarse de forma fiable. Configura robots.txt en cualquier caso, incluso si también bloqueas en el servidor.
llms.txt es otra cosa
Un archivo /llms.txt no bloquea ni permite el acceso. Es un formato propuesto para un mapa breve de tu sitio en Markdown dirigido a los modelos de lenguaje: qué es el sitio y qué páginas son las más importantes. No puede mantener fuera a la IA, pero sí puede ayudarla a entender tu sitio. Encuentra los detalles en qué es llms.txt; puedes crear uno con nuestro generador de llms.txt.
Cómo verificar el resultado
- Abre
https://your-site/robots.txten un navegador y comprueba que la nueva versión esté activa (a veces los CMS, los plugins y los CDN sirven su propio archivo). - Pásalo por el verificador de robots.txt: muestra todos los grupos User-agent, las reglas Allow y Disallow y las líneas Sitemap, y avisa de problemas como
Disallow: /para todos los bots. - Revisa el sitio en el AI Visibility Checker. Analiza robots.txt según la RFC 9309 para 14 crawlers y tokens de IA (quién tiene permiso y quién está bloqueado), comprueba
/llms.txty la meta robots de la página principal, y envía una solicitud de prueba a la página principal con el user agent de GPTBot. Esa prueba es solo una pista: el GPTBot real llega desde las IP de OpenAI, y un CDN puede tratarlo de forma distinta. La sección de acceso de bots es gratuita; las respuestas de búsqueda con IA a tus preguntas cuentan para un límite diario (10 ejecuciones nuevas al día sin cuenta, el triple con cuenta, ilimitadas en Pro). - Pasados unos días, revisa los logs de tu servidor: qué user agents siguen llegando y desde qué IP. Los cambios no son instantáneos: OpenAI, por ejemplo, indica que los sistemas de búsqueda pueden tardar unas 24 horas en ajustarse.
Errores comunes
- Un grupo
Allow: /aparte para los bots de IA "buenos": abre todo lo que cerraste para*. - Bloquear la búsqueda con IA junto con el entrenamiento sin darte cuenta de que los enlaces de las respuestas de ChatGPT y Perplexity han desaparecido.
- Esperar que Google-Extended elimine el sitio de la Búsqueda de Google. No afecta a la Búsqueda; para quitar una página del índice necesitas
noindex. La diferencia se explica en noindex, nofollow y robots.txt. - Intentar bloquear Google-Extended en el servidor por user agent: ese user agent no existe.
- Olvidar los subdominios. robots.txt solo se aplica a su propio host:
blog.example.comyshop.example.comnecesitan sus propios archivos. - Errores tipográficos en los nombres de los bots y listas desactualizadas. Los nombres y las funciones cambian, así que vuelve a revisar la documentación de los operadores cada pocos meses.