Robots.txt : contrôlez l'exploration par Googlebot, bloquez des répertoires, réglez la vitesse de crawl et appliquez les bonnes pratiques SEO.

Robots.txt est un fichier simple mais puissant qui contrôle la façon dont les moteurs de recherche explorent votre site. Il se trouve à l'adresse `https://example.com/robots.txt` et contient des règles qui précisent quelles pages et quels répertoires Google, Bing et les autres robots peuvent explorer. Robots.txt vous aide à gérer votre budget de crawl (le nombre de pages que Google explore chaque jour), évite de gaspiller ce budget sur des pages sans importance et garde vos contenus privés hors des résultats de recherche.
La plupart des sites disposent d'un fichier robots.txt, mais beaucoup sont mal configurés. Un robots.txt mal configuré peut bloquer par accident des pages importantes et gâcher leur potentiel de classement. Un robots.txt bien configuré améliore l'efficacité du crawl et protège la confidentialité de votre site. Ce guide couvre la syntaxe de robots.txt, les bonnes pratiques et des exemples concrets.
Robots.txt est un fichier texte normalisé qui transmet des instructions d'exploration aux robots des moteurs de recherche. Lorsqu'un robot visite votre site pour la première fois, il demande `/robots.txt` avant d'explorer quoi que ce soit d'autre. Le robot lit les règles et les applique (à condition qu'il soit bien élevé).
La documentation robots.txt de Google est la référence qui fait autorité sur ce standard. Le format robots.txt a été créé en 1994 et il a été largement adopté depuis. Tous les grands moteurs de recherche (Google, Bing, Baidu) respectent robots.txt.
Important : robots.txt est une consigne, pas un pare-feu. Les robots bien élevés (Google, Bing) respectent les règles du robots.txt. Les robots malveillants et les aspirateurs de contenu les ignorent. Servez-vous de robots.txt pour piloter l'exploration par les moteurs de recherche, pas pour bloquer des pirates ou des aspirateurs. Pour la sécurité, passez par des outils au niveau du serveur.
Robots.txt utilise une syntaxe texte très simple. Chaque règle comporte deux parties : un User-agent (le robot auquel la règle s'applique) et des chemins Disallow (les pages à bloquer).
Exemple de base :
User-agent: *
Disallow: /admin/
Disallow: /staging/
Sitemap: https://example.com/sitemap.xml
Cela demande à tous les robots (`*` désigne la totalité d'entre eux) de ne pas explorer les répertoires `/admin/` et `/staging/`. La ligne Sitemap indique aux robots où se trouve votre sitemap.
User-agent: \* désigne l'ensemble des robots. Vous pouvez aussi cibler un robot en particulier :
`User-agent: Googlebot` ne s'applique qu'au robot de Google, et `User-agent: Bingbot` ne s'applique qu'à celui de Bing. Vous pouvez déclarer autant de sections User-agent que nécessaire, avec des règles différentes pour chacune.
Disallow: /path/ demande aux robots de ne pas explorer le chemin indiqué. La règle Disallow: / bloque le site entier, alors qu'un Disallow: vide autorise tout. Vous pouvez lister plusieurs règles Disallow pour un même User-agent.
Allow: /path/ autorise l'exploration d'un chemin précis même si le répertoire parent est interdit. Exemple : la règle Disallow: /temp/ associée à la règle Allow: /temp/important/ n'autorise que le sous-répertoire /important/.
Configuration 1 : bloquer les pages d'administration
User-agent: *
Disallow: /admin/
Disallow: /user/
Disallow: /account/
Cela empêche l'exploration des pages d'administration, des pages utilisateur et des pages de compte. Ces pages ne sont généralement pas destinées aux moteurs de recherche.
Configuration 2 : bloquer l'environnement de préproduction
User-agent: *
Disallow: /staging/
Disallow: /test/
Cela empêche les robots d'explorer les versions de test ou de préproduction de votre site.
Configuration 3 : bloquer certains types de fichiers
User-agent: *
Disallow: /*.pdf
Disallow: /*.zip
Cela empêche les robots d'explorer les fichiers PDF et ZIP. C'est utile si vous hébergez de nombreux PDF qui n'ont pas vocation à être indexés.
Configuration 4 : ralentir les robots qui saturent votre serveur
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Crawl-delay: 10
Cela bloque entièrement le robot d'Ahrefs (si vous ne souhaitez pas que votre site soit exploré par les outils SEO) et ralentit celui de Semrush en imposant un délai de 10 secondes entre deux requêtes. Crawl-delay est utile pour les robots agressifs qui surchargent votre serveur.
Configuration 5 : tout autoriser (comportement par défaut)
User-agent: *
Disallow:
C'est le comportement par défaut : un Disallow vide autorise tout. Vous pouvez aussi vous passer complètement de robots.txt si vous souhaitez que l'ensemble du contenu reste explorable.
Le fichier robots.txt bloque l'exploration. La balise meta robots noindex bloque l'indexation. Les deux ne répondent pas au même objectif.
Utilisez le robots.txt lorsque : vous voulez économiser du budget de crawl, vous avez du contenu dupliqué qui n'a pas besoin d'être exploré, vous avez des pages d'administration auxquelles les robots ne doivent pas toucher, ou vous voulez ralentir les robots les plus agressifs.
Utilisez la balise meta robots noindex lorsque : vous voulez qu'une page soit explorée mais pas indexée, afin de repérer les erreurs et les anomalies, vous voulez empêcher l'indexation tout en laissant passer les liens internes et l'exploration, ou vous voulez retirer une page des résultats de recherche à terme tout en la gardant en ligne.
Exemple : des pages paginées comme `/products?page=2` peuvent être bloquées dans robots.txt pour économiser du budget de crawl (puisque Google regroupe généralement la pagination). Mais vous pouvez aussi vouloir qu'elles soient explorées pour identifier les relations de canonisation. Dans ce cas, utilisez des canonical plutôt que robots.txt.
Le budget de crawl est le nombre d'URL que Google explore chaque jour sur votre site. Les grands sites qui comptent des millions de pages ne peuvent pas voir toutes leurs pages explorées quotidiennement. Google attribue ce budget en fonction de l'autorité de votre site et de sa fréquence de mise à jour. Le budget de crawl est limité. Le gaspiller sur des pages sans importance signifie que vos pages importantes sont explorées moins souvent.
Optimisez votre budget de crawl en bloquant les pages qui n'ont pas besoin d'être explorées : contenu dupliqué, résultats de recherche paginés, pages de compte utilisateur, pages de test. Chaque page que vous bloquez rend du budget à Google pour explorer vos contenus importants.
Les gaspillages de budget de crawl les plus fréquents : la pagination infinie (les filtres produits créent un nombre illimité d'URL), le contenu dupliqué accessible via différents paramètres, les identifiants de session ajoutés à chaque URL, les pages de calendrier ou d'événements qui génèrent des URL sans fin. Utilisez robots.txt pour bloquer ces schémas d'URL.
Google Search Console affiche les statistiques d'exploration de votre site. Surveillez le nombre de requêtes d'exploration au quotidien. Si Google explore sans cesse les mêmes pages sans découvrir de nouveaux contenus, revoyez votre robots.txt et la stratégie de blocage que vous avez mise en place.
Indiquez l'URL de votre sitemap dans le robots.txt. Ajoutez la ligne `Sitemap: https://example.com/sitemap.xml` à la fin de votre fichier robots.txt. Cela indique à Google où trouver votre sitemap XML. Vous pouvez en lister plusieurs si vous avez plusieurs fichiers.
Exemple :
User-agent: *
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap-news.xml
Lister ses sitemaps dans le robots.txt reste facultatif, puisque vous pouvez aussi les soumettre depuis Google Search Console, mais c'est une bonne pratique.
Google Search Console propose un testeur de robots.txt. Rendez-vous dans Paramètres > Exploration > Tester robots.txt. Saisissez une URL et vérifiez si votre robots.txt la bloque. C'est un outil précieux pour valider vos règles avant de les mettre en ligne.
Testez toujours avant de déployer une modification de robots.txt. Une seule erreur, comme un `Disallow: /` qui bloque la totalité de votre site, peut faire s'effondrer vos positions. Servez-vous du testeur pour vérifier que :
Les pages importantes ne sont pas bloquées. Les pages d'administration le sont. Les schémas d'URL dupliquées sont bloqués. Aucun chemin critique n'est interdit par accident.
Une fois votre robots.txt déployé, surveillez le rapport d'exploration de Google Search Console. Si le rythme d'exploration chute de façon inattendue, vous avez peut-être bloqué par erreur des contenus importants.
Erreur 1 : bloquer le CSS et le JavaScript. Si vous bloquez `/css/` ou `/js/` dans le robots.txt, Google ne peut pas explorer vos fichiers CSS et JavaScript. Or, sans le CSS, il ne peut pas afficher correctement vos pages. Ne bloquez jamais le CSS ni le JavaScript.
Erreur 2 : bloquer des contenus importants. Testez toujours avant de déployer. Une faute de frappe comme `Disallow: /p` au lieu de `Disallow: /staging/` peut bloquer `/products/` sans que vous le vouliez.
Erreur 3 : utiliser robots.txt comme mesure de sécurité. Ne comptez pas sur robots.txt pour protéger des données sensibles. Les pages sensibles doivent exiger une authentification, pas un simple robots.txt. Ce fichier est public et facile à contourner.
Erreur 4 : des robots.txt incohérents d'un domaine à l'autre. Si vous gérez plusieurs domaines, appliquez la même politique robots.txt sur tous. Des règles différentes par inadvertance peuvent créer des problèmes d'efficacité du crawl.
Erreur 5 : bloquer le sitemap lui-même. Ne bloquez jamais `/sitemap.xml` dans le robots.txt. Google doit pouvoir explorer le sitemap pour découvrir les pages de votre site.
Crawl-delay et Request-rate : ces directives ralentissent les robots. `Crawl-delay: 10` impose 10 secondes entre deux requêtes. `Request-rate: 1/10` autorise 1 requête toutes les 10 secondes. Utilisez-les pour les robots qui surchargent votre serveur. Google recommande de passer par les réglages de Search Console plutôt que par ces directives.
La directive Allow : elle autorise l'exploration d'un chemin précis même si un chemin parent est interdit. Pratique pour ménager des exceptions. Exemple : `Disallow: /temp/` associé à `Allow: /temp/keep/` n'autorise que le sous-répertoire keep.
La spécification robots.txt de Google documente toutes les directives prises en charge. La plupart de ces fonctions ne servent presque jamais. Pour la majorité des sites, tenez-vous en aux directives de base User-agent, Disallow et Sitemap.
Les règles propres à un user-agent permettent d'appliquer des consignes d'exploration différentes selon le robot. Vous pouvez définir des règles distinctes pour Googlebot, Bingbot et les autres user-agents. C'est utile si vous voulez que Google explore l'intégralité de votre site tout en empêchant Bing d'accéder à certaines sections. Indiquez le user-agent au début de chaque bloc de règles :
`User-agent: Googlebot` n'applique les règles qu'au robot de Google. `User-agent: *` les applique à tous les robots. Les règles valent pour le user-agent indiqué jusqu'à la directive user-agent suivante. Vous pouvez créer autant de blocs de règles que de robots à traiter.
Les directives crawl-delay et request-rate indiquent aux robots à quelle fréquence explorer votre site. `Crawl-delay: 5` demande au robot d'attendre 5 secondes entre deux requêtes, ce qui réduit la charge de votre serveur. `Request-rate: 1/10` lui demande de faire au maximum 1 requête toutes les 10 secondes. La documentation robots.txt de Google détaille toutes les directives prises en charge.
La directive Sitemap indique aux robots où trouver votre sitemap. La ligne `Sitemap: https://example.com/sitemap.xml` les oriente vers votre sitemap XML. Vous pouvez en déclarer plusieurs. C'est recommandé, car cela aide les robots à découvrir efficacement toutes les pages de votre site.
La directive Clean-param supprime les paramètres d'URL avant l'exploration. `Clean-param: utm_source&utm_medium https://example.com` demande à Google d'ignorer les paramètres UTM sur example.com. Cela évite que Google traite vos liens trackés comme du contenu dupliqué. Cette directive sert moins aujourd'hui, car Google gère automatiquement la plupart des paramètres de suivi.
Testez votre fichier robots.txt dans le testeur de robots.txt de Google Search Console. L'outil montre quelles URL seraient bloquées par votre robots.txt pour Googlebot. Cela évite de bloquer par accident des pages importantes.
Robots.txt est un fichier simple mais déterminant pour piloter l'exploration par les moteurs de recherche et protéger la confidentialité de votre site. Un robots.txt bien configuré bloque les pages sans importance, économise du budget de crawl et évite que le contenu dupliqué soit exploré plusieurs fois. Un robots.txt mal configuré peut bloquer par accident des contenus importants et faire chuter vos positions.
Testez toujours vos modifications de robots.txt avant de les déployer. Servez-vous du testeur de Google Search Console pour valider vos règles. Surveillez vos statistiques d'exploration tous les mois. Bloquez les contenus sans importance et gérez votre budget de crawl avec méthode. Utilisez notre outil d'audit GEO SEO pour auditer la configuration de votre robots.txt et repérer les problèmes potentiels d'exploration et d'indexation sur l'ensemble de votre site.
Non. Bloquer une page dans le robots.txt empêche Google de l'explorer, mais n'apporte rien au SEO. Si vous ne voulez pas qu'une page soit indexée, utilisez plutôt une balise noindex. Servez-vous du robots.txt pour économiser du budget de crawl.
Non. Ne bloquez jamais le CSS ni le JavaScript dans votre robots.txt. Google a besoin d'accéder à ces ressources pour comprendre pleinement votre page. Les bloquer l'empêche d'afficher correctement votre contenu.
En général, vous n'avez pas besoin de définir de vitesse de crawl, sauf si Google envoie trop de requêtes. S'il épuise votre bande passante, utilisez la directive Crawl-delay. La plupart des sites supportent sans problème la vitesse de crawl par défaut de Google.