← Todos los checks
SeguridadSeveridad típica: Bajo

Rutas sensibles en robots.txt

Detecta rutas sensibles (admin, backups, .git) listadas en robots.txt que las revelan a un atacante.

Qué comprueba

Este escáner lee tu archivo robots.txt y busca rutas sensibles listadas en él, como paneles de administración, carpetas de backups o directorios como .git. Detecta cuando esas rutas quedan escritas de forma visible en un archivo público.

Por qué importa

El archivo robots.txt es público y cualquiera puede leerlo, incluidos posibles atacantes. Al listar ahí tus rutas privadas, en lugar de esconderlas les estás dando un mapa directo de dónde buscar zonas interesantes de tu sitio.

Cómo se arregla

No uses robots.txt para ocultar rutas sensibles: protégelas de verdad con autenticación o restricciones de acceso. Si necesitas que una zona no se indexe, es mejor usar cabeceras noindex o proteger el acceso, en lugar de nombrarla en un archivo público.

Cómo funciona esta comprobación

Scanaris descarga tu /robots.txt y comprueba primero que es un robots de verdad: responde 200, no es HTML y contiene al menos una directiva (User-agent, Disallow, Allow o Sitemap). Luego recorre cada línea Disallow: y mira si la ruta contiene alguno de estos indicadores: wp-admin, phpmyadmin, /admin, backup, .git, .env, /private, /secret, dump, .sql, password o credential. Si alguna coincide, abre un hallazgo de severidad baja con las rutas encontradas. La lista es deliberadamente corta: palabras como test, old, tmp o logs aparecen en robots perfectamente legítimos y daban falsos positivos.

Por qué importa

robots.txt es público por definición: cualquiera puede leerlo, y de hecho es de los primeros archivos que mira una herramienta de reconocimiento. Cuando escribes Disallow: /backups/ o Disallow: /admin-antiguo/ no estás escondiendo esas rutas; se las estás apuntando a quien las busca, con la garantía añadida de que te importan. Google no las rastreará, pero un atacante no lee robots para obedecerlo, sino para saber adónde ir. Es un hallazgo de severidad baja porque listar una ruta no la hace accesible; el problema aparece cuando la ruta listada, además, no está protegida.

Cómo arreglarlo

  • Quita de robots.txt las rutas que no quieras anunciar. Si no quieres que Google indexe una zona privada, lo correcto es que esa zona pida login; lo que está detrás de una autenticación no se indexa de todos modos.
  • Si necesitas que una página accesible no salga en buscadores sin anunciarla, usa la cabecera X-Robots-Tag: noindex o la meta robots en esa página. Los buscadores la respetan y no queda escrita en un archivo público.
  • Protege la ruta de verdad. Un panel en /admin necesita autenticación, no una línea en robots. Una carpeta /backups/ no debería estar en el directorio público en absoluto; las comprobaciones de archivos sensibles y listado de directorios cubren esos casos.
  • WordPress: el robots virtual que genera incluye Disallow: /wp-admin/ por defecto. No es grave, porque wp-admin ya exige login y además envía noindex; puedes dejarlo o sustituir robots por uno propio sin esa línea. Lo importante es que el login tenga contraseñas fuertes, límite de intentos y, si puedes, doble factor.

Un robots.txt sano suele ser corto: un User-agent: *, quizá un par de Disallow para rutas de búsqueda interna o parámetros, y la línea Sitemap:. Si el tuyo tiene veinte líneas de rutas "privadas", está haciendo el trabajo de un sistema de permisos, y mal.

Comprueba que está arreglado

curl -s https://tudominio.com/robots.txt | grep -iE "^disallow:.*(admin|phpmyadmin|backup|\.git|\.env|private|secret|dump|\.sql|password|credential)"

No debería salir nada. Y para cada ruta que hayas quitado, comprueba que de verdad pide autenticación o devuelve 404:

curl -s -o /dev/null -w "%{http_code}\n" https://tudominio.com/admin/

Preguntas frecuentes

Si quito /admin de robots.txt, ¿Google lo va a indexar?

Si /admin pide login, Google solo ve la pantalla de acceso, y lo normal es que esa pantalla lleve noindex. Si no pide login, el problema no es la indexación, es que tu panel está abierto.

¿Puedo bloquear todo y listar solo lo público?

Para una web que quiere tráfico orgánico, no: bloquear todo con Disallow: / la saca de los buscadores. Si lo que quieres es controlar el rastreo, la comprobación de robots y sitemap mira que no te estés bloqueando a ti mismo.

¿Y los bots de IA?

Bloquear o permitir GPTBot, ClaudeBot y compañía es una decisión de negocio distinta y va en el mismo archivo. No tiene relación con esta comprobación, que solo mira rutas sensibles.

Compruébalo en tu web

Escanea tu web gratis y mira si este y otros 44 checks pasan, con un prompt de arreglo por cada fallo.

Escanear mi web gratis

Checks relacionados