Le fichier robots.txt peut-il se trouver dans le sous-répertoire d'un serveur?


16

J'ai un sous-répertoire que je voudrais cacher aux robots d'indexation des moteurs de recherche.

Une façon de le faire est d'utiliser un robots.txtdans le répertoire racine du serveur (la manière standard). Cependant, toute personne connaissant l'URL du site Web et possédant des connaissances de base sur le Web peut accéder au contenu du fichier robots.txt et repérer les répertoires interdits.

J'ai pensé à un moyen d'éviter cela, mais je ne sais pas si cela fonctionnera.

Soit Xle nom du sous-répertoire que je souhaite exclure. Une façon d'empêcher Web Crawlers d'indexer le Xrépertoire et en même temps de rendre plus difficile pour quelqu'un d'identifier le Xrépertoire à partir de la racine robots.txt, consiste à ajouter le robots.txtdans le Xrépertoire au lieu du répertoire racine.

Si je suis cette solution, j'ai les questions suivantes:

  1. Les explorateurs Web trouveront-ils le robots.txtdans le sous-répertoire? (étant donné que, il robots.txtexiste déjà et dans le répertoire racine aussi)
  2. Si se robots.txttrouve dans le Xsous-répertoire, dois-je utiliser des chemins relatifs ou absolus?:

    User-agent: *
    Disallow: /X/
    

    ou

    User-agent: *
    Disallow: /
    

2
Je ne sais pas pourquoi vous voulez éviter que les gens lisent vos répertoires interdits, mais s'il y a des données sensibles, elles ne devraient pas seulement être bloquées par les robots, mais également restreintes par une connexion ou une autre sécurité.
Andrew Lott

Ce n'est pas le cas, j'aimerais qu'un utilisateur spécifique y ait accès (rien de sensible en termes de données, juste pour la confidentialité) et je ne voudrais pas verrouiller l'annuaire.
Rafael

5
Si vous avez des problèmes de confidentialité, vous devez sécuriser les données d'une autre manière. Ce n'est pas à ça que sert le fichier robots.txt.
Andrew Lott

Réponses:


18

Non, les robots d'indexation Web ne liront ni n'obéiront à un fichier robots.txt dans un sous-répertoire. Comme décrit sur le site quasi officiel de robotstxt.org :

Où le mettre

La réponse courte: dans le répertoire de niveau supérieur de votre serveur Web.

ou sur les pages d'aide de Google (c'est moi qui souligne ):

Un robots.txtfichier est un fichier à la racine de votre site qui indique les parties de votre site auxquelles vous ne souhaitez pas accéder par les robots des moteurs de recherche.

Dans tous les cas, l'utilisation de robots.txt pour masquer les pages sensibles des résultats de recherche est de toute façon une mauvaise idée, car les moteurs de recherche peuvent indexer des pages interdites dans robots.txt si d'autres pages y sont liées. Ou, comme décrit sur la page d'aide Google liée ci-dessus:

Vous ne devez pas utiliser robots.txt pour masquer vos pages Web des résultats de recherche Google. En effet, d'autres pages peuvent pointer vers votre page et votre page peut être indexée de cette façon, en évitant le fichier robots.txt.

Alors, que devez-vous faire à la place?

  • Vous pouvez laisser les moteurs de recherche explorer les pages (s'ils les trouvent), mais inclure une balise Meta robots avec le contenu noindex,nofollow. Cela indiquera aux moteurs de recherche de ne pas indexer ces pages même s'ils trouvent des liens vers celles-ci et de ne suivre aucun autre lien à partir de ces pages. (Bien sûr, cela ne fonctionnera que pour les pages Web HTML.)

  • Pour les ressources non HTML, vous pouvez configurer votre serveur Web (par exemple en utilisant un .htaccessfichier) pour envoyer l'en -tête HTTP X-Robots-Tag avec le même contenu.

  • Vous pouvez configurer l'authentification par mot de passe pour protéger les pages sensibles. En plus de protéger les pages des visiteurs humains non autorisés, il éloignera également efficacement les robots d'indexation.


Fantastique, est une page HTML statique, qui en ajoutant la balise meta fera l'affaire. Je vous remercie.
Rafael

5

Vous robots.txtdevez être dans le répertoire racine et ne pas avoir d'autre nom. Selon la spécification standard :

Ce fichier doit être accessible via HTTP sur l'URL locale "/robots.txt".


Cela dit, les robots d'indexation Web ne rechercheront aucun autre répertoire pour robots.txt?
Rafael

1
Pas que j'aie jamais vu. /robots.txtest la norme, alors comment les moteurs de recherche sauraient-ils même où chercher autrement?
Andrew Lott

0

Vous POUVEZ réellement utiliser un fichier robots.txt dans un sous-répertoire. C'est actuellement ainsi que nous traitons nos sous-domaines linguistiques. Nous utilisons une redirection 301 du /robots.txt vers un /lang/robots.txt (par sous-domaine) et il est correctement récupéré.

Il sélectionne également la structure de dossiers comme racine correcte, lors de l'utilisation d'une simple barre oblique. par exemple. interdire: /

est traité comme interdisant tout et pas seulement le sous-répertoire actuel dans lequel se trouve le fichier {redirected} robots.txt.

Mais encore une fois, nous redirigeons avec un 301 et avons cela en place, donc sans un 301, je doute qu'il soit jamais trouvé ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.