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
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.
On va prendre l'exemple fictif du site https://www.apprendre-le-seo.com/
User-agent: *
Disallow: /
Cette directive spécifie à tous les User-agent (*) de ne crawler aucune page du site y compris la home page.
User-agent: *
Disallow:
Cette directive spécifie à tous les User-agent (*) de crawler toutes les pages du site y compris la home page.
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/".
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".
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é.
Les moteurs de recherche ont 2 principaux rôles :
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).
La syntaxe des fichiers robots.txt est assez simple. Elle permet aux robots de comprendre 5 commandes :
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) :
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 "$").
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 :
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.
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 :
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.