Google découvre des millions de nouvelles pages chaque jour. Certaines méritent d’être crawlées, d’autres non. Le fichier robots.txt est le premier point de dialogue entre votre site et les robots d’exploration : il leur dit où ils peuvent aller et où ils doivent s’arrêter.
Mal configuré, un robots.txt peut bloquer toute votre indexation en une ligne. Bien pensé, il économise le budget de crawl de Google et protège les zones sensibles de votre site. Ce guide explique ce qu’est le fichier robots.txt, comment il fonctionne, et comment le configurer sans risque pour votre SEO.
Qu’est-ce que le fichier robots.txt ?
Le robots.txt est un fichier texte placé à la racine d’un site web (à l’URL https://votresite.com/robots.txt) qui indique aux robots d’exploration des moteurs de recherche les zones du site qu’ils peuvent explorer ou non.
Il suit un standard datant de 1994, le Robots Exclusion Protocol, reconnu par Google, Bing, Yandex et la quasi-totalité des crawlers légitimes. Un robots.txt bien formé se compose d’une série de règles simples : chaque bloc cible un ou plusieurs user-agents (bots), suivi de directives Disallow ou Allow sur des chemins d’URL.
Voici un exemple minimal :
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://votresite.com/sitemap_index.xml
Cet exemple dit à tous les robots (User-agent: *) de ne pas explorer /wp-admin/, avec une exception pour admin-ajax.php, et donne l’emplacement du sitemap.
Attention à ne pas confondre les deux concepts. Le robots.txt gère le crawl (l’exploration). Il ne gère pas l’indexation. Une page bloquée par robots.txt peut quand même apparaître dans les résultats Google si d’autres sites lui font des liens : Google verra l’URL, ne pourra pas la lire, mais l’affichera parfois sans description. Pour empêcher l’indexation, il faut utiliser la balise <meta name="robots" content="noindex">.
À quoi sert un robots.txt en SEO ?
Trois usages principaux justifient un robots.txt bien pensé.
Économiser le budget de crawl. Google alloue à chaque site un temps de crawl limité. Sur un site de plusieurs milliers de pages, empêcher les robots d’explorer les zones sans valeur SEO (recherche interne, filtres e-commerce, panier, comptes utilisateurs) libère du temps pour les pages qui comptent vraiment.
Éviter le duplicate content technique. Les URLs de filtres, les paramètres de tri, les paginations infinies génèrent souvent des variantes d’une même page. Bloquer ces motifs dans robots.txt évite que Google les traite comme du contenu dupliqué.
Protéger les zones internes. L’espace admin WordPress, les fichiers de configuration, les répertoires système ne devraient jamais apparaître dans les résultats de recherche. Le robots.txt les met hors du champ des robots, même si ce n’est pas une mesure de sécurité (un attaquant peut lire votre robots.txt).
Un site bien conçu n’a souvent pas besoin de règles complexes. WordPress avec Yoast génère un robots.txt minimal qui suffit dans 90 % des cas. Les configurations poussées concernent surtout les gros e-commerces, les sites média avec des archives massives et les applications avec des espaces membres.
Syntaxe et directives principales
Le robots.txt suit une syntaxe très simple. Chaque ligne est une directive.
User-agent. Cible un robot précis ou tous (* pour tous). Exemples : Googlebot (Google), Bingbot (Bing), AhrefsBot (Ahrefs), SemrushBot (Semrush). Les crawlers d’outils SEO peuvent aussi être ciblés spécifiquement pour éviter la charge inutile.
Disallow. Interdit l’exploration d’un chemin. Disallow: /admin/ bloque tout ce qui commence par /admin/. Disallow: / bloque tout le site (utile en préproduction, dangereux en production).
Allow. Autorise explicitement un chemin, en général pour créer une exception dans une zone bloquée. Google traite Allow avec la règle du chemin le plus spécifique.
Sitemap. Déclare l’emplacement du sitemap. C’est un complément utile à la soumission Search Console, surtout pour Bing et les crawlers secondaires.
Crawl-delay (non supporté par Google). Certains crawlers respectent cette directive pour espacer leurs requêtes. Google ignore cette instruction ; utilisez plutôt les réglages dans Search Console si vous voulez limiter la vitesse de crawl.
Les patterns supportent deux caractères spéciaux : * (correspond à n’importe quelle séquence) et $ (marque la fin d’une URL). Par exemple, Disallow: /*.pdf$ bloque tous les PDF du site, Disallow: /*?filter=* bloque toutes les URLs avec un paramètre filter.
Configurations types selon le CMS
Chaque CMS a ses spécificités.
WordPress
Yoast SEO et Rank Math génèrent automatiquement un robots.txt basique. Une configuration typique bloque /wp-admin/ (interface d’administration), autorise admin-ajax.php (fonctions AJAX du front) et pointe vers le sitemap.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://votresite.com/sitemap_index.xml
Sur les sites e-commerce WooCommerce, il faut aussi souvent bloquer les URLs de panier et de compte : Disallow: /?add-to-cart=*, Disallow: /mon-compte/*, Disallow: /panier/.
Shopify
Shopify gère son robots.txt automatiquement. Depuis 2021, il est éditable via le thème (robots.txt.liquid). Les blocages par défaut couvrent les zones sensibles (/admin, /cart, /orders, comptes clients).
Sites statiques
Un site Jekyll, Hugo ou Next.js n’a en général besoin que d’un robots.txt minimal :
User-agent: *
Allow: /
Sitemap: https://votresite.com/sitemap.xml
Sauf besoin spécifique de blocage, tout autoriser est la bonne posture pour un site à contenu unique.
Les erreurs à éviter absolument
Certaines erreurs classiques dans robots.txt peuvent avoir des conséquences graves.
Bloquer tout le site en production. Un Disallow: / oublié depuis la mise en préproduction a fait disparaître de Google des sites entiers pendant des semaines. Vérifiez toujours votre robots.txt après une mise en ligne.
Bloquer les ressources CSS et JavaScript. Google a besoin d’accéder à vos CSS et JS pour bien rendre vos pages. Bloquer /wp-includes/ ou /assets/ peut fausser l’évaluation visuelle et impacter votre SEO. Testez toujours le rendu de vos pages via Search Console > Inspection d’URL > Tester en direct.
Confondre robots.txt et noindex. Vous voulez empêcher une page d’apparaître dans les résultats ? Utilisez <meta name="robots" content="noindex">, pas le robots.txt. Une page bloquée par robots.txt peut quand même être indexée si d’autres sites y font des liens : Google connaît l’URL sans pouvoir la lire, et l’affiche avec un simple titre.
Incohérence avec le sitemap. Une page listée dans le sitemap mais bloquée par robots.txt envoie un signal contradictoire à Google. Cohérence : les URLs du sitemap XML doivent être crawlables et indexables.
Oublier la casse. Sur un serveur sensible à la casse (la plupart des Linux), Disallow: /Admin/ ne bloque pas /admin/. Respectez la casse réelle de vos URLs.
Comment tester son robots.txt
Google fournit un outil dédié dans Search Console : Robots.txt Tester. Il permet de vérifier qu’une URL précise est bien autorisée ou bloquée selon les règles définies.
Avant de mettre en ligne un nouveau robots.txt, testez systématiquement :
– L’URL de votre homepage
– Une URL d’article ou de page produit importante
– Une URL que vous vouliez explicitement bloquer
L’outil vous montre quelle règle s’applique et pourquoi. En cas de conflit entre plusieurs règles, c’est la plus spécifique qui l’emporte.
Une fois votre robots.txt en ligne, surveillez le rapport Couverture de Search Console. Toute augmentation soudaine des URLs « Bloqué par le robots.txt » doit vous alerter, surtout si elle concerne des pages stratégiques.
Robots.txt et fichiers connexes
Le robots.txt ne travaille jamais seul. Pour une stratégie d’indexation complète, il s’articule avec plusieurs autres éléments.
Le sitemap XML déclare les pages à explorer en priorité. Le robots.txt en donne l’emplacement via la directive Sitemap:.
La balise <meta name="robots"> (dans le <head> de chaque page) affine les instructions d’indexation page par page : noindex, nofollow, noarchive. C’est le bon endroit pour empêcher l’indexation d’une page spécifique, pas le robots.txt.
Le fichier .htaccess (sur Apache) ou les headers HTTP peuvent aussi servir à envoyer des directives X-Robots-Tag pour des fichiers non HTML (PDF, images).
Une architecture SEO propre combine ces quatre éléments pour donner à Google des signaux clairs et cohérents.
Cas particulier des sites en préproduction
En préproduction (staging), la règle est simple : bloquer tout, plus une authentification HTTP.
User-agent: *
Disallow: /
Combiné à une authentification HTTP basic sur le serveur, vous êtes certain que Google ne pourra rien crawler. À la mise en ligne, remplacez ce robots.txt par la version production. Cette étape est la première cause de sites qui disparaissent des SERP après une refonte.
Si votre site est déjà en ligne avec un robots.txt bloquant, corrigez-le, puis utilisez l’outil Search Console pour demander une nouvelle inspection. Le temps de retour dépend de l’autorité du domaine, mais compter quelques jours à quelques semaines.
Un cas d’école
Sur un audit récent pour une PME de service aux entreprises, le robots.txt avait été laissé tel quel après un passage en staging deux mois plus tôt : Disallow: / encore actif en production. Le site avait disparu de Google en trois semaines, sans aucun signal d’alerte visible côté équipe (pas de baisse brutale sur les analytics parce que le trafic organique venait principalement des articles de blog qui restaient indexés, sauf pour les nouvelles pages). Une ligne dans un fichier qui aura coûté des semaines de visibilité manquée.
FAQ robots.txt
Le robots.txt est-il obligatoire ?
Non. Un site sans robots.txt est traité comme un site tout autorisé. La création d’un robots.txt devient utile dès qu’on veut bloquer des zones précises ou déclarer un sitemap. Sur WordPress, il est généralement généré automatiquement par Yoast ou Rank Math.
Les moteurs respectent-ils vraiment le robots.txt ?
Google, Bing, Yandex et les crawlers légitimes le respectent scrupuleusement. Les crawlers malveillants ou de scraping l’ignorent souvent. Le robots.txt n’est donc pas un outil de sécurité, mais un signal de coopération avec les moteurs qui jouent le jeu.
Comment savoir si mon robots.txt a un problème ?
Consultez le rapport « Couverture » de Search Console. Une augmentation soudaine d’URLs « Bloqué par robots.txt » ou « Impossible d’accéder au fichier » est un signal d’alarme. L’outil Robots.txt Tester dans Search Console permet aussi de tester des URLs précises contre vos règles actuelles.
Ressources officielles
- Documentation officielle Google sur le robots.txt : developers.google.com/search/docs/crawling-indexing/robots
- Spécification du Robots Exclusion Protocol (RFC 9309) : datatracker.ietf.org/doc/html/rfc9309
- Testeur de robots.txt dans Google Search Console (menu Paramètres > Robots.txt)
Aller plus loin
Chaque site est un cas particulier. Sur un accompagnement, on part de votre situation actuelle (données Search Console réelles, positions live, backlinks existants) pour construire une stratégie qui tient compte de vos ressources internes. Prenez rendez-vous pour un premier échange, sans engagement.