SEO : Qu’est-ce qu’un fichier robots.txt et comment l’optimiser ?

Par Nicolas Neight
16 mars 2023 13 min de lecture

Le fichier robots.txt est un fichier texte placé à la racine de votre site Web qui indique aux robots des moteurs de recherche les pages ou les fichiers qu’ils sont autorisés à explorer ou non. Il joue un rôle essentiel dans le SEO technique en permettant d’optimiser votre budget d’exploration (ou « budget crawl ») et d’éviter que les serveurs ne soient surchargés par des requêtes inutiles. Cet article vous explique le fonctionnement précis du fichier robots.txt, comment le configurer correctement et quelles sont les bonnes pratiques à suivre pour garantir une exploration efficace de vos contenus.

Définition et rôle : à quoi sert réellement le robots.txt ?

Le fichier robots.txt s’inscrit dans le cadre du Protocole d’Exclusion des Robots (REP – Robots Exclusion Protocol). Il s’agit d’un standard web qui dicte la manière dont les robots d’exploration (ou crawlers) doivent interagir avec votre site. Son rôle principal est de gérer le trafic des robots sur votre serveur pour cibler leur parcours d’exploration.

L’importance du fichier pour le « Budget Crawl »

Les moteurs de recherche comme Google allouent des ressources limitées pour explorer chaque site Web. Ce temps et ces ressources définissent votre budget d’exploration (ou budget crawl).

Si votre site génère automatiquement de nombreuses URL sans valeur SEO (comme des pages de résultats de recherche interne, des tris par prix, ou des pages de connexion), les robots risquent de gaspiller ce budget en explorant ces pages inutiles. Conséquence : ils pourraient quitter votre site avant d’avoir découvert vos pages stratégiques ou vos nouveaux contenus.

Le fichier robots.txt permet de bloquer l’accès à ces répertoires non pertinents, optimisant ainsi le budget crawl pour qu’il se concentre exclusivement sur les pages que vous souhaitez valoriser.

Crawl (Exploration) vs Indexation : la confusion à éviter absolument

En SEO technique, il est crucial de différencier le crawl de l’indexation :

  • Le crawl (exploration) : C’est l’action du robot qui visite et lit le contenu d’une URL.
  • L’indexation : C’est l’action du moteur de recherche qui enregistre cette URL dans sa base de données pour la proposer dans ses résultats de recherche.

Le fichier robots.txt bloque l’exploration, mais n’empêche pas techniquement l’indexation. Si vous bloquez une page via le robots.txt, le robot ne la lira pas. Cependant, si cette même page reçoit des liens externes (backlinks) ou internes depuis d’autres pages, Google peut déduire son existence et décider de l’indexer tout de même. Elle apparaîtra alors dans les résultats de recherche, souvent avec la mention « Aucune information n’est disponible pour cette page ».

Pour interdire l’indexation d’une page, la méthode recommandée par Google n’est pas le robots.txt, mais l’utilisation de la balise <meta name="robots" content="noindex">. Pour que Google puisse lire cette balise « noindex », il doit impérativement pouvoir explorer la page (et donc, la page ne doit pas être bloquée dans le robots.txt).

Quels moteurs de recherche respectent ce fichier ?

Le respect des directives du robots.txt repose sur le volontariat des créateurs de robots.

La grande majorité des acteurs légitimes du Web respectent strictement ces règles :

  • Les robots des moteurs de recherche classiques : Googlebot (Google), Bingbot (Bing), YandexBot, etc.
  • Les robots liés à l’intelligence artificielle qui collectent des données d’entraînement : GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended, etc.
  • Les outils de crawl SEO : AhrefsBot, SemrushBot, Screaming Frog, etc.

À l’inverse, il est important de noter que les robots malveillants (scrapers de contenu, spammeurs, extracteurs d’adresses e-mail) ignoreront le fichier robots.txt. Ce fichier n’est donc pas un outil de cybersécurité et ne doit pas être utilisé pour cacher des données sensibles.

Syntaxe et directives : comment lire et écrire un robots.txt ?

Le fichier robots.txt est un fichier texte brut (encodé en UTF-8) qui doit respecter une syntaxe stricte pour être interprété correctement par les robots d’exploration. Il est composé de blocs de règles. Chaque bloc s’applique à un robot d’exploration spécifique et définit les URL auxquelles il peut ou ne peut pas accéder.

User-agent : cibler les bons robots

Chaque groupe de directives commence obligatoirement par la mention User-agent. Cette ligne permet de spécifier à quel robot (ou crawler) les règles suivantes s’appliquent.

  • Cibler tous les robots : L’utilisation d’un astérisque (*) permet de définir des règles globales valables pour l’ensemble des robots d’exploration.PlaintextUser-agent: *
  • Cibler un robot spécifique : Vous pouvez nommer précisément le robot visé, par exemple le robot de Google chargé de l’exploration web classique.PlaintextUser-agent: Googlebot

Remarque : Un robot d’exploration cherche d’abord le bloc de règles qui lui est spécifiquement destiné. S’il n’en trouve pas, il suivra les règles du bloc global (User-agent: *).

Les commandes Disallow et Allow

Ces deux directives dictent le comportement d’exploration pour le User-agent défini juste au-dessus. Elles utilisent des chemins relatifs (commençant par un /) correspondants à la racine de votre site Web.

  • La directive Disallow (Interdire) : Elle indique au robot de ne pas explorer une URL, un répertoire ou un type de fichier spécifique. Exemple pour bloquer l’accès au dossier d’administration :PlaintextDisallow: /admin/
  • La directive Allow (Autoriser) : Elle est principalement utilisée pour contrecarrer une directive Disallow plus large, en autorisant l’accès à un fichier ou un sous-dossier spécifique au sein d’un répertoire bloqué. Exemple pour autoriser une image précise située dans un dossier bloqué :PlaintextDisallow: /images/ Allow: /images/logo-public.png

La directive Sitemap

Le fichier robots.txt est l’emplacement idéal pour indiquer aux moteurs de recherche l’adresse de votre plan de site XML. Contrairement aux directives Allow et Disallow, la directive Sitemap requiert une URL absolue (complète) et s’applique à tous les robots, quel que soit leur User-agent.

Il est recommandé de placer cette directive à la fin de votre fichier :

Sitemap: https://www.votre-site.com/sitemap.xml

Les caractères génériques (* et $)

Pour cibler des groupes d’URL ou des formats de fichiers sans avoir à les lister un par un, les moteurs de recherche majeurs (comme Google et Bing) prennent en charge l’utilisation d’expressions régulières simples via deux caractères spéciaux :

  • L’astérisque (*) : Il représente n’importe quelle séquence de caractères. Il est très utile pour bloquer des paramètres d’URL dynamiques. Exemple pour bloquer toutes les URL contenant un paramètre de recherche interne :PlaintextDisallow: /*?search=
  • Le symbole dollar ($) : Il indique la fin exacte d’une URL. Il permet de cibler une extension de fichier spécifique sans bloquer les URL qui pourraient contenir ce nom au milieu de leur structure. Exemple pour bloquer l’exploration de tous les fichiers PDF :PlaintextDisallow: /*.pdf$

Création et implémentation : les bonnes pratiques techniques

La rédaction des directives n’est qu’une étape. Pour que le fichier robots.txt soit pris en compte par les moteurs de recherche, son intégration sur votre serveur doit respecter des règles de positionnement strictes et des principes de sécurité fondamentaux.

Où déposer et positionner le fichier robots.txt ?

Le fichier robots.txt doit impérativement être placé à la racine de votre site Web. Les robots d’exploration ne le chercheront nulle part ailleurs.

Si votre site est https://www.votre-site.com, le fichier doit être accessible à l’adresse exacte : https://www.votre-site.com/robots.tx

Plusieurs règles techniques s’appliquent à son hébergement :

  • Sensibilité à la casse : Le nom du fichier doit être entièrement en minuscules (robots.txt). Les variantes comme Robots.txt ou ROBOTS.TXT seront ignorées par les robots.
  • Un fichier par sous-domaine : Le fichier robots.txt ne contrôle que le domaine ou sous-domaine sur lequel il est hébergé. Si vous possédez un blog sur blog.votre-site.com, ce sous-domaine nécessitera son propre fichier robots.txt à sa racine.
  • Protocole HTTP/HTTPS : Les règles s’appliquent spécifiquement au protocole utilisé. Le robots.txt de la version HTTP ne couvre pas automatiquement la version HTTPS.

Quelles pages faut-il bloquer (Disallow) ?

L’objectif principal du robots.txt est d’économiser votre budget crawl. Il est donc recommandé d’interdire l’exploration des pages qui n’ont aucune valeur ajoutée pour les résultats de recherche (SERP).

Voici les typologies d’URL couramment bloquées :

  • Les pages d’administration et de connexion : « `text Disallow: /wp-admin/ Disallow: /login/
  • Les résultats du moteur de recherche interne : Ces pages génèrent une infinité d’URL dynamiques et de contenus dupliqués.PlaintextDisallow: /*?s=* Disallow: /search/
  • Le tunnel de commande (E-commerce) : Les paniers d’achat, les pages de paiement ou les comptes clients n’ont pas vocation à être explorés.PlaintextDisallow: /panier/ Disallow: /checkout/
  • La navigation à facettes complexes : Les combinaisons multiples de filtres de tri (par prix, taille, couleur) peuvent créer des « spider traps » (pièges à robots).PlaintextDisallow: /*?tri= Disallow: /*&filtre=

Sécurité : l’erreur fatale à ne pas commettre

Le fichier robots.txt est un fichier public. N’importe quel internaute (ou personne malveillante) peut le consulter en tapant son adresse dans un navigateur Web.

Il ne faut jamais utiliser la directive Disallow pour tenter de cacher des dossiers confidentiels, des données clients ou des fichiers sensibles (comme des PDF internes). En indiquant Disallow: /documents-secrets/, vous indiquez paradoxalement à quiconque lit le fichier l’emplacement exact de vos données sensibles.

Pour protéger des données ou des pages privées de l’indexation et des regards indiscrets, le robots.txt est inutile. Vous devez utiliser des méthodes de protection côté serveur, comme une authentification par mot de passe (fichier .htpasswd) ou une restriction d’accès par adresse IP.

Audit, tests et résolution de problèmes (Troubleshooting)

Un fichier robots.txt mal configuré peut empêcher l’exploration de vos pages les plus importantes et nuire gravement à votre référencement naturel. Il est donc indispensable de tester vos directives et de savoir interpréter les retours des moteurs de recherche.

Comment tester et valider son fichier robots.txt ?

Avant de déployer des modifications majeures sur votre fichier robots.txt, ou pour vérifier son bon fonctionnement actuel, l’utilisation de la Google Search Console est recommandée.

  • Le rapport robots.txt : Accessible dans les paramètres de la Search Console, ce rapport vous indique si Google parvient à récupérer votre fichier, la date de la dernière exploration, et s’il rencontre des erreurs de syntaxe (comme un code d’état HTTP 404 ou 500).
  • L’outil d’inspection d’URL : Pour tester une page spécifique, saisissez son adresse dans la barre d’inspection de la Search Console. Si l’URL est bloquée, le rapport d’exploration indiquera clairement : « Exploration autorisée ? Non : bloquée par le fichier robots.txt ».

Ces outils permettent de valider que vos directives Allow et Disallow ciblent correctement les URL souhaitées sans impacter le reste du site.

« Indexée malgré le blocage par le robots.txt » : que faire ?

Il s’agit de l’un des avertissements les plus fréquents dans le rapport d’indexation de la Google Search Console. Comme expliqué précédemment, le robots.txt bloque l’exploration (le crawl) mais pas l’indexation. Si une page bloquée reçoit des liens, Google peut l’indexer de manière partielle.

Pour désindexer définitivement cette URL, la procédure technique implique une étape contre-intuitive : il faut autoriser l’exploration pour que Google puisse lire la directive de désindexation.

Voici la marche à suivre :

  1. Supprimez le blocage : Retirez la règle Disallow correspondante dans votre fichier robots.txt (ou ajoutez une règle Allow spécifique).
  2. Ajoutez la balise noindex : Intégrez la balise <meta name="robots" content="noindex"> dans la section <head> du code HTML de la page concernée (ou utilisez l’en-tête HTTP X-Robots-Tag: noindex pour les fichiers non-HTML comme les PDF).
  3. Demandez l’exploration : Utilisez l’outil d’inspection d’URL de la Search Console pour demander à Google de repasser sur la page.
  4. Résultat : Googlebot va explorer la page, lire la directive noindex, et supprimer définitivement l’URL de son index.

Une fois la page désindexée, vous pouvez éventuellement remettre la règle Disallow dans le robots.txt pour préserver votre budget crawl, bien que la balise noindex suffise généralement à écarter les robots sur le long terme.

Quand faut-il mettre à jour son fichier ?

Le fichier robots.txt n’est pas figé. Il doit évoluer en même temps que la structure technique de votre site Web. Une mise à jour et une vérification s’imposent lors des événements suivants :

  • Mise en production d’un site (ou refonte) : C’est l’erreur la plus classique. Les environnements de pré-production (staging) sont souvent bloqués par un Disallow: / global pour éviter l’indexation du site en cours de développement. Il est impératif de retirer cette ligne lors du passage en ligne officiel.
  • Ajout d’une nouvelle section ou de nouveaux filtres : Si vous intégrez un nouveau moteur de recherche interne ou une navigation à facettes complexes (filtres e-commerce), mettez à jour le fichier pour bloquer la génération massive d’URL dynamiques.
  • Changement de CMS : Différents systèmes de gestion de contenu (WordPress, Shopify, PrestaShop) génèrent des chemins de répertoires natifs différents (par exemple /wp-admin/ vs /admin/). Le fichier doit être adapté à la nouvelle architecture.

FAQ : Les questions fréquentes sur le fichier robots.txt

Un site Web peut-il fonctionner sans fichier robots.txt ? Oui. Si un robot d’exploration tente d’accéder au fichier robots.txt et que le serveur renvoie un code d’erreur HTTP 404 (Fichier introuvable), le robot considérera par défaut qu’il n’y a aucune restriction. Il partira du principe qu’il a l’autorisation d’explorer l’intégralité des pages du site. Cependant, pour une gestion optimale du budget crawl, la création de ce fichier reste fortement recommandée.

Le fichier robots.txt est-il sensible à la casse (majuscules/minuscules) ? Oui, à deux niveaux. Premièrement, le nom du fichier lui-même doit obligatoirement être rédigé en minuscules (robots.txt). Deuxièmement, les chemins d’URL indiqués dans les directives sont sensibles à la casse. Par exemple, la directive Disallow: /Dossier/ ne bloquera pas l’URL /dossier/.

Combien de temps met Google pour prendre en compte une modification ? Les moteurs de recherche ne vérifient pas le fichier en continu. En général, les robots d’exploration mettent en cache le contenu du fichier robots.txt pour une durée maximale de 24 heures. Si vous effectuez une modification critique, vous pouvez signaler à Google que le fichier a été mis à jour via le rapport robots.txt de la Google Search Console pour accélérer sa prise en compte.

Puis-je bloquer les intelligences artificielles (IA) avec ce fichier ? Oui. Les principaux acteurs de l’intelligence artificielle (qui explorent le Web pour entraîner leurs modèles de langage) respectent le protocole d’exclusion des robots. Pour interdire l’utilisation de vos contenus à ces fins, vous devez cibler leurs robots via la directive User-agent.

Voici les principaux robots d’IA à bloquer :

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

(Note : Bloquer Google-Extended n’impacte pas votre référencement dans le moteur de recherche classique, géré par Googlebot).

Vous avez aimé ce contenu ? Partagez-le !

Vous avez aimé cet article ? Vous aimeriez nos formations !

Trouvez une veille quotidienne, des formateurs passionnés et curieux, les meilleurs niveaux sur des cas concrets. Cette passion qui nous anime nous permet de vous proposer LA formation qui répondra à VOS besoins.