Robots.txt, un fichier important

bg62 Messages postés 23651 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 25 octobre 2024 - Modifié le 2 mai 2022 à 17:55

Robots.txt, c'est quoi ?

Sur votre site, vous essayez, dans la mesure du possible, de faire en sorte que vos pages soient indexées au mieux par les robots (spiders) des moteurs de recherche. Mais il peut également arriver que certaines de vos pages soient confidentielles, (ou en travaux) ou en tout cas que votre objectif ne soit pas de les diffuser largement sur ces moteurs. Un site ou une page en construction, par exemple, ne doivent pas obligatoirement être la cible d'une telle aspiration. Il faut alors empêcher certains spiders de les prendre en compte.

Cela peut se faire à l'aide d'un fichier texte, appelé robots.txt, présent sur votre hébergement, à la racine de votre site. Ce fichier va donner des indications au spider du moteur qui va vouloir explorer votre site, sur ce qu'il peut faire ou ne doit pas faire sur le site. Dès que le spider d'un moteur arrive sur un site (par exemple https://monsite.info/), il va rechercher le document présent à l'adresse https://www.monsite.info/robots.txt avant d'effectuer la moindre "aspiration de document". Si ce fichier existe, il le lit et suit les indications inscrites. S'il ne le trouve pas, il commence son travail de lecture et d'enregistrement de la page qu'il est venu visiter ainsi que de celles qui peuvent y être liées, considérant que rien ne lui est interdit.

Structure

Il ne doit exister qu'un seul fichier robots.txt sur un site, et il doit se trouver au niveau de la racine du site. Le nom du fichier (robots.txt) doit toujours être créé en minuscules. La structure d'un fichier robots.txt est la suivante :

User-agent: *
Disallow: /cgi-bin/
Disallow: /tempo/
Disallow: /perso/
Disallow: /entravaux/
Disallow: /abonnes/prix.html

Dans cet exemple :
  • User-agent: * signifie que l'accès est accordé à tous les agents (tous les spiders), quels qu'ils soient.
  • Le robot n'ira pas explorer les répertoires /cgi-bin/, /tempo/, /perso/ et /entravaux/ du serveur ni le fichier /abonnes/prix.html.

Le répertoire /temp/, par exemple, correspond à l'adresse https://monsite.info/ Chaque répertoire à exclure de l'aspiration du spider doit faire l'objet d'une ligne Disallow: spécifique. La commande Disallow: permet d'indiquer que "tout ce qui commence par" l'expression indiquée ne doit pas être indexé.

Ainsi :
Disallow: /perso ne permettra l'indexation ni de https://monsite.info/ ni de https://monsite.info/

Disallow: /perso/ n'indexera pas https://monsite.info/ mais ne s'appliquera pas à l'adresse https://monsite.info/

D'autre part, le fichier robots.txt ne doit pas contenir de lignes vierges (blanches).
L'étoile (*) n'est acceptée que dans le champ User-agent.
Elle ne peut servir de joker (ou d'opérateur de troncature) comme dans l'exemple : Disallow: /entravaux/*.
Il n'existe pas de champ correspondant à la permission, de type Allow:.
Enfin, le champ de description (User-agent, Disallow) peut être indifféremment saisi en minuscules ou en majuscules.
Les lignes qui commencent par un signe " # ", c'est à dire tout ce qui se trouve à droite de ce signe sur une ligne, est considéré comme étant un commentaire.

Voici quelques commandes très classiques et importantes du fichier robots.txt :

Disallow:/ Permet d'exclure toutes les pages du serveur (aucune aspiration possible).
Disallow: Permet de n'exclure aucune page du serveur (aucune contrainte).
Un fichier robots.txt vide ou inexistant aura une conséquence identique.
User-Agent : googlebot Permet d'identifier un robot particulier (ici, celui de google).
User-agent: googlebot
Disallow:
User-agent: *
Disallow:/ Permet au spider de google de tout aspirer, mais refuse les autres robots.

Sitemap et robots.txt

Pour aider Google, Yahoo ou autres, et surtout les moteurs ne donnant pas d'interface ayant la possibilité de leur indiquer le fichier sitemap d'un site, l'on peut ajouter l'indication dans le fichier, à l'aide de la syntaxe suivante :
Sitemap: https://monsite.info/
(plus si plusieurs fichiers sitemap ...)
pour Google ou Bing
ou également:
Sitemap: https://monsite.info/
plus spécifique à Yahoo ...

Générateur de fichier robots.txt

Si vous voulez créer un fichier robots.txt facilement, simplement, et être certain qu'il soit valide, vous pouvez aussi utiliser un générateur de robots.txt, comme celui-ci par exemple: Générateur de fichier robots.txt

Toutes les explications en ligne

Le site de référence
ou pour plus de définitions de 'base':
en français sur wikipedia

A noter aussi cette indication toute récente trouvée sur le Net :

Un internaute vient de découvrir que Google prenait en compte une directive nommée "noindex" lorsqu'elle était insérée dans le fichier "robots.txt" d'un site, comme par exemple:

User-agent:Googlebot
Disallow:/perso/
Disallow:/entravaux/
Noindex:/clients/


Alors que la directive "Disallow" indique aux robots de ne pas tenir compte du contenu d'un répertoire (pas d'indexation, pas de suivi des liens), "Noindex" se réduirait à la non-indexation des pages, mais en identifiant les liens qu'elles contiennent. Un équivalent de la balise meta "Robots" qui contiendrait les informations "Noindex, Follow" en quelque sorte. Google aurait indiqué que cette mention serait en test actuellement, qu'elle n'est supportée que par le seul Google mais que rien ne dit qu'elle sera adoptée in fine. A utiliser et à tester avec précaution donc... !


nota : la meilleure des solutions pour ce dossier "clients", restant de le bloquer via un '.htaccess' qui sera valable pour tous les moteurs ... ;)