← Todos los articulos

Agents.txt no es control de acceso

DreamHost ahora documenta que los planes de Web Hosting incluyen automáticamente archivos robots.txt y agents.txt predeterminados cuando un sitio no proporciona versiones personalizadas.1

Ese pequeño detalle de hosting apunta a un cambio más grande. Los sitios web ahora les hablan al menos a 3 audiencias al mismo tiempo: rastreadores de búsqueda, rastreadores de IA y asistentes en tiempo de inferencia que buscan contexto claro. Los nombres de archivo hacen que el cambio parezca ordenado. robots.txt indica qué pueden rastrear los clientes automatizados. llms.txt les da a los LLM un mapa curado. agents.txt sugiere una política orientada a agentes. Ninguno de esos archivos debería hacer que un operador se sienta protegido.

Agents.txt no es control de acceso. Trata los archivos para rastreadores como señales públicas de política y ayudas para el descubrimiento. El control real sigue viniendo de la autorización del lado del servidor, la verificación de identidad de bots, los límites de frecuencia, los registros, el comportamiento de la caché y la evidencia de que los rastreadores que te importan realmente vieron los archivos actuales.

Resumen rápido

El estándar Robots Exclusion Protocol dice que las reglas para rastreadores “no son una forma de autorización de acceso”.2 Google también advierte que una URL bloqueada en robots.txt puede aparecer de todos modos en Search si otras páginas enlazan a ella.3 El propio artículo de DreamHost sobre control de bots dice que los archivos robots funcionan como sugerencias para motores de búsqueda que cumplen las reglas, y que los bots maliciosos pueden ignorar el archivo o usar agentes de usuario engañosos.1

Los rastreadores de IA agregan más dimensiones de política. OpenAI separa OAI-SearchBot, usado para la búsqueda de ChatGPT, de GPTBot, relacionado con el rastreo para entrenamiento, y dice que ChatGPT-User representa acciones iniciadas por usuarios donde robots.txt puede no aplicarse.4 Google dice que Google-Extended no tiene una cadena de agente de usuario HTTP separada y funciona como un token de producto en robots.txt para preferencias de entrenamiento y anclaje, no para la inclusión en Google Search.5 El archivo de control de rastreadores ahora necesita una política por propósito, no un único interruptor de permitir o bloquear.

Usa agents.txt si tu host, plataforma o ecosistema de agentes lo espera. Usa llms.txt si quieres que las herramientas en tiempo de inferencia entiendan tus mejores páginas. Mantén robots.txt actualizado porque los principales rastreadores todavía lo usan. Luego verifica las solicitudes en el perímetro del servidor y lee los registros. Un archivo de texto puede expresar intención. No puede detener a un cliente no confiable.

Puntos clave

Para dueños de sitios: - Publica robots.txt para la política de rastreo, llms.txt para contexto legible por IA y agents.txt solo como señal orientada a agentes. - No pongas rutas privadas, nombres de archivos secretos, prompts internos ni rutas sensibles en ningún archivo público para rastreadores. - Revisa los registros después de hacer cambios. Un archivo de política importa solo si el rastreador correcto lo descarga y cambia su comportamiento.

Para equipos de SEO y AIO: - Separa la visibilidad en búsquedas de los permisos de entrenamiento y de las recuperaciones iniciadas por usuarios. - Haz explícita la lista de bots permitidos que sí quieres, como rastreadores de búsqueda y superficies de respuesta de IA. - Combina los archivos para rastreadores con verificación de sitemap, canonical, schema y llms.txt.

Para equipos de seguridad: - Trata las cadenas de agente de usuario como declaraciones, no como identidad. - Verifica rastreadores con DNS inverso o rangos de IP publicados cuando el operador lo permita. - Controla el acceso a recursos sensibles con autenticación, reglas de WAF, políticas de aplicación y límites de frecuencia, no con cortesía de rastreadores.

¿Qué cambió con agents.txt?

robots.txt existe desde hace décadas. El RFC define un archivo robots.txt que los propietarios de servicios ponen a disposición para que los rastreadores decidan a qué URIs pueden acceder.2 La forma básica del archivo resulta familiar:

User-agent: *
Disallow: /private-draft/
Sitemap: https://example.com/sitemap.xml

agents.txt aparece en otro momento. La web ya no recibe únicamente rastreadores de motores de búsqueda. Recibe rastreadores de entrenamiento, rastreadores de motores de respuesta, rastreadores de seguridad publicitaria, recuperaciones de asistentes de navegador, recuperaciones de LLM iniciadas por usuarios, rastreadores de archivo, herramientas de SEO y bots de spam que toman prestados nombres de rastreadores legítimos.

La documentación de DreamHost importa porque mueve agents.txt de una idea de nicho a un comportamiento predeterminado de hosting en al menos un proveedor generalista. El artículo dice que DreamHost incluye automáticamente archivos robots.txt y agents.txt predeterminados para planes de Web Hosting y permite que los dueños de sitios reemplacen cualquiera de los dos colocando un archivo personalizado en la raíz del sitio.1 Eso no convierte a agents.txt en un estándar con semántica de aplicación. Sí hace más probable que el nombre de archivo aparezca en la web.

La lectura segura es estrecha:

Archivo Mejor función Suposición equivocada
robots.txt Preferencia de rastreo para rastreadores que cumplen las reglas. “Bloqueado significa privado.”
llms.txt Mapa curado y legible por LLM para uso en tiempo de inferencia. “Listarlo significa que será posicionado o citado.”
agents.txt Señal de política orientada a agentes cuando una plataforma la busca. “Un bot debe obedecerlo.”
Sitemap Descubrimiento completo de URLs para páginas públicas indexables. “Enviado significa indexado.”
Registros del servidor Evidencia de lo que realmente ocurrió. “Si no hay referrer visible, ningún rastreador usó la página.”

Los nombres de archivo no deberían competir. Deberían formar un paquete de política: qué pueden solicitar los rastreadores, qué deberían leer los sistemas de IA, qué deberían saber los agentes y qué observó realmente el servidor.

Robots.txt sigue importando, pero no protege

Los archivos para rastreadores fallan cuando los equipos los usan como límites de seguridad.

El RFC deja explícito ese límite. El protocolo pide a los clientes automatizados que respeten reglas al acceder a URIs; no autoriza el acceso.2 Google dice lo mismo en términos operativos: si otra página enlaza a una URL bloqueada, Google puede encontrar e indexar la dirección de la URL y otra información pública del enlace incluso sin rastrear el contenido de la página bloqueada.3 DreamHost advierte que las reglas robots actúan como sugerencias para motores de búsqueda que cumplen las reglas y que los bots maliciosos pueden ignorar el archivo o usar agentes de usuario falsos.1

Esos hechos llevan a una regla simple: nunca pongas en robots.txt, agents.txt o llms.txt nada que te perjudicaría si terminara copiado en un resultado de búsqueda, extraído hacia un conjunto de datos o mostrado por un LLM.

Los malos archivos para rastreadores exponen más de lo que protegen:

User-agent: *
Disallow: /internal-product-roadmap/
Disallow: /legal-private/
Disallow: /prompt-drafts/
Disallow: /customers/acme-renewal-risk/

El archivo anterior le dice a cualquier visitante dónde podría estar el material sensible. Un rastreador que cumple las reglas quizá evite esas rutas. Un atacante recibe un mapa de directorios.

Un archivo más seguro declara la política pública de rastreo sin nombrar inventario sensible:

User-agent: *
Allow: /
Disallow: /*.md$
Sitemap: https://example.com/sitemap.xml

Esa versión expresa una preferencia real sin revelar la estructura privada. Si /prompt-drafts/ existe, el servidor debería protegerlo con autenticación y encabezados noindex cuando corresponda. El archivo para rastreadores no debería cargar con ese peso.

Los rastreadores de IA necesitan políticas por propósito

La política para rastreadores de búsqueda antes parecía binaria: permitir Googlebot, bloquear herramientas de SEO ruidosas y mantener las páginas privadas protegidas con controles del servidor.

La política para rastreadores de IA agrega propósito. El dueño de un sitio puede querer que una página aparezca en resultados de búsqueda de ChatGPT y, al mismo tiempo, excluir esa misma página del uso para entrenamiento de modelos. La documentación de rastreadores de OpenAI deja explícita esa separación. Dice que OAI-SearchBot permite funciones de búsqueda de ChatGPT, mientras que GPTBot rastrea contenido que puede usarse para entrenar los modelos fundacionales de IA generativa de OpenAI.4 OpenAI también dice que esas configuraciones son independientes: un webmaster puede permitir OAI-SearchBot y bloquear GPTBot.4

Google traza un límite similar de otra manera. La documentación de rastreadores de Google dice que Google-Extended no tiene una cadena de agente de usuario HTTP separada; los agentes de usuario existentes de Google realizan el rastreo, y Google-Extended actúa como un token de producto en robots.txt.5 Google dice que el token controla si el contenido rastreado del sitio puede apoyar el entrenamiento y anclaje de futuros modelos Gemini, y que no afecta la inclusión ni el posicionamiento en Google Search.5

Estos 2 ejemplos muestran por qué una lista plana de bloqueo no alcanza. La matriz de política real pregunta:

Propósito Señal de ejemplo Pregunta del operador
Descubrimiento en búsquedas Googlebot, Bingbot, OAI-SearchBot ¿Quiero que la página aparezca en resultados de búsqueda o de respuesta?
Preferencia de entrenamiento GPTBot, Google-Extended ¿Quiero que la página se use en flujos de entrenamiento o anclaje de modelos?
Recuperación iniciada por usuarios ChatGPT-User, asistentes de navegador ¿Una persona le pidió al asistente que recuperara la página?
Comprensión del sitio llms.txt, schema, RSS ¿Les di a los sistemas de IA una explicación clara del contenido público?
Tráfico abusivo Agentes de usuario falsificados, herramientas de extracción ¿La solicitud probó su identidad y se comportó dentro de la política?

El archivo de política debe coincidir con el propósito. No bloquees todos los agentes de usuario de IA para luego preguntarte por qué las superficies de búsqueda con IA ignoran el sitio. No permitas todos los rastreadores de IA para después quejarte cuando los rastreadores de entrenamiento consuman páginas que solo querías para búsquedas orientadas al usuario. Separa los propósitos, declara la preferencia y verifica el comportamiento.

Llms.txt resuelve otro problema

llms.txt no reemplaza a robots.txt. La propuesta de Jeremy Howard describe /llms.txt como una forma de proporcionar información que ayuda a los LLM a usar un sitio web en tiempo de inferencia.6 La misma propuesta dice que llms.txt puede coexistir con los estándares web actuales: los sitemaps listan páginas para motores de búsqueda, mientras que llms.txt ofrece una vista curada para los LLM y puede complementar robots.txt con contexto para el contenido permitido.6

Esa distinción importa para el trabajo de AIO.

robots.txt responde: “¿Puede este rastreador solicitar esta ruta?”

llms.txt responde: “Si un asistente lee mi sitio, ¿qué debería entender primero?”

agents.txt puede responder: “¿Qué deberían saber los clientes agénticos sobre el comportamiento deseado?”

Esas preguntas están cerca, pero no se reducen a un único archivo. Un sitio serio debería tratar el descubrimiento de IA como una superficie de lanzamiento:

  1. Publica páginas canonical con títulos y descripciones claras.
  2. Agrega datos estructurados que coincidan con la página visible.
  3. Mantén actualizados el sitemap y la salida RSS.
  4. Publica llms.txt y llms-full.txt para contexto curado de IA.
  5. Publica robots.txt con una política explícita para rastreadores.
  6. Agrega agents.txt solo si la plataforma o el ecosistema de agentes le da al archivo un lector concreto.
  7. Revisa los registros para confirmar que los rastreadores solicitan los archivos modificados.

Saltarse el último paso convierte el AIO en un ritual de esperanza. El archivo para rastreadores existe. La ruta devuelve 200. Ninguna evidencia prueba que los clientes previstos lo hayan visto.

La verificación pertenece al perímetro

Las cadenas de agente de usuario no prueban identidad. Un script cualquiera puede enviar User-Agent: Googlebot. Un extractor puede enviar User-Agent: GPTBot. Una política que confía solo en el encabezado le da el trato más generoso a lo que resulta más fácil de falsificar.

Google documenta 2 rutas de verificación para solicitudes que dicen venir de Google: DNS inverso más DNS directo para verificaciones puntuales, y coincidencia con rangos de IP publicados para sistemas más grandes.7 OpenAI publica archivos JSON de direcciones IP para OAI-SearchBot, GPTBot y ChatGPT-User en su documentación de rastreadores.4 Esos mecanismos no cubren todos los rastreadores. Sí establecen la forma correcta: la identidad requiere evidencia más allá de una cadena.

La política mínima en el perímetro debería registrar:

Evidencia Por qué importa
Agente de usuario Muestra la declaración del cliente.
IP de origen y ASN Ayuda a separar extractores en la nube de rangos verificados de rastreadores.
Resultado de DNS inverso o rango de IP Prueba identidad cuando el operador permite verificación.
Ruta solicitada Muestra qué contenido tocó realmente el cliente.
Momento de descarga de robots.txt Muestra si el cliente revisó la política antes de rastrear.
Código de estado y resultado de caché Muestra qué recibió el rastreador.
Frecuencia y patrón de rutas Revela abuso incluso desde bots con nombre.

Ese paquete de registros convierte la política para rastreadores de opinión en evidencia. Si GPTBot sigue solicitando rutas bloqueadas, puedes probarlo. Si un Googlebot falso golpea URLs con apariencia privada desde un proxy residencial, puedes bloquearlo sin castigar al Googlebot real. Si OAI-SearchBot nunca solicita el artículo modificado, sabes por qué la página no ha aparecido en la búsqueda de ChatGPT.

Un paquete práctico de política para rastreadores de IA

No empieces por el archivo. Empieza por el resultado.

Resultado Control necesario
Los motores de búsqueda deberían indexar páginas públicas. Sitemap, etiquetas canonical, schema, respuestas 200 rápidas y rastreadores de búsqueda permitidos.
Los motores de respuesta de IA deberían entender el sitio. Artículos claros, schema, RSS, llms.txt y páginas fuente con resúmenes explícitos.
Los rastreadores de entrenamiento deberían evitar contenido específico. Grupos de robots.txt por propósito, más aplicación del lado del servidor cuando la política o la ley lo exijan.
El contenido privado debe seguir siendo privado. Autenticación, autorización, ausencia de enlaces públicos, ninguna divulgación en archivos para rastreadores y ninguna filtración de caché.
Los bots maliciosos no deberían drenar recursos. Límites de frecuencia, reglas de WAF, excepciones para bots verificados y registros de abuso.
Los cambios de política deberían poder auditarse. Revisiones de rutas, registros de descarga por rastreadores, marcas de tiempo de despliegue y un breve paquete de revisión.

Ese paquete le da a cada capa el trabajo correcto. robots.txt comunica preferencia. llms.txt comunica contexto. agents.txt comunica intención orientada a agentes donde existe un lector. El servidor aplica. Los registros prueban.

En mi propio sitio, el trabajo con rastreadores sigue esa separación. El archivo de política pública da la bienvenida a rastreadores legítimos y bloquea rutas de Markdown sin procesar que los rastreadores habían inferido a partir de ejemplos en bloques de código. Los archivos de contexto de IA les dan a los asistentes una ruta curada hacia la escritura pública. El censo nocturno de rastreo me dice si los rastreadores vieron errores, caché obsoleta, rutas faltantes o URLs antiguas que ahora deberían devolver 410. El archivo de política da la intención. Los registros deciden si esa intención funcionó.

Qué poner en agents.txt

Hasta que el ecosistema se estabilice, mantén agents.txt aburrido y público.

Buenos candidatos:

  • Contacto del sitio y URL de política.
  • Punteros a robots.txt, sitemap, llms.txt y RSS.
  • Una declaración sobre el uso preferido del contenido público.
  • Una advertencia de que las rutas privadas o autenticadas requieren autorización.
  • Una dirección de soporte para problemas de rastreo.

Malos candidatos:

  • Rutas secretas.
  • Reglas internas de prompts.
  • Rutas de API no públicas.
  • Nombres de clientes.
  • Excepciones de seguridad.
  • Instrucciones que dañarían el sitio si las copiara un cliente hostil.

El estándar correcto para agents.txt no es “¿un buen agente agradecería esto?”. El estándar correcto es “¿me sentiría cómodo si un agente malicioso, un resultado de búsqueda y un usuario cualquiera leyeran este archivo?”.

El mejor modelo mental

Los archivos para rastreadores son señales en una vía pública.

Una señal puede decir “entrada de entregas”, “no entrar” o “empieza aquí”. Los conductores respetuosos siguen la señal. Los imprudentes la ignoran. La señal igual ayuda porque la mayor parte del tráfico legítimo quiere instrucciones claras. La señal falla cuando la tratas como una puerta cerrada con llave.

Los rastreadores de IA hacen que las señales sean más importantes y menos suficientes al mismo tiempo. Más importantes porque los sistemas de IA necesitan contexto público claro, políticas específicas por propósito y mapas de rutas. Menos suficientes porque se multiplican los agentes de usuario, el entrenamiento y la búsqueda se separan, y los malos clientes pueden hacerse pasar por buenos.

La respuesta no es abandonar los archivos para rastreadores. La respuesta es bajar su autoridad al nivel correcto. Publica una política pública clara. Verifica quién solicita los archivos. Observa qué descargan. Aplica los límites privados en el servidor. Trata toda afirmación sobre “visibilidad en IA” como no probada hasta que los registros y las rutas en vivo la respalden.

Esa es la diferencia entre teatro de AIO y operaciones reales con rastreadores.


Preguntas frecuentes

¿Qué es agents.txt?

agents.txt es un archivo de texto emergente, orientado a agentes, que algunos hosts o herramientas pueden servir en la raíz del sitio. DreamHost documenta archivos agents.txt predeterminados para planes de Web Hosting, pero esa documentación no convierte el archivo en un estándar de control de acceso. Trátalo como una señal pública hasta que una plataforma específica de agentes documente exactamente cómo lo lee y aplica.1

¿robots.txt bloquea rastreadores de IA?

Los rastreadores que cumplen las reglas pueden respetar robots.txt, y los principales operadores documentan tokens específicos para sus rastreadores. OpenAI documenta controles para OAI-SearchBot y GPTBot, mientras que Google documenta Google-Extended como token de producto para preferencias de entrenamiento y anclaje.45 Aun así, robots.txt no autentica al cliente, no oculta contenido ni detiene a un bot que decide ignorar el archivo.23

¿Debería publicar llms.txt?

Publica llms.txt si quieres que los asistentes de IA encuentren un mapa curado de tu contenido público. La propuesta presenta llms.txt como contexto en tiempo de inferencia, no como reemplazo del sitemap o de robots.txt.6 Un archivo útil apunta a las páginas que realmente quieres que los agentes entiendan.

¿Una URL bloqueada puede aparecer de todos modos en búsquedas?

Sí. Google dice que una URL bloqueada por robots.txt puede aparecer de todos modos si otras páginas enlazan a ella, aunque Google no rastree ni indexe el contenido de la página bloqueada.3 Usa autenticación, noindex cuando el acceso de rastreo esté permitido y políticas del lado del servidor para páginas que deben quedar fuera de los resultados públicos.

¿Cómo distingo un rastreador real de uno falso?

Usa más que la cadena de agente de usuario. Google documenta verificaciones con DNS inverso más DNS directo y coincidencia con rangos de IP publicados.7 OpenAI publica archivos JSON de direcciones IP para sus bots documentados.4 Cuando el operador de un rastreador no publica datos de verificación, clasifica la solicitud como una declaración y aplica límites de frecuencia o desafíos según su comportamiento.

¿Cuál es la configuración más segura de archivos para rastreadores en un sitio público?

Usa robots.txt para la política de rastreadores, sitemap para el descubrimiento de URLs, llms.txt para contexto curado de IA y agents.txt solo como guía pública orientada a agentes. Mantén las rutas sensibles fuera de todos los archivos públicos. Luego verifica rutas en vivo, estado de caché, descargas de rastreadores y registros del servidor antes de decir que la configuración funciona.

Referencias


  1. DreamHost, “Control bots, spiders, and crawlers,” DreamHost Knowledge Base. Consultado el 18 de mayo de 2026. 

  2. Koster, M., Illyes, G., Zeller, H., and Sassman, L., “RFC 9309: Robots Exclusion Protocol,” IETF, septiembre de 2022. 

  3. Google Search Central, “Introduction to robots.txt,” Google for Developers. 

  4. OpenAI, “Overview of OpenAI Crawlers,” Documentación de API de OpenAI. 

  5. Google Crawling Infrastructure, “Google’s common crawlers,” Google for Developers. 

  6. Jeremy Howard, “The /llms.txt file,” propuesta llms-txt, 3 de septiembre de 2024. 

  7. Google Crawling Infrastructure, “Verify requests from Google crawlers and fetchers,” Google for Developers, última actualización el 20 de marzo de 2026. 

Artículos relacionados

El fork bomb nos salvó

El atacante de LiteLLM cometió un error de implementación. Ese error fue la única razón por la que 47.000 instalaciones …

7 min de lectura

El código abierto no es un límite de seguridad

La guía de GDS sobre detección de vulnerabilidades con IA acierta en seguridad de código abierto: ocultar menos por defe…

11 min de lectura

El Bucle Ralph: Cómo ejecuto agentes de IA autónomos durante la noche

Construí un sistema de agentes autónomos con stop hooks, presupuestos de generación y memoria en el sistema de archivos.…

10 min de lectura