Robots.txt : mode d'emploi

Mise à jour le 26/11/2018

Programme de ce qu'on va voir dans ce cours :

1. Qu'est ce que le fichier Robots.txt?
2. Où se trouve ce fichier?
3. Comment fonctionne le Robots.txt?
4. Syntaxe du fichier
5. Les 6 raisons pour absolument utiliser ce fichier sur votre site
6. Le SEO et le Robots.txt : les meilleures pratiques

Crawlers, Spiders et Robots des moteurs de recherche

1. Qu'est ce que le fichier Robots.txt?

Le fichier Robots.txt est un fichier texte qui permet aux différents robots du web, dont les crawlers des moteurs de recherche, de comprendre comment explorer les pages de votre site.

Le fichier Robots.txt fait partie du protocole d'exclusion des robots (REP pour robots exclusion protocol) qui est un groupe de normes Web qui régit la manière dont les robots explorent le Web, accèdent au contenu, l'indexent et le servent aux utilisateurs. Le REP comprend également d'autres directives comme les Meta Robots ou les instructions qui concernent le traitement des liens par les moteurs de recherche comme le rel follow/nofollow.

En pratique le fichier Robots.txt indique si certains "User agents" (les logiciels qui crawlent le web) peuvent ou non analyser des parties d'un site web. Il le fait via des autorisations ou interdictions que nous allons voir plus bas.

Le format basique d'un fichier Robots.txt :

User-agent : [Nom du User-agent]
Allow/Disallow : [URL ciblée par l'autorisation ou l'interdiction]

C'est 2 lignes sont considérées comme un fichier robots.txt complet. Toutefois on peut multiplier les directives pour différents User-agent et ajouter d'autres autorisations ou interdictions simplement en les séparant par une ligne vide.

User-agent: Googlebot-Image
Disallow: /actualites
Disallow: /ressources

User-agent: msnbot-media
Disallow: /

Dans ce cas il faut considérer les directives par blocs, chaque bloc étant séparé par une ligne vide. Pour cet exemple le User-agent "Googlebot-Image" n'aura pas le droit d'explorer les /actualites et les /ressources par contre il pourra explorer les autres parties du site. En revanche le User-agent "msnbot-media" n'aura pas le droit d'explorer le site dans son entièreté (Disallow: /). 
Tous les autres User-agent (User-agent: *) non mentionné dans le robots.txt peuvent explorer tout le site.

Quelques exemples concrêts :

On va prendre l'exemple fictif du site https://www.apprendre-le-seo.com/

1. Bloquer tous les crawlers pour toutes les pages du site

User-agent: *
Disallow: /

Cette directive spécifie à tous les User-agent (*) de ne crawler aucune page du site y compris la home page.

2. Autoriser tous les crawlers a visiter toutes les pages du site 

User-agent: *
Disallow: 

Cette directive spécifie à tous les User-agent (*) de crawler toutes les pages du site y compris la home page.

3. Bloquer un crawler spécifique pour un répertoire spécifique

User-agent: Googlebot
Disallow: /exemple-de-repertoire/

Cette directive spécifie au User-agent Googlebot (qui est le moteur de recherche Google) de ne pas visiter les urls de la forme "www.apprendre-le-seo.com/exemple-de-repertoire/".

4. Bloquer un crawler spécifique pour une page web spécifique

User-agent: Bingbot
Disallow: /info-pratique/mentions-legales.html

Cette directive spécifie au User-agent Bingbot (qui est le moteur de recherche Bing) de ne pas visiter l'url "www.apprendre-le-seo.com/info-pratique/mentions-legales.html".

2. Où trouve-t-on ce fichier?

Tous les robots d'exploration, chaque fois qu'ils analysent un site, commencent par chercher le fichier robots.txt pour en parcourir les directives. Et pour simplifier les choses il a été décidé que ce fichier serait toujours à la même place à la racine du répertoire principal (domaine racine).

Si un User-agent visite www.apprendre-le-seo.fr/robots.txt et qu'il ne trouve pas de fichier robots.txt, il supposera que le site n'en possède pas et procédera à l'exploration totale de la page ou du site. Il en va de même si le fichier est dans un autre répertoire comme www.apprendre-le-seo.fr/home/robots.txt, il ne sera pas trouvé.

3. Comment fonctionne le Robots.txt?

Les moteurs de recherche ont 2 principaux rôles :

  1. crawler le web pour découvrir de nouveaux contenus
  2. indexer le contenu pour le servir aux utilisateurs dans les moteurs de recherche

Pour explorer les sites, les crawlers suivent les liens qu'ils rencontrent et se rendent d'un site à l'autre. Ce comportement d'exploration est parfois appelé "spidering".
En tout premier lieu quand le crawler arrive sur le site, il cherche le robots.txt. Si il trouve le fichier, le crawler le lira avant de commencer l'exploration du site pour avoir toutes les instructions d'exploration du site.

Quelques informations supplémentaires :

Pour être trouvé, le robots.txt doit être placé à la racine du domaine.

Le nom du fichier est sensible à la casse, il faut donc bien le nommer robots.txt en minuscule (pas Robots.txt ni robots.TXT).

Certains User-agent peuvent ne pas respecter le fichier robots.txt. C'est le cas pour tous les robots non conventionnel ou les robots de logiciels malveillants.

Le fichier robots.txt est un fichier publique accessible (s'il existe) sur tous domaines. Il suffit de rajouter /robots.txt sur après une url de site et juste derrière le domaine. Cela veut dire que tout le monde peut voir les pages dont vous voulez refuser l'accès aux crawlers. Il faut donc être vigilent pour ne pas divulguer des informations ou des urls que vous souhaiter masquer. Pour ce dernier cas on choisira plutôt les Meta robots ou les X-robots.

Chaque sous domaine utilise des fichiers robots.txt distincts. Par exemple blog.apprendre-le-seo.com aura un fichier robots à l'adresse blog.apprendre-le-seo.com/robots.txt différent du domaine principal www.apprendre-le-seo.com/robots.txt.

Il est généralement conseillé d'indiquer aux robots l'emplacement des sitemaps de votre site (voir le chapitre suivant). 

4. Syntaxe du fichier

La syntaxe des fichiers robots.txt est assez simple. Elle permet aux robots de comprendre 5 commandes :

  • User-agent : crawler web auquels on donne des instructions. Par exemple on trouve le Googlebot ou le MSNbot, voici la liste des robots.
  • Disallow : utilisé pour spécifier à un User-agent de ne pas analyser une url particulière ou un sous dossier. 
  • Allow (applicable uniquement pour Googlebot) : utilisé pour spécifié à Googlebot qu'il peut accéder à une page ou un sous dossier même si sa page ou sous dossier parent peut être désactivé.
  • Crawl-delay : nombre de secondes qu'un robot doit attendre avant de charger et analyser le contenu de la page. A noter que Googlebot ne reconnait pas cette commande.
  • Sitemap : utilisé pour spécifier l'emplacement du sitemap ou du plan de sitemap. Cette commande est uniquement prise en compte par Google, Ask, Bing et Yahoo.

Au niveau des urls, vous pouvez être très précis sur ce que vous voulez exclure car vous pouvez créer des patterns avec deux caractères joker (wildcard) :

  • l'astérisque (*) : qui représente toute séquence de caractères
  • le dollar ($) : qui correspond à la fin de l'url

C'est quelque chose de très important, car vous pouvez spécifier aux robots de ne pas explorer les urls avec un paramètre (la présence de ? dans l'url). Voici comment on paramètre le fichier pour cela :

User-agent: *
Disallow: /*?

Avec ce réglage on va exclure toutes les urls avec un "?". Par exemple "www.apprendre-le-seo.com/actualite?sort=date" ne sera pas exploré, en revanche "www.apprendre-le-seo.com/actualite" le sera car rien ne stipule le contraire.

Grace aux wilcards vous pouvez bloquer les moteurs sur l'exploration de votre page de recherche qui fournit souvent du duplicate content ou des résultats non appropriés, ou bloquer les résultats d'une liste à facettes permettant de limiter les résultats ou de les trier et qui ramène aussi souvent du duplicate content.

On peut également grace aux wildcards bloquer l'exploration de certains fichiers :

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

Ici pour tous les User-agent on va bloquer l'exploration des PDF ou .pdf se trouve en fin d'url (caractère "$").

5. Les 6 raisons pour absolument utiliser ce fichier sur votre site

Le fichier robots.txt comme on l'a vu précédemment permet de contrôler l'accès à certaines parties d'un site. Attention à manipuler ce fichier avec précaution car vous pouvez tout bonnement interdire à Google d'explorer tout votre site! 

Les raisons pour lesquelles il faut absolument utiliser un robots.txt :

  1. prévenir le duplicate content et donc la dévaluation de certaines de vos pages
  2. garder une partie d'un site privé
  3. ne pas indexer vos pages de recherche pour qu'elles ne se retrouvent pas dans les SERPs
  4. spécifier le chemin de votre ou vos sitemaps
  5. ne pas indexer certains de vos fichiers comme des images ou des PDF par exemple.
  6. spécifier un crawl delay pour éviter que les crawlers ne lancent trop de requêtes en même temps et surcharge votre ou vos serveurs

Même si le fichier robots.txt n'est pas obligatoire, il est quand même conseillé d'en avoir un au moins pour le sitemap.

6. Le SEO et le robots.txt : les meilleures pratiques

Vous l'avez compris ce fichier est important pour le SEO : duplicate content, sitemap, accès à certains fichiers, accès à certains contenus/catégories, etc...

Voici les bonnes pratiques SEO pour l'utilisation du robots.txt : 

  • Étre sûr de ne pas bloquer des parties du site qu'on souhaiterait voir indexé par les moteurs de recherche
  • Les liens sur les pages que vous bloquez via le robots.txt ne seront pas suivis car les pages ne seront pas explorées (sauf si ces pages sont liés à d'autres liens accessibles). Et donc par conséquent les pages de destination de ces liens ne seront pas explorées non plus. Il faut avoir une idée clair du cheminement des robots si vous décidez de bloquer certains accès.
  • N'utilisez pas le robots.txt pour empêcher des données sensibles (telles que des informations privées sur les utilisateurs) de se retrouver dans les SERPs. D'autres pages pourraient avoir des liens sur les pages que vous voulez bloquer et donc pourraient contourner les directives du robots.txt. Résultat, les pages que vous vouliez bloquer pourraient se retrouver indexées dans Google. Pour bloquer des pages de la sorte, il faut utiliser d'autres méthodes de protection comme la protection via un login et un mot de passe et/ou une directive Meta robots noindex par exemple.
  • Certains moteurs de recherche ont plusieurs User-agent, c'est le cas de Google avec le Googlebot pour l'organique et Googlebot-Image pour la recherche sur les images. Ce fonctionnement vous permet d'affiner la manière dont vous voulez que votre contenu soit exploré/indexé.  

Conclusion

Le fichier robots.txt est un fichier important pour le SEO à ne pas négliger. Il est à manier avec précaution. Il permet entre autre d'éviter le duplicate content, de spécifier un sitemap, de restreindre l'accès à certains fichiers, de restreindre l'accès à certains contenus/catégories et de modifier la fréquence de crawl. 
D'autres méthodes existent pour bloquer l'exploration et l'indexation de page comme les Meta Robots ou les entêtes HTTP X-Robots, je m'y attarderai dans un prochain cours.

 

Vous avez aimé ce que vous avez lu?
4.8 sur 5 vote(s)
Cliquez sur les étoiles pour noter cette fiche
"La connaissance est la seule chose qui s'accroit lorsqu'on la partage."