Puntos clave
- El estándar IETF RFC 9309 formaliza robots.txt, estableciendo la precedencia por longitud de coincidencia más larga.
- En conflictos de igual longitud entre Allow y Disallow, el RFC 9309 determina explícitamente que prevalece Allow.
- Los códigos HTTP 403 y 401 en robots.txt bloquean completamente el rastreo del sitio; el HTTP 404 otorga acceso total.
La estandarización del Protocolo de Exclusión de Robots
Durante casi tres décadas, el archivo robots.txt funcionó como una convención informal en internet. En septiembre de 2022, la IETF codificó formalmente la especificación como RFC 9309: Protocolo de Exclusión de Robots.
Comprender el RFC 9309 es indispensable para proteger contenidos propietarios frente a scrapers de modelos LLM y garantizar que los motores de búsqueda rastreen el sitio de manera óptima.
Para comprobar y depurar tus directivas en tiempo real, utiliza el probador de robots.txt. Para complementar la seguridad de tus aplicaciones, consulta el generador de tokens y la guía de cifrado AES-256.
Matriz de precedencia del RFC 9309 y resolución de comodines
El RFC 9309 establece reglas deterministas para resolver conflictos entre directivas Allow y Disallow:
1. La regla de coincidencia más larga
Las directivas se evalúan según el número de octetos de la ruta. La regla con la ruta más específica y larga tiene prioridad absoluta, independientemente del orden en el archivo:
User-agent: *
Disallow: /catalogo/
Allow: /catalogo/muestra-publica.html- Al acceder a
/catalogo/muestra-publica.html, la rutaAllowtiene 31 caracteres frente a 10 deDisallow. - Resultado: Gana
Allow. La página es accesible.
2. Desempate en longitud idéntica (Allow siempre prevalece)
Cuando una regla Allow y una regla Disallow coinciden con exactamente la misma longitud:
User-agent: *
Disallow: /api/v1
Allow: /api/v1- Resultado: Según el RFC 9309 Sección 2.2.2, gana
Allow. Se autoriza el acceso a/api/v1.
3. Comodines (* y $)
*coincide con 0 o más caracteres válidos.$fija el patrón al final de la URL.
# Bloquea todos los documentos PDF
Disallow: /*.pdf$
# Permite un documento técnico específico
Allow: /documentos/guia-arquitectura.pdf$Control de rastreadores de Inteligencia Artificial
Los modelos generativos de IA emplean rastreadores propios para recopilar datos de entrenamiento:
| Rastreador | Token User-Agent | Operador / Objetivo | Acción recomendada |
|---|---|---|---|
| GPTBot | GPTBot | OpenAI (Entrenamiento de modelos) | Bloquear si el contenido es privado |
| ChatGPT-User | ChatGPT-User | OpenAI (Consultas de usuarios) | Permitir para recibir tráfico |
| ClaudeBot | ClaudeBot | Anthropic (Entrenamiento de modelos) | Bloquear selectivamente |
| PerplexityBot | PerplexityBot | Perplexity AI (Citas en búsquedas) | Permitir para ganar citabilidad |
| CCBot | CCBot | Common Crawl (Dataset público) | Bloquear para evitar scraping masivo |
# Estructura recomendada para gobernanza de IA
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
Disallow: /
User-agent: PerplexityBot
Allow: /
Disallow: /api/
User-agent: Googlebot
User-agent: Bingbot
Allow: /
Sitemap: https://www.devomnitools.com/sitemap-index.xmlCódigos de estado HTTP y comportamiento de rastreo
- HTTP 200 (OK): El rastreador aplica las reglas con normalidad.
- HTTP 401 / 403 (Prohibido): Se interpreta como bloqueo total (
Disallow: /). - HTTP 404 (No encontrado): Se interpreta como acceso total (
Allow: /). - HTTP 5xx (Error de servidor): El rastreador detiene el rastreo temporalmente.
FAQ
¿Qué es el IETF RFC 9309 y por qué es importante?
Publicado en septiembre de 2022, el RFC 9309 estandariza el Protocolo de Exclusión de Robots. Define la sintaxis de comodines (* y $), la prioridad de rutas, la gestión de errores HTTP y un límite de tamaño de archivo de 500 KiB.
¿Cómo se deben controlar los rastreadores de IA (GPTBot, ClaudeBot, CCBot) en robots.txt?
Dirigiéndose a cada rastreador mediante su token User-agent específico. Por ejemplo, declarar 'User-agent: GPTBot' con 'Disallow: /' bloquea el entrenamiento de modelos de OpenAI sin afectar a Googlebot o Bingbot.
¿Qué ocurre cuando una regla Allow y una regla Disallow tienen la misma longitud de ruta?
Según la Sección 2.2.2 del RFC 9309, cuando dos directivas en conflicto tienen exactamente la misma longitud, se aplica la directiva menos restrictiva: Allow tiene prioridad sobre Disallow.