¿Puede robots.txt estar en el subdirectorio de un servidor?

16

Tengo un subdirectorio que me gustaría ocultar de los rastreadores web del motor de búsqueda.

Una forma de hacerlo es usar a robots.txten el directorio raíz del servidor (la forma estándar). Sin embargo, cualquier persona que conozca la URL del sitio web y tenga algún conocimiento básico de la web puede acceder al contenido de robots.txt y puede detectar los directorios no permitidos.

Pensé en una forma de evitar esto, pero no estoy seguro de si funcionará.

Deje Xser el nombre del subdirectorio que quiero excluir. Una forma de evitar que los rastreadores web indexen el Xdirectorio y, al mismo tiempo, dificultar que alguien identifique el Xdirectorio desde la raíz robots.txt, es agregar robots.txtel Xdirectorio en el directorio en lugar del directorio raíz.

Si sigo esta solución, tengo las siguientes preguntas:

  1. ¿Los rastreadores web encontrarán el robots.txten el subdirectorio? (dado que robots.txtya existe un y en el directorio raíz)
  2. Si robots.txtestá en el Xsubdirectorio, ¿debería usar rutas relativas o absolutas ?:

    User-agent: *
    Disallow: /X/
    

    o

    User-agent: *
    Disallow: /
    
Rafael
fuente
2
No estoy seguro de por qué quiere evitar que las personas lean sus directorios no permitidos, pero si hay datos confidenciales, no solo deberían ser bloqueados por los robots, sino también restringidos por un inicio de sesión u otra seguridad.
Andrew Lott el
Ese no es el caso, me gustaría que un usuario específico tenga acceso a él (nada sensible en términos de datos, solo por privacidad) y me gustaría no bloquear el directorio.
Rafael
55
Si tiene problemas de privacidad, debe proteger los datos de alguna otra manera. Para eso no está el archivo robots.txt.
Andrew Lott el

Respuestas:

18

No, los rastreadores web no leerán ni obedecerán un archivo robots.txt en un subdirectorio. Como se describe en el sitio cuasi oficial de robotstxt.org :

Donde ponerlo

La respuesta corta: en el directorio de nivel superior de su servidor web.

o en las páginas de ayuda de Google ( énfasis mío):

Un robots.txtarchivo es un archivo en la raíz de su sitio que indica aquellas partes de su sitio a las que no desea que accedan los rastreadores de motores de búsqueda.

En cualquier caso, usar robots.txt para ocultar páginas sensibles de los resultados de búsqueda es una mala idea de todos modos, ya que los motores de búsqueda pueden indexar páginas no permitidas en robots.txt si otras páginas enlazan con ellas. O, como se describe en la página de ayuda de Google vinculada anteriormente:

No debe utilizar robots.txt como un medio para ocultar sus páginas web de los resultados de la Búsqueda de Google. Esto se debe a que otras páginas podrían apuntar a su página, y su página podría indexarse ​​de esa manera, evitando el archivo robots.txt.

Entonces, ¿qué deberías hacer en su lugar?

  • Puede dejar que los motores de búsqueda rastreen las páginas (si las encuentran), pero incluya una metaetiqueta de robots con el contenido noindex,nofollow. Esto le indicará a los motores de búsqueda que no indexen esas páginas, incluso si encuentran enlaces a ellas, y que no sigan más enlaces de esas páginas. (Por supuesto, esto solo funcionará para páginas web HTML).

  • Para recursos que no sean HTML, puede configurar su servidor web (por ejemplo, usando un .htaccessarchivo) para enviar el encabezado HTTP X-Robots-Tag con el mismo contenido.

  • Puede configurar la autenticación de contraseña para proteger las páginas sensibles. Además de proteger las páginas de visitantes humanos no autorizados, también mantendrá alejados a los rastreadores web.

Ilmari Karonen
fuente
Fantástico, es una página HTML estática, que al agregar la metaetiqueta hará el truco. Gracias.
Rafael
5

Su robots.txtdebería estar en el directorio raíz y no debe tener ningún otro nombre. De acuerdo con la especificación estándar :

Este archivo debe ser accesible a través de HTTP en la URL local "/robots.txt".

Andrew Lott
fuente
Dicho esto, los rastreadores web no buscarán ningún otro directorio para robots.txt.
Rafael
1
No es que lo haya visto nunca. /robots.txtes el estándar, entonces, ¿cómo sabrían los motores de búsqueda dónde buscar?
Andrew Lott
0

PUEDES usar un archivo robots.txt en un subdirectorio. Actualmente, así es como tratamos nuestros subdominios de idiomas. Utilizamos un redireccionamiento 301 desde /robots.txt a /lang/robots.txt (por subdominio) y se está recogiendo correctamente.

También está recogiendo la estructura de carpetas como la raíz correcta, cuando se utiliza una barra diagonal simple. p.ej. no permitir: /

se trata como rechazar todo y no solo el subdirectorio actual en el que reside el archivo robots.txt {redirigido}.

Pero nuevamente, redirigimos con un 301 y lo tenemos en su lugar, así que sin un 301, dudo que alguna vez se encuentre ...

Puntilla
fuente