J'exécute un robot d'indexation à grande échelle. Nous nous efforçons de faire fonctionner le robot dans les normes de la communauté acceptées, et cela inclut le respect de robots.txt. Nous recevons très peu de plaintes concernant le robot, mais lorsque nous le faisons, la majorité concerne notre gestion de robots.txt. Le plus souvent, le Webmaster a fait une erreur dans son fichier robots.txt et nous tenons à signaler l'erreur. Mais périodiquement, nous rencontrons des zones grises qui impliquent la manipulation de Allow
et Disallow
.
La page robots.txt ne couvre pas Allow
. J'ai vu d'autres pages, dont certaines disent que les robots d'exploration utilisent une règle de "première correspondance", et d'autres qui ne spécifient pas. Cela crée une certaine confusion. Par exemple, la page de Google sur robots.txt avait l'habitude d'avoir cet exemple:
User-agent: Googlebot
Disallow: /folder1/
Allow: /folder1/myfile.html
De toute évidence, une règle de "première correspondance" ici ne fonctionnerait pas, car le robot verrait Disallow
le fichier et s'en irait, sans jamais analyser le fichier spécifiquement autorisé.
Nous sommes en clair si nous ignorons toutes les Allow
lignes, mais nous pourrions alors ne pas explorer quelque chose que nous sommes autorisés à explorer. Nous allons manquer des choses.
Nous avons eu beaucoup de succès en vérifiant d' Allow
abord, puis en vérifiant Disallow
, l'idée étant que cela Allow
devait être plus précis que Disallow
. En effet, par défaut (c'est-à-dire en l'absence d'instructions contraires), tout accès est autorisé. Mais alors nous rencontrons quelque chose comme ceci:
User-agent: *
Disallow: /norobots/
Allow: /
L'intention ici est évidente, mais cela Allow: /
entraînera un bot qui vérifie d' Allow
abord qu'il peut explorer quoi que ce soit sur le site.
Même cela peut être contourné dans ce cas. Nous pouvons comparer la correspondance Allow
avec la correspondance Disallow
et déterminer que nous ne sommes pas autorisés à explorer quoi que ce soit dans / norobots /. Mais cela tombe en panne face aux caractères génériques:
User-agent: *
Disallow: /norobots/
Allow: /*.html$
La question, alors, est-elle autorisée à ramper /norobots/index.html
?
La règle de "première correspondance" élimine toute ambiguïté, mais je vois souvent des sites qui montrent quelque chose comme l'ancien exemple de Google, en mettant le plus spécifique Allow
après le Disallow
. Cette syntaxe nécessite plus de traitement par le bot et conduit à des ambiguïtés qui ne peuvent pas être résolues.
Ma question est donc la suivante: quelle est la bonne façon de faire les choses? Qu'attendent les webmasters d'un bot bien élevé en matière de manipulation de robots.txt?
la source
Réponses:
Une note très importante: la Allow déclaration doit venir avant la Disallow déclaration, peu importe la façon dont vos propres déclarations sont. Donc, dans votre troisième exemple - non, les robots ne vont pas ramper
/norobots/index.html
.En règle générale, en règle générale, je mets d'abord les instructions allow, puis j'énumère les pages et les dossiers interdits.
la source
Voici mon point de vue sur ce que je vois dans ces trois exemples.
Exemple 1
J'ignorerais le
/folder1/
répertoire entier sauf lemyfile.html
fichier. Puisqu'ils le permettent explicitement, je suppose qu'il était tout simplement plus facile de bloquer tout le répertoire et d'autoriser explicitement ce fichier au lieu de répertorier tous les fichiers qu'ils voulaient bloquer. Si ce répertoire contenait beaucoup de fichiers et de sous-répertoires, ce fichier robots.txt pourrait devenir rapidement difficile à utiliser.Exemple 2
Je suppose que le
/norobots/
répertoire est hors limites et que tout le reste est disponible pour être analysé. J'ai lu cela comme "tout explorer sauf le répertoire / norobots /".Exemple 3
Similaire à l'exemple 2, je suppose que le
/norobots/
répertoire est hors limites et que tous les.html
fichiers qui ne se trouvent pas dans ce répertoire sont disponibles pour être analysés. J'ai lu ceci comme "analyser tous les fichiers .html mais n'explorer aucun contenu dans le répertoire / norobots /".J'espère que l'agent utilisateur de votre bot contient une URL où ils peuvent trouver plus d'informations sur vos habitudes d'exploration et faire des demandes de suppression ou vous donner des commentaires sur la façon dont ils veulent que leur robots.txt soit interprété.
la source