annuaire-info

Bien plus qu'un annuaire d'annuaires !

Extensions à la directive Disallow

Google, Yahoo et Microsoft se sont mis d’accord pour proposer quelques extensions à la syntaxe robots.txt standard. Nous présentons ici les extensions de la directive Disallow. Dans d’autres pages consacrées aux extensions, nous présentons la directive Allow et la directive Sitemaps.

N’oubliez pas que ces extensions ne sont pas comprises ou qu’elles sont mal interprétées par les autres robots. Nous allons expliquer comment les utiliser sans créer de problèmes avec les autres robots.

Caractère spécial $

Selon l’extension, le caractère $ placé à la fin de la directive indique que ce qui précède doit correspondre à l’URL complète.

Conformément au standard robots.txt original,
Disallow: /abc/xyz/
interdit tout accès au répertoire /abc/xyz/. Selon ce standard, il n’est pas possible d’interdire uniquement l’accès à /abc/xyz/ tout en autorisant l’accès aux fichiers présents dans le répertoire.

D’après l’extension,
Disallow: /abc/xyz/$
interdit tout accès à /abc/xyz/ tout en autorisant l’accès aux fichiers présents dans le répertoire.

Voici un autre exemple simple:

Selon le standard,
Disallow: /page.htm
interdit l’accès à toute adresse commençant par /page.htm. L’accès à /page.html est donc aussi interdit.

Pour les robots comprenant l’extension,
Disallow: /page.htm$
interdit uniquement l’accès à l’adresse /page.htm. L’accès à page.html est donc autorisé.

Caractère spécial *

Selon l’extension, le caractère * peut remplacer n’importe quelle séquence de caractères. Cela est utile quand on veut éviter qu’une série d’adresses ayant une partie commune ne soit visitée par les robots.

Disallow: /*.jpg$
interdit l’accès à tous les fichiers .jpg du site

Disallow: /report/*-uk.php
interdit l’accès à tous les adresses comprenant -uk.php dans le répertoire /report/.

Incompatibilités entre l’extension et le standard original

Les caractères $ et * n’ayant pas de signification particulière dans le standard robots.txt original, les directives qui les utilisent seront sans effet pour les robots qui ne sont pas compatibles avec l’extension de Google, Yahoo et Microsoft.

Disallow: /xyz/*
n’a pas la même signification dans l’extension que dans le standard original.

  • selon l’extension, tout accès au répertoire /xyz/ est interdit
  • selon le standard, seul l’accès à des adresses appartenant au répertoire /xyz/ et commençant par le caractère * est interdit. Autant dire que rien n’est interdit.

Disallow: /xyz/
a la même signification pour le standard et pour l’extension. Cette directive interdit tout accès au répertoire /xyz/. Même si on utilise l’extension, il faut donc éviter d’utiliser * comme dernier caractère d’une directive Disallow.

Bonne utilisation de l’extension

Si on souhaite utiliser l’extension tout en évitant toute mauvaise interprétation du fichier robots.txt, on créera un bloc d’instructions destinées à Google, Yahoo et Microsoft et un autre bloc d’instructions destinées aux autres robots.

User-agent: *
Disallow: /abc/
Disallow: /images/
 
User-agent: googlebot
User-agent: slurp
User-agent: msnbot
Disallow: /abc/
Disallow: /images/*.jpg$

Dans cet exemple, on interdit le répertoire /abc/ à tous les robots et on interdit les images .jpg à Google, Yahoo et Microsoft, tout en interdisant tout accès au répertoire /images/ aux autres robots.

Comparons avec ce qui se passe si on crée le fichier robots.txt comme ceci:
User-agent: *
Disallow: /abc/
Disallow: /images/*.jpg$

Ici le répertoire /abc/ est interdit à tous les robots et les images .jpg sont interdites à Google, Yahoo et Microsoft, tout en étant autorisées aux autres robots, parce que ces autres robots ne trouvent aucun fichier appelé *.jpg$ dans le répertoire /images/.



Aucun commentaire à propos de “Extensions à la directive Disallow

Soyez le premier à commenter !

Ajout de commentaire