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?