BrowserTools
Inicio / Validadores / Probador de robots.txt

Probador de robots.txt

Comprueba si un rastreador como Googlebot o GPTBot puede visitar una página y qué línea del robots.txt lo decide.

Cargando Probador de robots.txt… Si no ocurre nada, activa JavaScript.

Un archivo robots.txt parece sencillo, pero la forma en que lo leen los rastreadores tiene algunas reglas que sorprenden a casi todo el mundo. Un rastreador no combina su propio grupo con el grupo User-agent: *: en cuanto un grupo lo nombra, las reglas generales dejan de aplicarse. Entre Allow y Disallow, el orden de las líneas no importa; gana la regla con la ruta coincidente más larga y, cuando un Allow y un Disallow tienen la misma longitud, gana Allow. Las rutas distinguen mayúsculas de minúsculas, un * coincide con cualquier secuencia de caracteres, un $ al final ancla la coincidencia al final de la URL y un Disallow vacío no bloquea nada. Desde 2022 estas reglas están recogidas en el RFC 9309, el estándar del Robots Exclusion Protocol que siguen Google, Bing y la mayoría de los grandes rastreadores.

Preguntas frecuentes

Si un rastreador tiene su propio grupo, ¿sigue obedeciendo a User-agent: *?
No. Un rastreador usa solo el grupo más específico que lo nombra. Si tu archivo tiene un grupo para Googlebot, Googlebot ignora todo lo del grupo User-agent: *, así que cualquier regla que quieras que siga tiene que repetirse en su propio grupo. Si varios grupos nombran al mismo rastreador, sus reglas se combinan. El probador muestra qué grupo se ha elegido para el rastreador seleccionado.
Tanto Allow como Disallow coinciden con mi URL. ¿Cuál gana?
El que tenga la ruta más larga, contada en caracteres, sin importar cuál aparezca primero en el archivo. Con Disallow: /shop y Allow: /shop/sale, /shop/sale/shoes queda permitida, porque /shop/sale es más larga. Cuando las dos reglas tienen la misma longitud, por ejemplo Allow: /page y Disallow: /page, gana Allow. La tabla de resultados muestra la regla decisiva y la regla a la que venció.
¿Cómo funcionan * y $ en robots.txt?
Un asterisco coincide con cualquier secuencia de caracteres, incluida ninguna, y un signo de dólar justo al final significa que la URL tiene que terminar ahí. Disallow: /*.php bloquea /index.php y /folder/page.php?id=1, mientras que Disallow: /*.php$ bloquea /index.php pero no /index.php?id=1. Un asterisco final no añade nada, así que /fish* equivale a /fish. Cada regla es una coincidencia de prefijo desde el inicio de la ruta, por lo que /fish también bloquea /fish.html y /fishing.
¿Las rutas de robots.txt distinguen mayúsculas de minúsculas?
Sí. Disallow: /Private/ no bloquea /private/. Los nombres de las directivas y los tokens de user-agent no distinguen mayúsculas, así que user-agent: GOOGLEBOT y User-agent: Googlebot significan lo mismo, pero las rutas de Allow y Disallow se comparan tal cual.
¿Bloquear una página en robots.txt la elimina de Google?
No necesariamente. robots.txt controla el rastreo, no la indexación. Una URL bloqueada puede seguir apareciendo en los resultados, normalmente sin descripción, si otros sitios enlazan a ella. Para mantener una página fuera del índice, deja que se rastree y añade una meta etiqueta robots con noindex o una cabecera X-Robots-Tag. La línea Noindex en robots.txt dejó de funcionar en Google en 2019.
¿Cómo bloqueo rastreadores de IA como GPTBot y ClaudeBot?
Añade un grupo que los nombre, por ejemplo User-agent: GPTBot en una línea, User-agent: ClaudeBot en la siguiente y después Disallow: /. Elige cada rastreador en este probador para confirmar el resultado. Recuerda que algunos tokens, como Google-Extended y Applebot-Extended, son tokens de control y no rastreadores, y que las peticiones hechas a petición de un usuario pueden no seguir robots.txt en absoluto.
¿Por qué /robots.txt siempre está permitido?
Porque un rastreador tiene que leer el archivo antes de poder obedecerlo. El RFC 9309 dice que /robots.txt está permitido de forma implícita, así que una regla Disallow: / nunca impide que un rastreador descargue el propio archivo. El probador lo refleja para cualquier ruta igual a /robots.txt.
¿Qué tamaño puede tener un archivo robots.txt?
El RFC 9309 obliga a los rastreadores a analizar al menos 500 kibibytes, y Google se detiene ahí: las reglas después de los primeros 500 KiB se ignoran. Si tu archivo se acerca a ese tamaño, suele estar generado con una línea por URL, y agrupar rutas con comodines lo hace mucho más corto y fácil de mantener. El probador atenúa cualquier línea que supere el límite.
¿Por qué aparece una ruta distinta debajo de mi URL?
El probador compara las rutas como lo hacen los rastreadores. Una URL completa se reduce a su ruta y su query string, y la codificación por porcentaje se normaliza: los caracteres no ASCII se codifican en UTF-8 y los escapes de letras, dígitos y - . _ ~ se decodifican. Así, /caf%C3%A9 y /café, o /%7Euser y /~user, coinciden con las mismas reglas. La forma normalizada aparece debajo de lo que escribiste cuando es distinta.

Acerca de Probador de robots.txt

Este probador implementa ese estándar directamente en tu navegador. Pega tu robots.txt, escribe las URL o rutas que te interesan, una por línea, y elige un rastreador: Googlebot y sus variantes de imágenes, noticias y vídeo, Bingbot, Applebot, DuckDuckBot, YandexBot, los rastreadores de IA como GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot y CCBot, bots de vista previa de enlaces, herramientas SEO o cualquier token personalizado. Para cada ruta obtienes Permitida o Bloqueada, la regla exacta que lo decidió con su número de línea y la regla rival a la que venció, así que un resultado como "bloqueada por Disallow: /*.pdf$ en la línea 5" es fácil de rastrear. La vista del archivo resalta el grupo que se aplica al rastreador elegido y colorea cada línea que se ha usado.

El probador también señala problemas que hacen que un robots.txt se comporte de forma distinta a lo que pretendía su autor: reglas antes de cualquier línea User-agent, directivas desconocidas o mal escritas, URL completas donde se espera una ruta, una marca de orden de bytes UTF-8 al principio, directivas como Noindex que los rastreadores ya no respetan y archivos por encima de los 500 KiB que lee Google. Enumera las líneas Sitemap y el Crawl-delay que se aplica, recordando que Google ignora Crawl-delay. Las particularidades de cada rastreador vienen incluidas: Googlebot-Image recurre al grupo de Googlebot, Applebot sigue las reglas de Googlebot cuando no se le nombra, y los rastreadores AdsBot y AdSense ignoran por completo el grupo *. No se descarga ni se sube nada, así que puedes probar un borrador antes de publicarlo.

Un estándar que tardó 28 años en serlo

Martijn Koster propuso las reglas de exclusión de robots en febrero de 1994 en la lista de correo www-talk, después de que un rastreador mal programado saturara su servidor en Nexor. A finales de junio, los autores de robots de la época habían acordado seguirlas, y durante el siguiente cuarto de siglo toda la web se apoyó en una convención que nunca se había estandarizado formalmente. Cada buscador interpretaba los casos límite de forma algo distinta, desde los comodines hasta el tamaño del archivo.

En julio de 2019, en el 25.º aniversario de la propuesta original, Google envió un borrador al IETF junto con Koster y otros buscadores, y liberó como código abierto el analizador en C++ que Googlebot llevaba veinte años usando. El borrador pasó otros tres años de revisión y se publicó como RFC 9309 en septiembre de 2022. Las reglas básicas apenas cambiaron desde 1994, pero el RFC zanjó por fin las cuestiones que se llevaban décadas discutiendo: Allow es oficial, gana la coincidencia más larga y los rastreadores deben leer al menos 500 KiB.

Apoyar