Le fichier robots.txt est un des Ă©lĂ©ments quasi-essentiels d’un site internet. Ce fichier fait partie des premiĂšres vĂ©rifications que je rĂ©alise lors d’un audit SEO. Je dis « quasi », car dans certains cas, vous pouvez tout Ă fait avoir un site sans fichier robots.txt sans vous inquiĂ©ter pour votre rĂ©fĂ©rencement naturel. Cela Ă©tant, on va voir dans cet article que ce n’est pas toujours optimal.
DâoĂč vient le fichier robots.txt ?
Le premier fichier robots.txt a Ă©tĂ© créé en 1994. Ă lâĂ©chelle dâinternet, câĂ©tait donc il y a bien longtemps. Son inventeur est Martijn Koster qui nâest autre que lâinventeur dâAliweb, considĂ©rĂ© comme le premier moteur de recherche sur internet.
Ce fichier nâa pas beaucoup Ă©voluĂ© depuis sa crĂ©ation et vous pouvez mĂȘme toujours consulter le protocole rĂ©digĂ© par son crĂ©ateur.
En 2019, pour les 25 ans du fichier robots.txt, Google a dĂ©cidĂ© de formaliser davantage la norme de ce fichier afin qu’il devienne un standard sur internet et ainsi simplifier son utilisation et sa crĂ©ation. Par exemple, la directive noindex parfois utilisĂ©e (Ă tort) dans le fichier robots.txt n’est plus respectĂ©e par les robots de Google depuis cette date.
Câest quoi le fichier robots.txt ? Ă quoi sert-il ?
Le robots.txt est donc un simple fichier au format « .txt » que vous pourriez créer en utilisant uniquement le bloc-notes de votre ordinateur.
Cela étant il est régi par de nombreuses rÚgles que je vais détailler au fil de cet article.
Le fichier robots.txt est essentiel si vous souhaitez maĂźtriser les ressources auxquelles les robots crawlers des moteurs de recherche peuvent avoir accĂšs.
Câest un aspect qui peut sâavĂ©rer extrĂȘmement important dans le cas oĂč votre site serait particuliĂšrement volumineux (grand nombre de pages et ressources). Mais aussi dans le cas oĂč votre serveur aurait des performances limitĂ©es.
Ce fichier peut aussi servir Ă limiter le risque dâexploration de ce quâon appelle des « spider traps » ou piĂšge Ă robot. Si par exemple vous avez un calendrier sur votre site et quâil est possible de naviguer de mois en mois, cela signifie que potentiellement, le robot peut essayer dâaccĂ©der Ă chaque mois et ceci indĂ©finiment.
En empĂȘchant les robots d’explorer des ressources dont ils nâont pas besoin, vous limitez ainsi une surcharge inutile du serveur, vous indiquez aux robots uniquement les ressources utiles Ă explorer et vous laissez vos utilisateurs accĂ©der Ă votre site sans ralentissement.
Les robots respectent-ils le fichier robots.txt ?
En thĂ©orie, vous pouvez « empĂȘcher » Google, Bing, Qwant et compagnie dâexplorer certaines pages ou ressources.
Si je dis « en thĂ©orie », câest parce que le robot peut tout Ă fait ignorer le fichier robots.txt sâil a Ă©tĂ© conçu ainsi et vous ne pouvez rien y faire. En tout cas, pas avec le fichier robots.txt. Oui, car il faut bien avoir Ă lâesprit que les moteurs de recherche ne sont pas les seuls Ă utiliser des robots.
Ils peuvent avoir été conçus par des outils SEO ou dans un but moins bien intentionnés (voir plus bas, la liste des user-agent).
Le fichier robots.txt est-il obligatoire ?
Comme je le disais en introduction de cet article, non, le fichier robots.txt nâest absolument pas obligatoire. Dans le cas oĂč vous nâavez pas ce fichier, les robots considĂ©reront que câest open-bar et ils iront crawler lâintĂ©gralitĂ© des ressources « crawlables » sur votre site.
A vous de voir donc si ça peut ĂȘtre un problĂšme.
OĂč doit se trouver le fichier robots.txt ?
Le fichier robots.txt doit se trouve à la racine du site concerné. Attention, si vous utilisez des sous-domaines, chaque sous-domaine doit avoir son propre fichier robots.txt.
Il nâest pas possible de donner de directives entre diffĂ©rents domaines ou sous-domaines via robots.txt (et heureusement).
Comment créer ou modifier le fichier robots.txt ?
Comme indiquĂ© plus haut, un simple Ă©diteur de texte type « bloc-notes » permet de crĂ©er ou modifier le fichier robots.txt. Il faut tout de mĂȘme impĂ©rativement que le fichier soit encodĂ© en UTF-8 (câest la norme sur plus de 95% des sites sur le web). En gĂ©nĂ©ral, câest aussi lâencodage par dĂ©faut de la plupart des Ă©diteurs type bloc-notes.
La syntaxe technique du fichier robots.txt
Le fichier robots.txt est extrĂȘmement simple et se limite Ă quelques commandes que voici :
User-agent:
Câest ici quâil faut spĂ©cifier le robot crawler visĂ©. Vous ne pouvez pas spĂ©cifier plusieurs robots par commande, il faudra réécrire la commande pour chaque bot visĂ©.
Disallow:
La commande disallow doit ĂȘtre associĂ©e Ă un ou plusieurs user-agent et permet dâindiquer quels dossiers ou ressources ne doivent pas ĂȘtre explorĂ©s.
Allow:
La commande allow doit aussi ĂȘtre associĂ©e Ă un ou plusieurs user-agent et nâaurait pas de sens si elle nâĂ©tait pas Ă©galement associĂ©e Ă une commande « Disallow: ». Elle permet de prĂ©ciser que, malgrĂ© la commande disallow, tel rĂ©pertoire ou ressource peut ĂȘtre explorĂ©.
Sitemap:
La commande sitemap permet dâindiquer oĂč se trouve le ou les fichiers sitemap (rĂ©pĂ©ter la commande pour chaque sitemap ou utiliser un index de sitemaps). Je parle plus en dĂ©tail du sitemap dans le robots.txt plus bas dans cet article.
Crawl-delay:
La commande crawl-delay permet de prĂ©ciser le nombre de secondes Ă attendre entre chaque sollicitation de ressource. Cette commande nâest pas prise en considĂ©ration par Google, mais dâautres robots en tiennent compte.
Pour Google, vous pouvez demander Ă limiter la frĂ©quence dâexploration de votre site via cet outil.
Bien entendu, ce nâest conseillĂ© que si vous pensez que ça impacte considĂ©rablement les ressources de votre serveur.
Lâagent utilisateur ou user-agent
Pour commencer, il faut savoir que lâuser-agent, est une chaĂźne de caractĂšres qui permet dâidentifier le type de lâentitĂ© qui accĂšde Ă une ressource. Par exemple, lorsque vous naviguez sur le web, votre navigateur envoie cette information systĂ©matiquement. Le site sur lequel vous allez peut savoir quel navigateur vous utilisez.
Cependant, quand on parle de user-agent dans le cas du fichier robots.txt, on parle en fait du produit aussi appelé token ou jeton. Le token est la partie spécifique au robot concerné.
Le user agent complet du robot « classique » de Google, Ă l’instant oĂč j’Ă©cris cet article, est celui-ci : Googlebot/2.1; +http://www.google.com/bot.html) Chrome/86.0.4240.96 Safari/537.36
, mais câest seulement la partie en gras qui nous intĂ©resse. Dans le fichier robots.txt, vous identifierez donc chaque robot par son user-agent comme ceci : User-agent: Googlebot
dans le cas du robot de Google.
Chaque crawler doit également avoir un user agent. Dans les cas des crawlers « officiels », sous-entendu, ceux qui ne sont pas mal intentionnés, vous pouvez facilement les identifier.
Dans la pratique, il y a des robots malveillants, qui peuvent simplement rĂ©cupĂ©rer vos donnĂ©es ou surcharger vos serveurs, mais il est fort probable que leur user-agent change rĂ©guliĂšrement ou imite celui dâun bot lĂ©gitime comme Googlebot. Dans ce cas, difficile de sâen prĂ©munir sans faire de reverse DNS. Plus dâinformations sur la mĂ©thode pour vĂ©rifier quâun Googlebot est bien un robot en provenance de Google.
Commentaires
Pour mettre un commentaire dans un fichier robots.txt, il suffit de mettre le symbole #
en dĂ©but de ligne. Cette ligne sera alors ignorĂ©e par les robots. Vous pouvez donc ajouter des commentaires utiles pour vous rappeler des modifications effectuĂ©es dans ce fichier. Si vous avez du temps Ă tuer, vous pouvez aussi laisser parler votre crĂ©ativitĂ© comme dans l’exemple ci-dessous :

Wildcard * et symbole dollar $
Les wildcards (ou joker) permettent de remplacer nâimporte quel caractĂšre et sont reprĂ©sentĂ©s par le symbole astĂ©risque *
. Ce symbole va sâavĂ©rer trĂšs pratique dans le cas oĂč vous souhaiteriez cibler un grand nombre de ressources ou pour cibler tous les robots par exemple.
Ainsi, pour sâadresser Ă tous les user-agent, il faudra Ă©crire la commande suivante : User-agent: *
Vraiment tous ? Non ! Attention, les robots de type « Adsbot » de Google ne respectent pas le wildcard « * » dans la commande user-agent. Il faut explicitement les nommer.
Pour empĂȘcher lâexploration de tous les fichiers pdf, il faudra Ă©crire la commande suivante :
Disallow: /*.pdf$
Cette commande me permet Ă©galement dâintroduire lâutilisation du symbole dollar $
. Comme vous pouvez le voir sur la rĂšgle ci-dessus, jâai ajoutĂ© un symbole $
Ă la fin de lâURL. Ce symbole marque la fin de lâURL.
Dans le cas ci-dessus avec les fichiers pdf, cela signifie que si lâURL se finit par .pdf
, la ressource ne sera pas explorée. En revanche, si un paramÚtre y est ajouté, mettons .pdf?test
, la ressource pourra ĂȘtre explorĂ©e.
Sitemap
Le fichier robots.txt permet Ă©galement dâindiquer aux robots oĂč se situe votre fichier sitemap. Bien que les moteurs principaux permettent dâindiquer lâURL du sitemap directement dans une interface type « search console », ça reste utile pour les autres robots.
Pour indiquer le chemin vers le fichier sitemap dans le fichier robots.txt, il suffit dâutiliser la commande suivante :
Sitemap: https://www.votresite.com/sitemap.xml
Bien entendu, le chemin de votre fichier peut ĂȘtre diffĂ©rent et le fichier peut ne pas ĂȘtre au format .xml, Ă vous dâadapter cet exemple Ă votre cas. A noter que lâURL du sitemap doit ĂȘtre absolue.
Par exemple : https://hello-papaye.com/sitemap.xml
plutĂŽt que //hello-papaye.com/sitemap.xml
ou encore /sitemap.xml
Liste des user-agent des robots
Vous pouvez trouver des listes de user-agent sur diffĂ©rents sites, voici la plus complĂšte que j’ai pu trouver.
Si vous en avez une plus complĂšte, je vous invite pas Ă me l’indiquer en commentaire.
Documentations des différents robots crawlers légitimes
Pour vous assurer qu’un bot est lĂ©gitime ou en savoir plus sur son fonctionnement, la sociĂ©tĂ© ayant conçu le crawler met souvent Ă disposition une documentation Ă propos de son robot. En voici quelques-unes :
- La documentation des robots de Google
- La documentation des robots de Bing
- La documentation des robots de Qwant
- La documentation des robots de Yandex
- La documentation des robots de Baidu
- La documentation des robots de Duckduckgo
Comment optimiser son fichier robots.txt ?
Il nây a pas vraiment de recette miracle. Le fichier robots.txt est un fichier trĂšs simple en soi et la seule maniĂšre de lâoptimiser et de rĂ©duire les directives au strict minimum.
Ainsi, si vous devez cibler un grand nombre de ressources, il faut essayer dâidentifier un pattern commun pour crĂ©er une directive qui va cibler toutes ces ressources plutĂŽt que les cibler une par une.
Si certaines ressources Ă bloquer se trouvent dans un mĂȘme dossier et quâil nây a rien dâautre dans ce dossier, dans ce cas, il vaut mieux empĂȘcher lâexploration de ce dossier plutĂŽt que les ressources. En faisant cela, aucune ressource de ce dossier ne sera explorĂ©e.
Bien sĂ»r, il faut faire attention Ă ne pas Ă©crire de directives trop larges qui pourraient empĂȘcher lâexploration de ressources essentielles.
Si vous souhaitez viser certains user-agent particuliers et leur appliquer les mĂȘmes rĂšgles, vous pouvez les regrouper comme dans cet exemple qui empĂȘche les robots de Baidu et Yandex dâexplorer votre site :
User-agent: BaiduSpider User-agent: YandexBot Disallow: /
Pour vous donner un autre exemple dâoptimisation relativement simple, si vous avez plusieurs fichiers sitemap, il vaut mieux utiliser un index de sitemap. Ainsi vous conservez une seule ligne dans votre fichier robots.txt, mais les robots vont quand mĂȘme pouvoir accĂ©der Ă tous les sitemaps.
Ăvidemment, ces optimisations ne vont pas vous apporter de boost en termes de positionnement, mais plus votre fichier robots.txt sera « simple », plus il sera facile Ă maintenir et Ă modifier lorsque ce sera nĂ©cessaire. Vous limiterez aussi le risque dâerreurs.
Faut-il utiliser le fichier robots.txt pour empĂȘcher lâindexation de pages ?
RĂ©ponse courte : non il ne faut pas utiliser le fichier robots.txt pour empĂȘcher l’indexation d’URLs spĂ©cifiques.
Contrairement Ă ce quâon peut lire sur de nombreux articles, le fichier robots.txt ne permet pas dâempĂȘcher lâindexation dâune page dans les moteurs de recherche.
Si vous ne deviez retenir quâune phrase de cet article, ce serait la suivante :
Le fichier robots.txt permet dâempĂȘcher lâexploration, mais pas lâindexation !
Et encore, cette phrase nâest valable que si le robot respecte le fichier robots.txt, ce qui est normalement le cas des robots lĂ©gitimes comme ceux de Google, Bing, Qwant, etc.
Certains articles font Ă©galement mention dâune directive « noindex » dans le fichier robots.txt. Il faut savoir que cette directive, nâa jamais Ă©tĂ© une directive documentĂ©e par Google et bien quâelle ait pu ĂȘtre respectĂ©e par le passĂ©, elle nâest officiellement plus supportĂ©e par Google depuis le 1er septembre 2019. Pour information, Bing par exemple nâa jamais supportĂ© cette directive.
Comment tester le fichier robots.txt ?
Avant de mettre votre fichier robots.txt en ligne et empĂȘcher lâexploration de nombreuses ressources, il est toujours prĂ©fĂ©rable de sâassurer que tout est 100% conforme Ă ce que vous attendez comme rĂ©sultat.
Pour cela vous avez plusieurs solutions :
- Tester son fichier robots.txt directement avec le robot concerné
Google et Bing, pour ne citer que les plus gros moteurs de recherche, fournissent chacun leur outil de test du fichier robots.txt.
Dans ces outils vous pouvez donc tester si une URL est explorable via le fichier robots.txt actuellement prĂ©sent sur votre site, mais vous pouvez aussi modifier le fichier robots.txt dans lâoutil pour tester lâajout de nouvelles directives avant de mettre Ă jour votre fichier sur le serveur.
Tester son fichier robots.txt avec Google
Tester son fichier robots.txt avec Bing
- Tester son fichier robots.txt avec un outil tiers
Dâautres outils permettent de tester son fichier robots.txt en simulant le robot qui vous intĂ©resse. Câest une solution que je trouve bien plus pratique lorsque lâon a Ă©crit des directives diffĂ©rentes en fonction des robots visĂ©s.
Lâoutil que jâutilise en gĂ©nĂ©ral est celui-ci de TechnicalSEO.
Vous entrez lâURL Ă tester, vous choisissez le user-agent (le robot donc), vous sĂ©lectionnez « editor », vous copiez/collez votre fichier robots.txt qui nâest pas encore en ligne dans le bloc de texte juste en dessous et enfin vous cliquez sur « test ». Si vous le souhaitez, vous pouvez aussi demander Ă lâoutil de vĂ©rifier si vos ressources JavaScript, CSS, images, etc. sont bloquĂ©es ou non.

Si votre robots.txt est dĂ©jĂ en ligne et que vous souhaitez vous assurer qu’une page n’est pas bloquĂ©e par le fichier robots.txt, vous pouvez aussi utiliser une extension de navigateur dont j’ai parlĂ© derniĂšrement. Il s’agit de l’extension Robots Exclusion Checker qui va automatiquement vĂ©rifier que le fichier robots.txt n’empĂȘche pas l’exploration de cette page.
Les erreurs courantes à éviter
Sensibilité à la casse
Câest une erreur assez courante et qui peut assez vite arriver si on ne fait pas attention. La sensibilitĂ© Ă la casse signifie quâune lettre en majuscule n’a pas la mĂȘme valeur qu’une lettre en minuscule.
Il y a 2 entités sensibles à la casse :
- Le nom du fichier robots.txt en lui-mĂȘme. Il doit bien ĂȘtre Ă©crit ainsi : « robots.txt » et non « Robots.txt » ou encore « robots.TXT »
- Les chemins des ressources indiquĂ©es dans les directives du fichier. Par exemple « /dossier/ » nâest pas pareil que « /Dossier/ » ou « /DOSSIER/ »
En revanche, pour le nom du robot (le user-agent), aucun problĂšme, vous pouvez Ă©crire « Googlebot », GoogleBot » ou « googlebot », ça aura le mĂȘme effet.
Fichier trop lourd
Câest une restriction tout de mĂȘme assez large, mais il faut savoir que le fichier robots.txt est limitĂ© en poids. La limite (pour Google) se trouve Ă 512Ko. Pour vous donner une idĂ©e, un fichier robots.txt de 3000 lignes de longueurs variables pĂšse 120Ko. Vous avez donc de la marge, mais bien entendu, il est logique dâavoir un fichier le plus lĂ©ger possible.
Si vous visez Yandex (le moteur de recherche russe), assurez-vous que votre fichier soit trĂšs lĂ©ger puisque la limite de poids chez Yandex est de seulement 32Ko. Ăa devrait vous laisser tout de mĂȘme de quoi y Ă©crire quelques centaines de lignes, mais c’est toujours bon Ă savoir.
Fichier robots.txt en erreur
Câest une erreur facile Ă Ă©viter, mais qu’il faut absolument savoir. Le fichier robots.txt est une ressource comme une autre et va ĂȘtre obtenu en mĂȘme temps quâun code de rĂ©ponse http. Voici les principales consignes vis-Ă -vis de ce code :
- Votre fichier robots.txt doit ĂȘtre accessible immĂ©diatement via un code http 2xx
- Si le fichier est accessible au travers de redirections http 3xx, Google suit 5 redirections (ce qui est déjà énorme) et au-delà , considÚre que le fichier est en erreur 4xx
- Si le fichier robots.txt est en erreur 4xx, le robot va considĂ©rer que le fichier nâexiste pas et que le site peut donc ĂȘtre explorĂ© dans son intĂ©gralitĂ© (hors en-tĂȘte x-robots-tag ou balise meta pour les robots).
- Si le fichier robots.txt est en erreur 5xx (erreur serveur), le robot considĂšre que le site ne doit pas ĂȘtre explorĂ©. Si le robots.txt est en erreur serveur pendant plus de 30 jours, Google va utiliser la derniĂšre version en cache du fichier robots.txt. Sâil nâa jamais « vu » le fichier robots.txt et quâil nâa donc pas de cache, Google va considĂ©rer quâil peut explorer lâintĂ©gralitĂ© du site.
Bien écrire ses user-agent et directives
Câest probablement la partie la plus dĂ©licate du fichier robots.txt : bien cibler ses directives et sâassurer quâelles ne se contredisent pas.
Premier point, les user-agents. Si vous indiquez un user-agent spécifique, le robot suivra uniquement les directives associées à cet user-agent.
Mettons que vous ayez les groupes de directives suivantes dans votre fichier :
User-agent: * Disallow: /dossier-a-ne-pas-explorer/ User-agent: Googlebot Disallow:
Dans ce cas, Googlebot va suivre uniquement le groupe qui lui est indiquĂ© et va considĂ©rer que lâintĂ©gralitĂ© du site peut ĂȘtre explorĂ©e. Les autres robots que Googlebot (et qui respectent le fichier robots.txt) nâiront pas explorer le dossier indiquĂ©.
Une autre rĂšgle de base Ă savoir est la suivante :
« La directive la plus spĂ©cifique, basĂ©e sur la longueur du chemin (path) de la ressource lâemporte sur la directive la plus courte. Si les directives se contredisent, alors la moins restrictive sâapplique »
Google
Dit comme ça, câest peut-ĂȘtre un peu flou alors voici un tableau rĂ©capitulatif issu de la documentation de Google pour les dĂ©veloppeurs :

Bloquer des URLs qui ne doivent pas ĂȘtre indexĂ©es
Bien qu’il peut ĂȘtre tentant, voire rassurant de bloquer l’exploration des URLs qui ne doivent pas ĂȘtre indexĂ©es, c’est une pratique Ă Ă©viter absolument !
Lorsque vous souhaitez qu’une page ne soit pas indexĂ©e, vous devez utiliser la balise meta pour les robots ou une en-tĂȘte HTTP X-Robots-Tags avec comme directive « noindex ».
Si vous bloquez l’exploration de cette page via le fichier robots.txt, le robot ne pourra pas voir que cette page Ă pour directive « noindex » et cette page pourra alors malgrĂ© tout se retrouver dans l’index.
Exemples de fichiers robots.txt
Je sais que c’est trĂšs thĂ©orique et parfois un peu complexe, alors voici quelques exemples simples et clairs pour mieux comprendre le fonctionnement du fichier robots.txt :
- Autoriser l’exploration intĂ©grale du site (revient aussi Ă ne pas avoir de fichier robots.txt) :
User-agent: * Disallow:
- EmpĂȘcher l’exploration de tout le site :
User-agent: * Disallow: /
- Bloquer l’exploration d’un rĂ©pertoire :
User-agent: * Disallow: /dossier-a-ne-pas-explorer/
- Bloquer l’exploration d’un fichier :
User-agent: * Disallow: /fichier-a-ne-pas-explorer.html
- Bloquer l’exploration de tous les fichiers JavaScript (mĂȘme ceux avec des paramĂštres) :
User-agent: * Disallow: /*.js
- Bloquer l’exploration de tous les fichiers JavaScript (sauf ceux avec des paramĂštres) :
User-agent: * Disallow: /*.js$
Si vous lisez ceci, bravo, vous ĂȘtes arrivĂ©s Ă la fin de cet article. J’espĂšre que vous avez trouvĂ© les informations que vous cherchiez. Si ce n’est pas le cas, merci de m’indiquer en commentaire ce que vous aimeriez savoir.
Pour (encore) plus d’informations sur le fichier robots.txt, vous pouvez consulter la documentation de Google pour les webmasters et ici la documentation de Google pour les dĂ©veloppeurs.