Probador de robots.txt

Escribe una dirección y elige un rastreador. Descargamos el robots.txt del sitio, lo aplicamos como indica el estándar y te decimos si la dirección está abierta o bloqueada y qué línea lo decide.

El campo del token solo se lee cuando está seleccionado “Otro rastreador”. Las reglas se comparan con la ruta y la cadena de consulta, así que indica la dirección exacta, no solo el dominio.

O prueba en.wikipedia.org/w/index.php?title=Special:Search (Googlebot), www.nytimes.com/section/world (GPTBot), github.com/search?q=robots (Bingbot)

Un aviso en la puerta, leído antes de cada visita

Antes de solicitar páginas a un host, un rastreador bien educado pide un archivo, /robots.txt. El archivo enumera las rutas que el dueño del sitio preferiría que no se descarguen, ordenadas según qué rastreador pregunta. Durante décadas funcionó solo por costumbre. En 2022 recibió un estándar escrito, la RFC 9309, y este probador sigue ese texto.

El archivo se compone de grupos. Un grupo empieza con una o más líneas User-agent y continúa con reglas Allow y Disallow:

User-agent: *
Disallow: /cart/
Disallow: /*?sort=

User-agent: GPTBot
Disallow: /

Sitemap: https://www.example.com/sitemap.xml

Cada host y cada esquema tiene su propio archivo. Las reglas de https://www.example.com no dicen nada sobre https://shop.example.com.

Cómo se llega al veredicto

Hacen falta dos elecciones, en este orden.

  1. Qué grupo. El rastreador busca un grupo que nombre su propio token, sin distinguir mayúsculas. Si lo encuentra, obedece a ese grupo y a ningún otro. Solo recurre a User-agent: * cuando ningún grupo lo nombra. Esto sorprende a la gente continuamente: añade un grupo corto para Googlebot y habrás liberado a Googlebot de todas las reglas escritas bajo *. Los grupos que nombran el mismo token se leen como uno solo. Algunos rastreadores tienen una segunda opción documentada, que el probador aplica. Googlebot-Image y Applebot siguen el grupo de Googlebot cuando no tienen uno propio, y YandexBot sigue a Yandex.
  2. Qué regla. Dentro del grupo, toda regla cuyo patrón coincide con el comienzo de la ruta es candidata. Gana la candidata con el patrón más largo, esté donde esté en el archivo. Si coinciden un Allow y un Disallow de igual longitud, gana Allow. Si no coincide ninguna, la dirección está abierta.

Los patrones se comparan con la ruta y la cadena de consulta, carácter por carácter y distinguiendo mayúsculas. Dos caracteres son especiales: * representa cualquier secuencia de caracteres y $ justo al final significa “la ruta termina aquí”.

PatrónCoincide conNo coincide con
/fish/fish, /fish.html, /fishing/rods/Fish, /catfish
/fish//fish/, /fish/salmon/fish, /fish.html
/*.pdf$/guide.pdf, /docs/a.pdf/guide.pdf?v=2
/*?sort=/shoes?sort=price/shoes?page=2&sort=price

La codificación porcentual se unifica antes de comparar, así que /caf%C3%A9 y /café son la misma ruta.

Cómo leer el resultado

El resumen da el veredicto, el número de la línea que decide y el grupo que se aplicó. Debajo se imprime el archivo con números de línea. Las líneas del grupo aplicado llevan una barra y la línea decisiva aparece resaltada. Cuando coinciden varias reglas, una tabla pequeña las enumera con la longitud de su patrón, y esa longitud basta para ver por qué una gana a otra. Una última tabla da el veredicto para los demás rastreadores de la lista, porque un mismo archivo suele tratarlos de forma distinta.

El estado del archivo importa tanto como lo que contiene:

  • 404 o cualquier otro 4xx: no hay reglas, todas las direcciones están abiertas. Eso incluye el 403. Prohibir el archivo no prohíbe el rastreo.
  • 5xx, 429 o sin respuesta: el rastreador no puede conocer las reglas y debe mantenerse fuera de todo el sitio hasta que el archivo vuelva.
  • 200 con una página web dentro: no hay ninguna línea válida, así que no se bloquea nada. Pasa cuando un sitio responde a toda dirección desconocida con su página de inicio.

El probador también informa de las líneas que un rastreador omitirá: reglas colocadas antes de cualquier línea User-agent, nombres de directiva desconocidos o mal escritos, patrones que no empiezan por /, un archivo de más de 500 KiB, líneas Noindex: (Google las abandonó en 2019) y Crawl-delay, que Googlebot ignora.

Lo que un robots.txt no puede hacer

Es una petición. Los buscadores y las grandes empresas de IA dicen que la respetan. Los scrapers y los escáneres de seguridad no, así que nunca enumeres ahí una ruta secreta. Además, el archivo es público y cualquiera puede leerlo.

Bloquear una página no la elimina. Una página bloqueada no se descarga, pero su dirección aún puede aparecer en los resultados cuando otras páginas la enlazan. Para mantener una página fuera de un índice, déjala rastreable y responde con noindex en una etiqueta meta o en un encabezado X-Robots-Tag.

Esta página lee el archivo una vez, desde nuestro servidor. Un rastreador puede conservar una copia de hasta un día, y un sitio puede servir un archivo distinto a visitantes distintos. Además, cada rastreador tiene su propio analizador. Donde el estándar guarda silencio, por ejemplo con directivas mal escritas, leemos la línea como lo hace el analizador publicado por Google y te lo decimos.

Preguntas frecuentes

¿Cómo bloqueo un rastreador pero permito a todos los demás?

Dale a ese rastreador su propio grupo con Disallow: / y deja en paz a los demás:

User-agent: GPTBot
Disallow: /

Los rastreadores que no encuentran ningún grupo con su nombre usan el grupo *, o no tienen ninguna restricción si no existe.

¿Por qué mi página está bloqueada si hay una regla Allow para ella?

Hay dos posibilidades. Coincide también un patrón Disallow más largo, y gana el patrón más largo. O la regla Allow está en un grupo que el rastreador no lee, ya que un rastreador con su propio grupo ignora por completo el grupo *. El probador muestra qué grupo se aplicó y todas las reglas que coincidieron.

¿Disallow elimina una página de Google?

No. Impide que Google descargue la página, no que muestre su dirección. Usa noindex en la propia página y no bloquees esa página en robots.txt, o el rastreador nunca llegará a ver la instrucción.

¿robots.txt distingue mayúsculas de minúsculas?

Las rutas sí: Disallow: /Private no cubre /private. Los nombres de directivas y de rastreadores no: user-agent: googlebot y User-Agent: Googlebot significan lo mismo.

¿Qué significa una línea Disallow vacía?

Disallow: sin nada detrás no bloquea nada. Un grupo con solo esa línea dice “este rastreador puede descargarlo todo”. Disallow: /, con la barra, bloquea todo el sitio.

¿Cuánto tarda en aplicarse un cambio en robots.txt?

Los rastreadores conservan una copia del archivo, y el estándar les pide que no la usen durante más de 24 horas. Cuenta con que una regla nueva se cumpla en un día, a veces antes. Un Disallow nuevo no elimina las páginas que ya están en un índice.