Le fichier robots.txt

 

Permet d'éviter l'indexation de tout ou partie d'un site par les robots des moteurs de recherche ou par un robot spécifique.

En effet on peut vouloir éviter l'indexation d'un répertoire technique (pages dynamiques d'un site "rewrité"...) ou privé (statistiques...).

A chaque visite du site, les robots recherchent en premier un fichier robots.txt à la racine du site. En l'absence de ce fichier, le robot considère qu'il a le droit de tout indexer.

Le respect de ce fichier ne repose que sur la bonne volonté et l'honnêteté des robots... Ce fichier ne peut pas assurer la confidentialité d'un répertoire !

Depuis 2007, le fichier robots.txt a une fonction suplémentaire : indiquer aux robots l'adresse du plan "sitemap".

Généralités

Un seul fichier robots.txt, placé à la racine du site (sauf cas particulier).

Le nom robots.txt est en minuscule (avec un "s" à robots).

Le fichier est enregistré en format texte.


# Des commentaires peuvent être faits, en les débutant par le signe #.

# fichier robots.txt du site www.machin.truc

Les interdictions sont regroupées en "enregistrements", un par robot ou groupe.

Chaque enregistrement est composé de
- une ou plusieurs lignes User-agent: indiquant les robots
- une ou plusieurs lignes Disallow: indiquant les interdictions.

Une ligne blanche indique la fin de l'enregistrement, le séparant du suivant.

User-agent: *            # ici le robot concerné (tous, dans ce cas)
Disallow: /prive/        # ici ce qui lui est interdit

User-agent: machin-bot   # ce robot
User-agent: bidule-bot   # et cet autre robot
Disallow: /doc/frame.htm # ont tous deux cette interdiction
Disallow: /map           # et encore celle-ci.
 

NB : User-agent: et Disallow: sont insensibles à la casse. L'espace ou "blanc" qui les suit est facultatif.

User-agent:

User-agent: indique les robots concernés.

User-agent: *          # interdiction concernant tous les robots.
User-agent: GoogleBot  # interdiction uniquement de Googlebot.

Disallow:

Disallow: indique les répertoires et fichiers interdits.

Disallow:    # rien n'est interdit (= tout peut être indexé)
Disallow: /  # tout est interdit ! (répertoire racine et contenu)
Disallow: /prive/  # répertoire "prive" est interdit.
Disallow: /prive   # répertoire ou fichier nommé "prive"
                   # ou commençant par "prive".

Voir ci-dessous l'emploi d'expression régulière par MSN et Google.

Exemples :

# site www.chose.com
User-agent: *
Disallow:

Ci-dessus : concerne tous les robots, rien n'est interdit = tous les robots ont tous les droits. (Même effet qu'un fichier robots.txt vide ou absent.)


# robots.txt du site www.mon-domaine.net
User-agent: *
Disallow: /

User-agent: GoogleBot
User-agent: Fast
Disallow:

User-agent: VoilaBot
Disallow: /stat/

Ci-dessus, Googlebot et Fast ont le droit d'indexer le site entier. Voila peut l'indexer sauf le répertoire "stat". Les autres moteurs sont interdits.

Indication du Sitemap

Depuis 2007, le fichier robots.txt peut comprendre l'indication de l'adresse du "sitemap" :

# robots.txt du site www.example.org

Sitemap: http://www.example.org/plansitemap.xml

En savoir plus :

Contrôle du fichier robots.txt

Futur standard ?

Les possibilités du standard actuel sont encore bien pauvres. Certaines initiatives sont intéressantes :

NB : ceci n'étant pas encore standard, un contrôleur de fichiers robots.txt marquera une erreur.

Emploi d'une "expression régulière" :

MSN (1) permet d'empêcher d'indexer certains types de fichiers :

User-agent: msnbot
Disallow: /*.[extension_de_fichier]$

Exemple pour empêcher d'indexer les jpg :

User-agent: psbot  # robot Picsearch collecteur d'images de MSN
Disallow: /*.jpg$
Disallow: /*.jpeg$

Google l'a adopté (3) (depuis avant juin 2006) :

Disallow: /*.[extension_de_fichier]$
Disallow: /*?   # concerne des pages dynamiques (URL contenant le caractère "?")

Yahoo! et Exalead adoptent aussi * et $ (automne 2006)

Crawl-delay:

MSN (1), Yahoo! (2) et Exalead permettent d'espacer les accès au serveur (délais en secondes) :

User-agent: Slurp
User-agent: msnbot 
Crawl-delay: 60

Allow: (!?)

Tout le monde répète en cœur il n'existe pas de champ correspondant à la permission, de type Allow:. Il est cependant évoqué sur un tutorial (4), mais sans mention de source, et il est utilisé dans certain robots.txt.

User-agent: pere-noel-bot
Allow : /liste-mes-Kdo.htm  # l'agent ci-dessus est prié de lire ceci.
Allow : /avril/             # à l'eau, le poisson ?

Si quelqu'un a des infos sur un robot l'utilisant... (v_pascal chez club-internet.fr)

Cas particulier

Désindexation urgente de Google :

Parmi les possibilités offertes par Google pour désindexer "en urgence" des pages (3b), l'une consiste à utiliser un fichier robots.txt indiquant les répertoires ou pages à supprimer de l'index. La seule indication à donner au formulaire Google est alors l'adresse du fichier robots.txt. Celui-ci n'est pas nécessairement placé à la racine du site, dans ce cas précis. Si le robots.txt n'est pas à la racine, la suppression des pages n'est alors que temporaire (90 jours).

 

web-jardin, Haut