Je dresse mon robot moi mooosieur

On a vu la théorie dans le dernier article, passons maintenant à la pratique… Comment va t-on dresser ces fouineurs de robots et les contraindre à notre volonté ?

Le gros avantage du REP est sa flexibilité; on peut donc définir des directives pour un site entier, un sous-domaine, un dossier, certaines pages etc… Bref il est possible d’affiner de plus en plus ses directives afin d’obtenir la configuration que vous aurez choisi.
Commençons donc par l’implémentation du robots.txt au niveau d’un domaine
Le fichier robots.txt est un fichier texte encodé en utf-8 et placé à la racine du domaine (il sera ignoré s’il est placé ailleurs ou même dans un sous domaine). Les directives sont composées d’une instruction user-agent qui indique au robot si la directive lui est adressée et d’une ou plusieurs directives indiquant au robot ce qu’il doit crawler ou pas et/ou indexer ou pas.

Voici un exemple très simple:

User-agent: *
Disallow: /images

user-agent: indique quels robots sont concernés

  • * indique que tous les robots sont concernés
  • peut aussi être appliqué spécifiquement à un robot dans ce cas, il obéira à cette directive en ignorant toute directive générique (*) préalable

Disallow: indique quel contenu doit être bloqué ou pas

  • Toute directive doit commencer par un slash (/)
  • Dans l’exemple ci dessus, la directive bloque tous les accès au répertoire /images incluant tous les fichiers et sous-dossiers

Attention:
Les directives sont sensibles à la casse : Disallow: /images ne bloquera donc pas /Images
Dnas le cas d’un conflit, un robot suivra en priorité la directive la plus spécifique !

Voici quelques exemples d’applications qui devraient couvrir la plupart des situations courantes:

Directives classiques

Comment bloquer tous les robots ?

User-agent: *
Disallow: /

Comment bloquer tous les robots par défaut mais permettre l’accès à certains dossiers ?

Attention: c’est assez difficile à maintenir, il vaut toujours mieux permettre l’accès par défaut et bloquer des contenus spécifiques que l’inverse. Méfiez vous donc de cette directive.

User-agent: *
Disallow: /
Allow: /Public/
Allow: /articles/
Allow: /images/

Comment bloquer un dossier spécifique ?

User-agent: *Disallow: /images/

Comment bloquer un dossier mais permettre l’accès à certains fichiers de ce même dossier?

User-agent: *
Disallow: /images/
Allow: /images/image1.jpg

Comment interdire un groupe de robots (par exemple Google) mais permettre a un des robots en particulier d’y accéder ?

Dans l’exemple : interdit Googlebot (soit tous les robots de Google) mais permet l’accès à Googlebot pour mobiles

User-agent: Googlebot
Disallow: /
User-agent: Googlebot-Mobile
Allow: /

Directives conditionnelles

Deux caractères sont utilisés pour ce type de directives:

* indique n’importe quelle chaîne de caractères
$ indique la fin d’une URL

Comment bloquer les urls contenant un caractère spécifique ?

Dans l’exemple : comment bloquer les urls contenant un « ? »

User-agent: *
Disallow: /*?

Comment bloquer les urls se terminant par un caractère spécifique ?

Dans l’exemple : Comment bloquer les urls se terminant par .php
Attention : Cette directive bloquera /index.php mais pas index.php?id=12

User-agent: *
Disallow: /*.php$

Comment combiner plusieurs directives ?

Dans l’exemple : Comment bloquer les urls contenant « ? » mais autoriser celles se terminant par « ? »

User-agent: *
Disallow: /*?
Allow: /*?$

Voila, la suite dans le prochain article avec d’autres applications possible.

SocialTwist Tell-a-Friend
Partager:
  • del.icio.us
  • BlogMemes Fr
  • Fuzz
  • Wikio
  • Technorati
  • TwitThis

>> Je dresse mon robot moi mooosieur
Cet article vous a plus ? Abonnez-vous au flux RSS

Articles connexes

Commentaires

Laissez un commentaire




Rankmyday - lecteurs

Lecteurs Mybloglog

Lecteurs Friend connect