Blog · 19 may 2026 · 3 min de lectura

robots.txt: el archivo que creaste para ocultar rutas y que los atacantes leen primero

robots.txt le dice a Google qué páginas no indexar. El problema: es público, está en una ruta predecible, y muchos sitios lo usan para listar exactamente lo que más les interesa proteger. Qué no poner ahí y cómo corregirlo.

Ilustración del artículo — clic para ampliar

Hay un archivo en casi todos los sitios web que vive en una ruta fija y predecible: https://tu-sitio.cl/robots.txt. No requiere contraseña. Cualquiera lo puede abrir en el navegador ahora mismo.

Fue diseñado para decirle a Google “este directorio no lo indexes, por favor”. El problema es que quien quiere encontrar rutas interesantes en un sitio, ese archivo es lo primero que revisa.

Para qué existe

robots.txt es parte del Robots Exclusion Protocol — un acuerdo informal entre sitios web y motores de búsqueda. Básicamente es una lista de instrucciones para bots bien educados:

User-agent: *
Disallow: /admin/
Disallow: /backup/
Disallow: /staging/

La intención es razonable: evitar que el panel de administración aparezca en los resultados de búsqueda. El error está en creer que eso lo oculta.

El malentendido: “no indexar” no es lo mismo que “ocultar”

robots.txt no es un control de acceso. Es un archivo de texto con sugerencias para bots que decidan respetarlo.

Cuando agregas /admin/ al Disallow, Google lo respeta y no lo indexa. Pero cualquier persona (o script de reconocimiento) lee tu robots.txt primero y obtiene exactamente el mapa de lo que quieres esconder.

Es como poner un cartel en la puerta de tu bodega que dice “aquí guardamos los documentos confidenciales, por favor no entrar”. El cartel no impide la entrada — solo señala dónde está lo interesante.

Qué suelen revelar

En los escaneos de FreeScan es frecuente encontrar robots.txt que exponen rutas como:

Si alguna de esas rutas existe en tu servidor sin autenticación, el robots.txt acaba de anunciarlo.

Qué hacer

Protege las rutas que importan

robots.txt no reemplaza la autenticación. Si una ruta es sensible, la protección tiene que ser técnica.

En Apache, para que /admin/ solo sea accesible desde tu IP:

<Directory "/var/www/html/admin">
    Require ip 203.0.113.10
</Directory>

En nginx:

location /admin/ {
    allow 203.0.113.10;
    deny all;
}

Sé mínimo con lo que listas

Si no tienes una razón concreta para incluir una ruta, no la incluyas. La mayoría de los sitios puede usar simplemente:

User-agent: *
Disallow:

Eso le dice a Google que puede indexar todo sin revelar nada.

Si quieres bloquear todo el sitio a los crawlers (útil en entornos de staging):

User-agent: *
Disallow: /

Usa noindex en las páginas que no quieres indexar

Para páginas concretas como la de login o de confirmación de formulario, la alternativa correcta es una etiqueta en el HTML de esa página:

<meta name="robots" content="noindex, nofollow">

Le dices a Google “no indexe esta página” sin publicar un mapa de rutas.

Cómo verificar el tuyo ahora mismo

Abre en tu navegador:

https://tu-sitio.cl/robots.txt

Léelo con ojos de atacante: ¿alguna de esas rutas revela algo que no quieres compartir? ¿Están realmente protegidas por autenticación?

También puedes consultarlo desde terminal:

curl -s https://tu-sitio.cl/robots.txt

La regla de oro

robots.txt controla la indexación en buscadores. No es seguridad ni oculta nada de nadie que no sea un crawler bien educado.

Si algo es sensible, protégelo con acceso restringido. Si no es sensible, no importa que aparezca en el archivo. Y si aparece en el archivo pero no está protegido — ese es el problema real.

Compartir

Artículos relacionados

¿Quieres una segunda opinión sobre tu sitio?

Si lo que leíste te dejó preguntas sobre tu propio dominio, podemos partir conversando — sin compromiso.

Conversemos