Qu’est-ce qu’un fichier robots.txt ?
Le fichier robots.txt est un fichier texte utilisé pour indiquer aux robots d’exploration des moteurs de recherche les parties d’un site qu’ils sont autorisés à explorer (ou non).
Lorsqu'un crawler arrive sur votre site, il commence en consultant le fichier robots.txt à l’adresse suivante : https://www.exemple.fr/robots.txt. Il lit les instructions qui s’y trouvent et adapte son comportement en conséquence.
Le contenu du fichier est composé de règles qui précisent quels user-agents (c’est-à-dire quels robots) sont ciblés et quels dossiers, fichiers ou types de pages doivent être autorisés ou interdits à l’exploration.
À quoi sert robots.txt, quel est son rôle ?
Contrôler l’exploration de son site
Le premier usage d’un fichier robots.txt est de permettre au propriétaire d’un site de préciser ce que les robots d’exploration peuvent explorer. Par défaut, si aucun fichier robots.txt n’est présent, les moteurs de recherche peuvent explorer l’ensemble du site, c’est à dire les pages publiques ainsi que les sections qui ne sont pas destinées à être parcourues par les robots :
- Les répertoires techniques (ex : /admin/, /cgi-bin/)
- Les zones privées ou internes (ex : /members/, /intranet/)
- Les pages de test, de préproduction, de staging
- Les ressources lourdes (ou inutiles) pour le SEO (fichiers PDF, vidéos, images...)
- Les pages générées via des simulateurs ou calculateurs
- Les pages venant de moteurs de recherche interne (ex : /recherche/)
Grâce aux directives Disallow ou Allow, le fichier robots.txt permet d’autoriser ou d’interdire l’exploration de certaines sections du site.
Optimiser le budget crawl
Le budget crawl correspond au nombre de pages qu’un moteur de recherche est prêt à explorer sur un site donné lors d’une session d’exploration. Ce budget dépend de plusieurs facteurs : la taille du site, sa popularité, la fréquence de mise à jour, la rapidité du serveur… Un site de petite taille ne rencontrera pas de problème de budget crawl. Mais sur un site de taille moyenne ou importante (site e-commerce, site média, site institutionnel), ce budget est une contrainte à analyser.
Si le robot passe son temps sur des pages sans valeur SEO (pages de tri, pages de recherche interne, archives profondes...), il en explorera d’autant moins les pages stratégiques. De plus, certaines pages importantes risquent de ne pas être explorées aussi souvent qu’elles le devraient.
C’est là qu’intervient le fichier robots.txt : Il permet de bloquer l’exploration des pages inutiles (filtres de navigation, paramètres d’URL, archives anciennes, résultats de recherche interne). Le budget crawl est concentré sur les pages utiles à l'internaute : pages catégories, pages produit, pages éditoriales optimisées SEO...
Le robots.txt n’est pas un outil de sécurité
Le fichier robots.txt ne protège pas les contenus sensibles. Si un fichier confidentiel est bloqué en robots.txt mais accessible publiquement, il peut toujours être trouvé via un lien externe. Par exemple, un dossier comme /données-confidentielles/ dans le fichier robots.txt attire la curiosité. Pour sécuriser des contenus privés, utilisez plutôt un blocage serveur ou une authentification.
Ce que robots.txt ne fait pas :
- Il n’empêche pas un internaute de taper l’URL directe d’une page (ex : /admin/) et de l’ouvrir
- Il n’empêche pas les robots spammeurs ou les scrapers d’ignorer les règles et de tout crawler quand même
- Il ne cache pas les fichiers dans les résultats de recherche si d’autres sites font des liens vers eux (les URL peuvent quand même apparaître)
- Il n’empêche pas complétement l’indexation (sauf si combiné à d’autres balises ou en-têtes HTTP)
Quand utiliser robots.txt plutôt qu’une balise meta robots ou un en-tête X-Robots-Tag
Il existe 2 façons de limiter la présence d’une page dans Google :
- Soit on empêche l’exploration avec un fichier robots.txt
- Soit on empêche l’indexation avec une balise meta robots ou un en-tête HTTP X-Robots-Tag
Quelle est la différence ?
Le robots.txt donne des instructions aux robots pour ne pas explorer certaines pages ou répertoires. Les pages bloquées peuvent malgré tout apparaître dans l’index si elles sont liées ailleurs, mais sans contenu visible.
La meta robots (<meta name="robots" content="noindex">) empêche l’indexation d’une page, mais nécessite que le robot puisse y accéder pour lire la directive.
Le X-Robots-Tag a le même effet que la balise meta robots, mais peut s’appliquer à des fichiers non HTML (PDF, images…)
⚠️ Pour de retirer une page de l’index il est contre-productif de combiner Disallow dans robots.txt et noindex. Googlebot ne pourra pas explorer la page et ne verra jamais la directive noindex. La page peut quand même apparaître dans l’index.
Comment fonctionne un fichier robots.txt ?
Où le placer ?
Le fichier doit être à la racine du site, accessible à l’URL https://votresite.com/robots.txt (et non dans un sous-dossier comme /admin/robots.txt). Si vous le mettez ailleurs, les moteurs ne le chercheront pas à cet endroit et l’ignoreront. Contrairement à un sitemap XML, il n’est pas nécessaire d’envoyer le fichier robots.txt à Google.
Le fichier ne peut pas être placé dans un sous-dossier (ex : https://www.exemple.fr/fichiers/robots.txt). Il doit être nommé précisément robots.txt, en minuscules, sans majuscule ni variante (Robots.TXT, robot.txt… seront ignorés).
Si le fichier est absent, les moteurs de recherche considèrent qu’ils peuvent explorer librement l’ensemble du site. S’il est mal placé ou mal nommé, il ne sera tout simplement pas lu.
Si votre site fonctionne en HTTPS, le fichier doit être accessible à l’adresse sécurisée (https://www.exemple.fr/robots.txt) et pas seulement en HTTP.
Cas des multi-domaines et multi-langues
Chaque domaine et chaque sous-domaine est considéré comme un site indépendant par les moteurs de recherche.
- example.com doit avoir son propre robots.txt
- blog.example.com doit avoir un robots.txt séparé
- shop.example.com doit également avoir son propre fichier
Pour les sites multi-langues avec des sous-domaines :
- fr.example.com/robots.txt doit avoir des règles adaptées à la version française
- en.example.com/robots.txt doit avoir des règles adaptées à la version anglaise
Chaque fichier peut pointer vers un sitemap correspondant à sa langue :
- Sitemap: https://fr.example.com/sitemap-fr.xml
- Sitemap: https://en.example.com/sitemap-en.xml
Les 5 directives de base du fichier robots.txt
Un fichier robots.txt est constitué de groupes de règles, chacun commençant par une directive User-agent, suivie de directives Disallow, Allow.
1/ User-agent
Chaque moteur de recherche utilise un user-agent spécifique (ex : Googlebot, Bingbot, Googlebot-Image, Yandex...). La directive User-agent permet de donner des instructions à un robot précis.
Par exemple, pour bloquer l’accès à GPTBot, le robot de ChatGPT :
User-agent : GPTBot
Disallow: /
Cet exemple empêche GPTBot d’explorer votre site, tout en laissant les autres robots suivre les règles de leur bloc. Vous pouvez trouver la liste des user-agents connus sur user-agents.net.
Pour cibler tous les robots on utilise la directive suivante :
User-agent : *
2/ Disallow
La directive Disallow sert à interdire l’exploration d’une URL, d’un répertoire, ou d’un pattern d’URL.
Cet exemple signifie qu’aucune URL n’est interdite, le robot peut tout explorer :
Disallow:
Cet exemple interdit au robot de parcourir toutes les pages situées sous /admin/ :
Disallow: /admin/
3/ Allow
La directive Allow permet d’autoriser explicitement l’exploration d’une URL ou d’un sous-ensemble, même dans un répertoire interdit par Disallow.
Dans cet exemple, tout /private/ est interdit sauf la page public-info.html :
Disallow: /private/
Allow: /private/public-info.html
4/ Sitemap
La directive Sitemap permet d’indiquer aux robots l’emplacement des fichiers sitemap XML, même s’ils ne sont pas mentionnés dans la Search Console. Ce n’est pas une directive d’exploration mais une aide au crawl.
Vous pouvez l’utiliser plusieurs fois si vous avez plusieurs sitemaps.
L'URL de chaque sitemap doit être entière (URL absolue), et doit commencer par https:// :
sitemap : https://example.com/sitemap.xml
5/ Crawl-delay
Cette directive indique un temps d’attente entre deux requêtes d’exploration.
Attention : cette directive n’est pas respectée par Googlebot (elle fonctionne sur Bing et Yandex notamment).
Dans cet exemple, le robot doit attendre 10 secondes entre chaque requête :
Crawl-delay: 10
Les 2 symboles spéciaux utilisés avec les directives
1/ Le symbole * (wildcard)
Il remplace n’importe quelle suite de caractères (0 ou plusieurs), quelle que soit sa position après la racine. Le * fonctionne uniquement en milieu ou fin d’URL. Il ne doit pas précéder un slash.
Disallow: /*? → Bloque toutes les pages avec pagination
Disallow: /*add-to-cart=* → Bloque toutes les url contenant ce paramètre
Disallow: /dossier/* → Bloque tout ce qui est dans /dossier/
Dans l’exemple ci-dessous on bloque tout ce qui commence par /dossier-privé/ :
Disallow: /dossier-prive/*
Dans l’exemple ci-dessous, on bloque toutes les URLs contenant le paramètre ?tri=
Disallow: /*?tri=
2/ Le symbole $
Il indique que la règle doit s’appliquer à la fin exacte d’une URL. Il est utilisé pour bloquer une extension de fichier.
Dans l’exemple ci-dessous, on bloque tous les fichiers PDF du site :
Disallow: /*.pdf$
Combiner Allow, Disallow et wildcards
Dans l’exemple ci-dessous, on bloque tous les fichiers dans /fichiers/ sauf ceux dont le nom commence par public- et se termine par .pdf :
Disallow: /fichiers/*
Disallow: /fichier/public-*pdf$
Les robots lisent une seule règle par user-agent
Si plusieurs groupes de règles correspondent au même user-agent, seul le premier bloc rencontré est pris en compte. Dans cet exemple, seul le premier groupe avec la règle disallow: /admin/ sera interprété. Le second sera ignoré :
User-agent: Googlebot
Disallow: /admin/
User-agent: Googlebot
Disallow: /test/
Les règles sont sensibles à la casse
L’URL /fichier.html est différente de /FICHIER.html
Les 3 règles pour ne rien interdire aux robots
1/ Tout le site est explorable. C'est la syntaxe recommandée si vous voulez être certain que tous les bots indexent votre contenu :
User-agent: *
Disallow:
2/ Les robots considèrent par défaut que tout le site est autorisé :
User-agent: *
Allow:
3/ Vous autorisez la racine du site et tout ce qui en découle :
User-agent: *
Allow: /
La seule règle pour tout interdire aux robots
Cette règle signifie l’interdiction d’accéder à la racine du site, et donc à toutes les URL situées sous cette racine :
User-agent: *
Disallow: /
Elle peut être utilisée temporairement dans les cas suivants :
- site en cours de développement ou de refonte
- site de pré production (staging)
- site devant rester privé, sans indexation
La règle pour autoriser une page dans un dossier bloqué
Quand une URL correspond à la fois à une règle Disallow et une règle Allow, la plus longue et précise l’emporte.
Ici, tout le répertoire /dossier/ est bloqué, sauf la page /dossier/page-authorisee.html qui est explicitement autorisée :
User-agent: *
Disallow: /dossier/
Allow: /dossier/page-autorisee.html
La règle pour bloquer un ou plusieurs répertoires
Dans cet exemple, on bloque l’accès aux répertoires /admin/ et /private/ :
User-agent: *
Disallow: /admin/
Disallow: /private/
La règle pour bloquer des paramètres d’URL
Sur les sites e-commerce, les filtres de tri ou de recherche génèrent des paramètres d’URL dynamiques qui peuvent créer un très grand nombre de pages similaires. Cela pose un risque de contenu dupliqué et de budget crawl gaspillé.
Imaginons un site e-commerce : https://www.boutique-exemple.fr/chaussures
Le site propose des filtres par taille et par genre pour affiner la recherche
- https://www.boutique-exemple.fr/chaussures?taille=42
- https://www.boutique-exemple.fr/chaussures?genre=homme
- https://www.boutique-exemple.fr/chaussures?taille=42&genre=femme
Il est intéressant d’ajouter une règle qui bloque toutes ces URLs de filtre afin d’éviter que Google ne passe du temps à explorer et indexer des variantes de page à faible valeur pour le SEO :
User-agent: *
Disallow: /*?taille=
Disallow: /*?genre=
Disallow: /*?page=
Comment créer un fichier robots.txt
Création manuelle, sans CMS
- Ouvrez un éditeur de texte classique (Notepad, TextEdit, Sublime Text, VS Code)
- Écrivez vos directives
- Enregistrez le fichier avec le nom exact robots.txt (tout en minuscules, sans majuscule ni extension)
- Placez ce fichier à la racine de votre site web, via FTP ou via le gestionnaire de fichiers de votre hébergeur.
Création avec l’aide d’un CMS
Dans Wordpress
4 extensions propose d’éditer ce fichier :
- Yoast SEO : Accédez à Yoast SEO > Outils > Éditeur de fichiers. Créez ou modifiez le fichier et enregistrez-le.
- Rank Math SEO : Accédez à Rank math > Outils > Éditeur de fichiers. Créez ou modifiez le fichier et enregistrez-le.
- L’extension All in One SEO propose un module à intégrer avec des modèles
- L’extension SEOKEY propose de générer un fichier optimisé SEO.
(insérer video)
Dans Prestashop
Une option native permet de générer automatiquement un fichier robots.txt via le back-office. Dans le Paramètres de la boutique > Trafic & SEO > Générer le fichier robots.txt.
Dans Shopify
Peut être installé via le fichier robots.txt.liquid (accès développeur requis).
FAQ
Combien de temps faut-il pour que Google prenne en compte un changement dans robots.txt ?
En général, comptez 6 à 24 heures pour que le changement soit effectif, mais cela peut parfois prendre plusieurs jours pour les petits sites. Lorsque vous modifiez votre fichier robots.txt, le temps de prise en compte peut varier en fonction :
- De la fréquence de crawl de votre site par Google
- Des paramètres de cache de votre hébergeur
- Du temps nécessaire pour propager la mise à jour sur les serveurs de Google
Comment tester si mon fichier robots.txt fonctionne ?
Pour tester votre fichier robots.txt, vous pouvez utiliser plusieurs outils officiels ou privés :
- La Google Search Console permet de vérifier si une URL est bloquée ou non selon les règles actuelles. C’est pratique pour faire des tests avant de mettre à jour le fichier.
- Le rapport robots.txt de la Google Search Console est accessible dans l’onglet Indexation. Filtrez par “pages exclues” et repérez les pages marquées comme “Bloquées par le fichier robots.txt”. Vos pages ayant un intérêt pour le SEO ne doit pas y être bloqué par erreur (catégorie, produit, article de blog).
- Google propose aussi un robots.txt Tester open source (code disponible sur GitHub) qui permet de reproduire le comportement de Googlebot. https://github.com/google/robotstxt
- Il est possible de tester en ligne avec des simulateurs comme : https://technicalseo.com/tools/robots-txt/
Google met-il en cache le fichier robots.txt ?
Oui. Google ne télécharge pas le fichier robots.txt à chaque chargement de page, il le met en cache pour limiter la charge sur les serveurs. La durée de ce cache est de 24 heures, mais elle peut varier en fonction de la fréquence de mise à jour du site.