DataDome

Comment utiliser votre fichier robots.txt pour empêcher (même partiellement) les bots d’explorer votre site

Table des matières
Dernière mise à jour : 7 Jan, 2025
|
min

Les moteurs de recherche utilisent des programmes automatisés appelés robots, ou bots, pour recueillir des informations sur les sites web. Les données collectées sont stockées dans un index, une base de données qui permet au moteur de recherche de retrouver rapidement les pages pertinentes.

Lorsqu’un utilisateur saisit une requête dans un moteur de recherche, ce dernier extrait les résultats de sa base de données indexée. Des algorithmes déterminent la pertinence des résultats en évaluant des facteurs comme la correspondance des mots-clés, la qualité des pages et les indicateurs d’engagement des utilisateurs. L’indexation permet ainsi au moteur de recherche de fournir des résultats précis et rapides grâce à son analyse des pages explorées.

Les bots des moteurs de recherche (également appelés crawlers) vérifient le fichier robots.txt du site pour savoir quelles pages ils sont autorisés à explorer et indexer. Si ce fichier ne contient pas d’instructions claires, le crawler peut explorer et indexer toutes les pages. Cela peut entraîner plusieurs conséquences négatives pour l’expérience utilisateur ou les performances SEO du site.

  • Des pages à faible priorité, comme les pages de connexion ou les conditions générales, peuvent apparaître avant des contenus à forte valeur ajoutée comme les articles de blog ou la page d’accueil.
  • Les utilisateurs peuvent ne pas voir les contenus les plus pertinents dans leurs résultats de recherche. Par exemple, si le site ne bloque pas les crawlers sur les pages obsolètes, celles-ci pourraient apparaître à la place des plus récentes.
  • Du contenu dupliqué peut apparaître dans les résultats de recherche. Par exemple, une page de test présente dans le sitemap qui réplique une autre page indexée.
  • En l’absence d’instruction « disallow » dans le fichier robots.txt, les crawlers peuvent surcharger les serveurs en indexant des pages inutiles, ce qui peut entraîner des problèmes de performance pour les utilisateurs.

Qu’est-ce qu’un fichier robots.txt ?

Le fichier robots.txt est un simple fichier texte situé dans le répertoire racine d’un domaine de site web. Il contient des instructions destinées à guider les web crawlers (robots d’indexation) des moteurs de recherche sur la manière d’interagir avec les pages d’un site. Les directives du fichier robots.txt s’appliquent à toutes les pages du site, y compris les fichiers HTML, PDF et autres formats non multimédias indexés par les moteurs de recherche.

Diriger les bots des moteurs de recherche vers les pages pertinentes est une étape essentielle de l’optimisation pour les moteurs de recherche (SEO). Cela garantit que seules les pages de haute qualité et à jour sont indexées et peuvent apparaître dans les résultats de recherche. Les pages non indexées seront plus difficiles à trouver pour les utilisateurs, car les moteurs de recherche ne les associeront pas aux requêtes via les mots-clés.

Par exemple, empêcher un web crawler d’indexer une page contenant une offre obsolète réduira son classement dans les résultats des moteurs de recherche.

La directive « disallow » dans le fichier robots.txt permet de bloquer certains crawlers d’accéder à des pages ou sections spécifiques du site.

Optimiser le fichier robots.txt avec la directive « disallow » permet aussi de réduire la charge sur le serveur du site. Si les web crawlers accèdent à un site trop fréquemment ou simultanément, cela peut générer un grand nombre de requêtes en peu de temps, et surcharger ainsi la capacité du serveur.

L’indexation de pages gourmandes en ressources comme des vidéos, images haute résolution ou pages mettant à jour les données en temps réel, augmente aussi la charge serveur. En détournant les crawlers de ces pages, on préserve les ressources du serveur, ce qui améliore les performances du site : chargement plus rapide, interactions plus fluides avec les utilisateurs, meilleure gestion des éléments dynamiques comme les bases de données.

Il est important de noter que cette mesure ne doit être appliquée que si le trafic des crawlers ralentit effectivement les performances du site. Si ce n’est pas le cas, il n’est pas nécessaire de restreindre l’accès à ces pages.

Voici un exemple de fichier robots.txt simple utilisant la directive « disallow » :

Dans cet exemple, le fichier robots.txt bloque Googlebot (le user-agent) pour qu’il n’accède pas aux URL commençant par https://example.com/nogooglebot/.

Un fichier robots.txt légèrement plus complexe pourrait ressembler à ceci :

Dans cet exemple, robots.txt bloque les user-agents Googlebot et Bingbot. Il empêche également tous les crawlers d’accéder à toute page contenant les chaînes /private.html ou /special-offers.html. Le caractère astérisque * agit ici comme un caractère générique (wildcard).

Bon à savoir : Qu’est-ce qu’un caractère générique (*) ?

Un caractère générique (wildcard) est un caractère représentant un ou plusieurs caractères non spécifiés dans une recherche ou un modèle. Dans ce cas, tous les crawlers sont bloqués pour les pages contenant : /private.html ou /special-offers.html grâce à l’utilisation de l’astérisque.

Dans certains cas, robots.txt peut être configuré avec la directive crawl-delay. Cette directive limite la fréquence à laquelle un bot peut visiter un site et demander des pages à indexer. Crawl-delay évite qu’un bot surcharge un site disposant de ressources serveur limitées ou de nombreuses pages lourdes. Elle garantit que le serveur puisse gérer le trafic sans ralentissements ni plantages. Pour l’implémenter, ajoutez « Crawl-delay: 10 » dans le fichier robots.txt. Le chiffre correspond au nombre de secondes de délai entre deux requêtes du bot.

Comment formater et que mettre dans un fichier robots.txt

Il y a deux notions principales à connaître pour configurer un fichier robots.txt :

  • User-Agents : les user-agents sont simplement les noms utilisés par les bots d’indexation pour s’identifier. Pour bloquer des robots d’indexation, comme Googlebot ou Bingbot, il suffit d’indiquer leur nom dans la ligne user-agent de votre robots.txt, comme dans l’exemple suivant : https://example.com/nogooglebot/.
  • Allow et Disallow : les directives « allow » et « disallow » indiquent les pages spécifiques du sitemap XML que les bots peuvent ou ne peuvent pas explorer. Les noms de fichiers et les chemins précisés dans les directives allow ou disallow sont sensibles à la casse. L’ajout d’un slash (/) à la directive allow ou disallow applique la règle à l’ensemble du site.

Pour bloquer une URL spécifique, utilisez la directive disallow comme ci-dessous :

Pour bloquer des fichiers spécifiques, il faut indiquer leur chemin. Par exemple, un fichier PDF :

Pour bloquer certains user-agents, assurez-vous de cibler les bots par leur nom exact :

Il est également possible de bloquer plusieurs bots ou URL à l’aide du caractère astérisque (*) :

Empêcher les bots d’accéder à certaines pages ne les supprime pas et n’en empêche pas l’accès aux utilisateurs. Les web crawlers peuvent suivre des liens externes pour indexer des pages, même si le contenu a été bloqué à l’exploration directe sur le site d’origine. Par exemple, si un blog externe contient un lien vers un ancien article de votre site, le crawler pourra le suivre.

Le fichier robots.txt est également accessible publiquement, ce qui signifie que tout utilisateur peut voir quel contenu est restreint, même s’il ne peut pas modifier les règles. Pour ces raisons, robots.txt n’est pas la solution idéale pour cacher des informations sensibles.

Il est recommandé d’ajouter une balise meta « noindex » ainsi qu’une protection par mot de passe pour les pages que vous souhaitez garder totalement privées, comme les interfaces d’administration ou les pages de compte utilisateur.

La balise noindex se place dans la section <head> du HTML et indique explicitement aux moteurs de recherche de ne pas indexer le contenu de la page.

Comprendre les quatre principaux bots des moteurs de recherche

Les quatre principaux bots des moteurs de recherche sont :

  • Googlebot (Google),
  • Bingbot (Bing),
  • Slurp (Yahoo),
  • DuckDuckBot (DuckDuckGo).

Chacun de ces bots a une manière différente de lire et de respecter les règles définies dans le fichier robots.txt d’un site web.

Googlebot, par exemple, suit les règles définies dans un fichier robots.txt, mais il est programmé pour avoir une fréquence d’exploration élevée. Googlebot peut ignorer certaines directives en cas d’erreurs mineures de formatage ou de problèmes dans le fichier robots.txt.

Par exemple, la directive Disallow: /private/ pourrait ne pas fonctionner si le répertoire est indiqué comme /Private/ dans l’URL, car les chemins sont sensibles à la casse dans certains systèmes. Googlebot est conçu pour indexer autant de contenu que possible. Cela signifie que même si un fichier robots.txt restreint l’accès à certaines pages, Googlebot peut quand même les découvrir et les indexer via des liens externes ou des versions en cache.

Bingbot suit également les directives définies dans le fichier robots.txt, mais il est légèrement plus tolérant face aux erreurs mineures. Toutefois, si les directives sont mal formatées, Bingbot pourrait tout de même indexer les pages malgré les instructions contraires.

Le bot Slurp de Yahoo est généralement considéré comme moins strict dans le respect des directives du fichier robots.txt. Mais dans la plupart des cas, il évite les pages bloquées par une directive disallow.

DuckDuckBot respecte généralement les règles définies dans le fichier robots.txt et ne varie pas son comportement, sans faire d’exception.

Comment créer un fichier robots.txt ?

De nombreux systèmes de gestion de contenu comme Wix ou WordPress créent automatiquement un fichier robots.txt. Cependant, les directives par défaut ne sont pas personnalisées pour chaque page ou contenu spécifique. Il peut donc être nécessaire de personnaliser manuellement le fichier robots.txt.

Pour ce faire, vous pouvez utiliser des éditeurs de texte classiques comme Notepad ou TextEdit. Il est important de ne pas utiliser de traitement de texte, car cela peut introduire des caractères inattendus qui compromettraient l’intégrité du fichier et empêcheraient son bon fonctionnement.

Suivez les règles ci-dessous pour créer un fichier robots.txt :

  • le fichier doit s’appeler robots.txt ;
  • un site ne peut avoir qu’un seul fichier robots.txt ;
  • le fichier robots.txt doit être enregistré avec un encodage UTF-8.

Où télécharger le fichier robots.txt ?

Téléchargez le fichier robots.txt dans le répertoire racine de votre site web. Le répertoire racine est le dossier principal qui contient tous les autres fichiers. Si votre site est www.website.com, vous devez donc placer votre fichier à l’adresse suivante : www.website.com/robots.txt.

Chaque hébergeur possède une architecture serveur et une méthode de téléchargement différentes. Votre fournisseur d’hébergement pourra vous fournir les instructions exactes.

Vérifier et valider votre fichier robots.txt

Ouvrez une fenêtre de navigation privée et recherchez votre fichier robots.txt via un moteur de recherche. S’il n’apparaît pas, vérifiez auprès de votre hébergeur que le fichier a bien été mis en ligne.

Vous pouvez vérifier votre fichier robots.txt à l’aide de la Google Search Console. L’outil de test de robots Google (robots.txt tester) vous permet de tester votre fichier afin de vous assurer qu’il bloque le bon contenu pour les crawlers. Il est important de noter que cet outil est un simulateur : les modifications effectuées dans l’outil ne seront pas appliquées à votre fichier réel.

L’outil de test Google ne vérifie que le comportement de Googlebot et des bots liés à Google. Il est donc conseillé d’utiliser d’autres outils pour tester des bots comme Bingbot. Voici quelques outils disponibles en ligne :

Bloquer les crawlers IA avec le fichier robots.txt

Les bots d’intelligence artificielle (IA) explorent les sites web à la recherche de données d’entraînement. De nombreux propriétaires de sites web mettent désormais à jour leurs fichiers robots.txt pour bloquer les bots alimentés par l’IA afin qu’ils n’accèdent pas à du contenu propriétaire ou sensible. Beaucoup de personnes s’opposent à ce que leurs données soient utilisées pour entraîner des modèles de langage (LLM) pour des raisons éthiques.

Interdire les bots des entreprises d’IA revient au même que de bloquer ceux des moteurs de recherche. Il suffit de connaître le nom de l’user-agent.

Dans cet exemple, la directive disallow est utilisée pour bloquer le bot d’OpenAI utilisé par ChatGPT :

Vous pouvez également utiliser un caractère générique (wildcard) pour bloquer tous les bots contenant « AI » dans leur nom :

Attention, bloquer les bots IA via le fichier robots.txt les empêche uniquement d’indexer les contenus, mais ne les empêche pas de visiter ou de lire les pages. Si les bots accèdent au contenu via des liens externes, ils peuvent toujours l’analyser pour l’entraînement de leurs algorithmes ou modèles, même si les pages ne sont pas indexées ou que le contenu n’était pas destiné à être rendu public.

Pour empêcher totalement les bots IA de collecter des données, il est nécessaire d’utiliser à la fois un fichier robots.txt et la balise noindex.

Erreurs courantes dans les fichiers robots.txt

Voici trois erreurs fréquentes dans l’utilisation du fichier robots.txt :

  • blocage excessif : bloquer trop de pages limite la capacité des moteurs de recherche à explorer et à bien référencer vos pages ;
  • erreurs de syntaxe : les fautes de frappe peuvent être coûteuses. Une erreur de syntaxe peut rendre le fichier robots.txt inutilisable ;
  • blocage de ressources importantes : bloquer les fichiers CSS ou JavaScript empêche les crawlers de lire correctement votre site. Ces fichiers sont essentiels à l’affichage et au fonctionnement du site. Sans eux, les moteurs de recherche peuvent mal interpréter la structure de la page, ce qui nuit à l’indexation et au référencement.

Comment DataDome vous aide à bloquer et gérer les robots d’indexation

En théorie, un fichier robots.txt peut empêcher tout bot indésirable d’accéder à vos pages, mais en pratique, il offre peu de protection réelle contre les bots malveillants, qui ignorent généralement ces directives.

De nombreux acteurs malveillants déguisent leurs bots en crawlers légitimes, comme Googlebot, pour échapper à la détection. Une étude récente menée par DataDome montre que près de trois faux Googlebots sur quatre passent inaperçus ou ne sont pas bloqués par les défenses classiques.

Pour protéger efficacement votre site contre le trafic automatisé nuisible, qu’il s’agisse de scrapers de contenu, de scalper bots ou d’autres formes de fraude, il vous faut une solution robuste de lutte contre les bots.

C’est là que DataDome intervient. Notre solution détecte et bloque automatiquement les bots malveillants en moins de 2 millisecondes, assurant une protection en temps réel sans perturber les utilisateurs légitimes. Vous pouvez aussi créer des règles personnalisées pour définir précisément le traitement réservé à chaque type de bot (comme les bots IA), et garder un contrôle total sur votre sécurité.

Qu’il s’agisse d’un pic soudain de scraper bots ou d’attaques sophistiquées de scalping, DataDome vous offre la rapidité et la précision nécessaires pour bloquer les bots avant qu’ils ne causent de dégâts.

FAQ sur la directive Disallow dans robots.txt

Puis-je bloquer les bots IA ?

Oui, les bots des IA peuvent être bloqués en ajoutant leur nom d’user-agent à la directive « disallow » dans le fichier robots.txt.

Que se passe-t-il si je n’ai pas de fichier robots.txt ?

Les web crawlers des moteurs de recherche indexeront toutes les pages de votre site. Cela peut entraîner l’indexation de contenus non pertinents, avec un impact négatif sur le classement de vos pages.

Quelle est la différence entre robots.txt et les balises meta ?

Le fichier robots.txt contrôle l’accès au site au niveau des répertoires. Les balises meta permettent de gérer le comportement d’exploration et d’indexation à l’échelle des pages individuelles.