Voici un exemple de fichier robots.txt pour autoriser plusieurs agents utilisateurs avec plusieurs retards d'exploration pour chaque agent utilisateur. Les valeurs de délai d'exploration sont à des fins d'illustration et seront différentes dans un vrai fichier robots.txt.
J'ai cherché sur le Web des réponses correctes mais je n'en ai pas trouvé. Il y a trop de suggestions mitigées et je ne sais pas quelle est la méthode correcte/appropriée.
Questions:
(1) Chaque agent utilisateur peut-il avoir son propre délai d'exploration? (Je suppose que oui)
(2) Où placez-vous la ligne de délai de crawl pour chaque agent utilisateur, avant ou après la ligne Allow/Dissallow?
(3) Doit-il y avoir un blanc comme entre chaque groupe d'agent utilisateur.
Références:
http://www.seopt.com/2013/01/robots-text-file/
http://help.yandex.com/webmaster/?id=1113851#1113858
Essentiellement, je cherche à savoir à quoi devrait ressembler le fichier final robots.txt en utilisant les valeurs de l'exemple ci-dessous.
Merci d'avance.
# Allow only major search spiders
User-agent: Mediapartners-Google
Disallow:
Crawl-delay: 11
User-agent: Googlebot
Disallow:
Crawl-delay: 12
User-agent: Adsbot-Google
Disallow:
Crawl-delay: 13
User-agent: Googlebot-Image
Disallow:
Crawl-delay: 14
User-agent: Googlebot-Mobile
Disallow:
Crawl-delay: 15
User-agent: MSNBot
Disallow:
Crawl-delay: 16
User-agent: bingbot
Disallow:
Crawl-delay: 17
User-agent: Slurp
Disallow:
Crawl-delay: 18
User-agent: Yahoo! Slurp
Disallow:
Crawl-delay: 19
# Block all other spiders
User-agent: *
Disallow: /
# Block Directories for all spiders
User-agent: *
Disallow: /ads/
Disallow: /cgi-bin/
Disallow: /scripts/
(4) Si je veux définir tous les agents utilisateurs pour qu'ils aient un délai d'exploration de 10 secondes, est-ce que ce qui suit est correct?
# Allow only major search spiders
User-agent: *
Crawl-delay: 10
User-agent: Mediapartners-Google
Disallow:
User-agent: Googlebot
Disallow:
User-agent: Adsbot-Google
Disallow:
User-agent: Googlebot-Image
Disallow:
User-agent: Googlebot-Mobile
Disallow:
User-agent: MSNBot
Disallow:
User-agent: bingbot
Disallow:
User-agent: Slurp
Disallow:
User-agent: Yahoo! Slurp
Disallow:
# Block all other spiders
User-agent: *
Disallow: /
# Block Directories for all spiders
User-agent: *
Disallow: /ads/
Disallow: /cgi-bin/
Disallow: /scripts/
(1) Chaque agent utilisateur peut-il avoir son propre délai d'exploration?
Oui. Chaque enregistrement, démarré par un ou plusieurs User-agent
lignes, peut avoir un Crawl-delay
ligne. Notez que Crawl-delay
ne fait pas partie de la spécification originale robots.txt . Mais ce n'est pas un problème de les inclure pour les analyseurs qui le comprennent, comme la spécification définit :
Les en-têtes non reconnus sont ignorés.
Ainsi, les anciens analyseurs de robots.txt ignoreront simplement votre Crawl-delay
lignes.
(2) Où placez-vous la ligne de délai de crawl pour chaque agent utilisateur, avant ou après la ligne Allow/Dissallow?
Peu importe.
(3) Doit-il y avoir un blanc comme entre chaque groupe d'agent utilisateur.
Oui. Records doivent être séparés par une ou plusieurs nouvelles lignes. Voir spécification d'origine :
Le fichier se compose d'un ou plusieurs enregistrements séparés par une ou plusieurs lignes vides (terminées par CR, CR/NL ou NL).
(4) Si je veux définir tous les agents utilisateurs pour qu'ils aient un délai d'exploration de 10 secondes, est-ce que ce qui suit est correct?
Non. Les robots recherchent des enregistrements qui correspondent à leur agent utilisateur. Seulement s'ils ne trouvent pas de document, ils utiliseront le User-agent: *
record. Ainsi, dans votre exemple, tous les bots répertoriés (comme Googlebot
, MSNBot
, Yahoo! Slurp
etc.) aura nonCrawl-delay
.
Notez également que vous ne pouvez pas avoir plusieurs enregistrements avec User-agent: *
:
Si la valeur est '*', l'enregistrement décrit la stratégie d'accès par défaut pour tout robot qui ne correspond à aucun des autres enregistrements. Il n'est pas autorisé d'avoir plusieurs enregistrements de ce type dans le fichier "/robots.txt".
Les analyseurs peuvent donc rechercher (si aucun autre enregistrement ne correspond) le premier enregistrement avec User-agent: *
et ignorez les suivants. Pour votre premier exemple, cela signifierait que les URL commençant par /ads/
, /cgi-bin/
et /scripts/
sont pas bloqués.
Et même si vous n'avez que un enregistrez avec User-agent: *
, ces lignes Disallow
sont uniquement pour les bots qui n'ont aucune autre correspondance d'enregistrement! Comme votre commentaire # Block Directories for all spiders
suggérez que vous vouliez que ces chemins d'URL soient bloqués pour les tous araignées, vous devrez donc répéter les lignes Disallow
pour tous les = enregistrement.