Qué Controla Realmente robots.txt
robots.txt es un archivo de texto público por host en /robots.txt que indica a los crawlers bien educados qué URLs pueden buscar y cuáles no. Es una petición, no una imposición: los crawlers maliciosos lo ignoran por completo, e incluso los educados lo tratan como una pista, no como una frontera de seguridad. El malentendido más común sobre robots.txt es que controla la indexación. No lo hace. Controla el rastreo. Una URL bloqueada por robots.txt puede seguir apareciendo en el índice de Google si Google se entera de ella por otras señales (backlinks, entradas de sitemap, enlaces internos desde páginas que sí puede rastrear). El resultado es el estado "Indexada, aunque bloqueada por robots.txt" en Search Console — una URL sin snippet, sin título y con rendimiento de búsqueda prácticamente nulo, pero indexada. Si quieres sacar una URL del índice, usa una meta etiqueta noindex o la cabecera X-Robots-Tag. Si quieres sacarla del presupuesto de rastreo, usa robots.txt. Son problemas distintos.
El Algoritmo de Coincidencia de RFC 9309
La especificación de robots.txt se formalizó como RFC 9309 en 2022, codificando el comportamiento que Google había implementado durante años. El algoritmo es más sutil de lo que la mayoría de equipos asume:
- Selección de grupo. El crawler analiza cada declaración de User-agent y selecciona el grupo cuyo nombre de User-agent sea la coincidencia de subcadena más específica (sin distinguir mayúsculas) con su propio nombre. Si ningún grupo coincide, aplica el comodín
User-agent: *. Si tampoco hay comodín, todas las URLs están permitidas.
- Coincidencia de reglas dentro del grupo elegido. Se recogen todas las reglas Allow y Disallow cuya ruta coincida con la URL solicitada. Gana la ruta con más caracteres literales — esa es la "coincidencia más larga" del RFC 9309 §2.2.2. El comodín
* coincide con cualquier secuencia (incluida la vacía); el ancla $ fija la coincidencia al final de la URL.
- Desempate. Cuando una regla Allow y una Disallow coinciden con la misma longitud literal, gana Allow. Eso es lo que hace que "Disallow: / + Allow: /public/" produzca el resultado intuitivo de que
/public/anything se pueda rastrear.
El tester implementa este algoritmo exactamente. La pestaña Veredictos muestra el número de línea de la regla coincidente para que puedas verificar el comportamiento contra tu archivo autorizado en lugar de contra una salida opaca de "permitido/bloqueado".
Las Cinco Reglas Que Todo Autor de robots.txt Debería Interiorizar
- Disallow vacío significa permitir todo.
Disallow: sin valor es la forma canónica de decir "sin restricciones para este grupo". No es un error.
- Las rutas deben empezar por
/. Una regla como Disallow: admin/ es ignorada silenciosamente por Google. El tester lo marca como PATH_MISSING_LEADING_SLASH.
- El
$ final ancla al fin de URL. Disallow: /*.pdf$ bloquea /report.pdf pero no /report.pdf?download=1. El ejemplo de comodines del tester muestra exactamente esto.
- El orden no importa dentro de un grupo. Las reglas no se evalúan de arriba a abajo. Se evalúan todas y gana la coincidencia más larga. Reordenar reglas para "arreglar" un resultado inesperado suele enmascarar un malentendido más profundo del algoritmo de coincidencia más larga.
- Las declaraciones de User-agent adyacentes se fusionan.
User-agent: Googlebot\nUser-agent: Bingbot\nDisallow: /no-bots/ crea un único grupo con dos agentes declarados. Una línea en blanco o cualquier directiva que no sea User-agent entre ellas crea dos grupos separados.
Directivas Que No Son Realmente Estándar
Varias directivas de robots.txt se usan ampliamente pero no forman parte de RFC 9309, y el soporte varía por crawler:
- Crawl-delay: Bingbot y Yandex la respetan. Googlebot la ignora por completo. Usa el ajuste de tasa de rastreo de Search Console o Bing Webmaster Tools en su lugar.
- Host: Específica de Yandex. Le dice a Yandex qué espejo es canónico. Google la ignora.
- Noindex: Soportada experimentalmente por Google brevemente alrededor de 2019; oficialmente sin soporte desde entonces. El tester lo marca como
NOINDEX_IN_ROBOTS con la recomendación de usar <meta robots> o la cabecera X-Robots-Tag en su lugar. Incluso si un crawler llegara a respetarla una vez, depender de esto es una regresión esperando a ocurrir.
- Clean-param: Específica de Yandex. Le dice a Yandex qué parámetros de URL ignorar para canonicalización.
- Request-rate y Visit-time: reliquias históricas que casi ningún crawler moderno implementa.
El tester reconoce todas estas sin generar ruido en el linter (para que el parseo no contamine la pestaña Hallazgos con falsos negativos), pero la obsoleta Noindex sí se marca explícitamente porque usarla es activamente peligroso — da a los autores una falsa sensación de que una URL está excluida del índice cuando en realidad sigue siendo indexable.
Crawlers de IA: La Nueva Frontera de Auditoría
El selector de user-agent incluye GPTBot, ChatGPT-User, Claude-Web y PerplexityBot precisamente porque controlar las descargas de entrenamiento e inferencia de IA forma ya parte de cada revisión de robots.txt en equipos de SEO y contenido. La mecánica es idéntica a la de los crawlers tradicionales — robots.txt es un archivo público, la spec es la misma, la coincidencia de user-agent sigue las mismas reglas — pero las preguntas de política son nuevas: ¿quieres que tu contenido se use como datos de entrenamiento de IA? ¿Quieres que lo citen productos de búsqueda con IA? Cada una de esas decisiones se codifica como una regla por agente en robots.txt, y el tester te permite verificar que la regla hace exactamente lo que crees antes de comprometerla."
Directivas Sitemap: El Conector Silencioso
La directiva Sitemap es la única parte de robots.txt que no trata sobre reglas de rastreo. Indica a los crawlers dónde encontrar tu(s) sitemap(s) XML — una URL relativa al host o absoluta apuntando a un sitemap o índice de sitemap. Se permiten varias líneas Sitemap y son aditivas. El tester parsea cada directiva Sitemap a su propia pestaña, valida que cada una sea una URL absoluta (la spec lo exige) y renderiza las URLs como enlaces clicables para detectar referencias obsoletas en el mismo pase de auditoría. Combinar el tester de robots.txt con el comparador de sitemaps en el mismo host es una de las verificaciones pre-despliegue más rápidas que un equipo de SEO puede ejecutar."
Lo Que Esta Herramienta No Hace (Y Por Qué Es Intencional)
El tester no rastrea tu sitio. No obtiene tu robots.txt por ti (CORS lo bloquearía y la mayoría de navegadores no exponen la respuesta de todos modos). No comprueba si las URLs que pruebas existen realmente ni si devuelven HTTP 200. Su trabajo es estrecho y bien definido: dado un texto robots.txt y una lista de strings de URL, simula el algoritmo de coincidencia que usa Googlebot y reporta el veredicto por user-agent. Si necesitas un rastreo real, usa Screaming Frog o Sitebulb. Si necesitas probar contra la producción, descárgalo tú mismo (navegador, curl o export de tu CMS) y pégalo. Esta separación mantiene la herramienta predecible, rápida y capaz de funcionar offline — que es exactamente el objetivo de ejecutarla en el navegador.
Privacidad y Procesamiento Local
Los archivos robots.txt a menudo referencian URLs que no quieres logueadas por un servicio externo: rutas de prelanzamiento, contenido restringido por región, rutas internas de admin y listas de competidores. El tester se ejecuta completamente en tu pestaña del navegador — pegar, parsear, probar, exportar, todo local. Puedes verificar en DevTools que pulsar Probar dispara cero peticiones salientes. El mismo parser está disponible como librería open-source si quieres ejecutarlo en CI, pero la herramienta web es totalmente autocontenida.