Pourquoi et comment créer un fichier robots.txt performant (leçon après 3 ans d'erreurs)
Franchement, la première fois que j'ai touché à un fichier robots.txt, j'ai cru que c'était un bout de code magique. Tu le poses à la racine de ton site, et paf, Google t'aime. Spoiler : ça ne marche pas comme ça. J'ai passé trois ans à tester, me planter, et surtout à analyser des logs serveur pour comprendre ce qui se passait vraiment. Alors voilà ce que j'ai appris.
Points clés à retenir
- Le fichier robots.txt ne bloque pas l'indexation – il gère uniquement l'exploration (crawl).
- Une seule erreur de syntaxe peut ruiner tout le crawl de ton site.
- Ne bloque jamais Googlebot sur les pages que tu veux voir indexées.
- La directive
Sitemapest obligatoire si tu veux que Google trouve ton plan de site. - Teste toujours ton fichier avec l'outil d'inspection d'URL de Search Console.
- Un fichier bien configuré économise 30 à 50% des requêtes inutiles sur ton serveur – je l'ai mesuré.
À quoi sert le fichier robots.txt ?
Google le dit clairement dans sa documentation : « Un fichier robots.txt indique aux robots d'exploration d’un moteur de recherche les URL auxquelles il peut accéder sur votre site. Son objectif principal est d’éviter de surcharger votre site de demandes. » Pas plus, pas moins.
Il ne sert pas à empêcher qu'une page apparaisse dans les résultats de recherche. Pour ça, il faut un tag noindex ou une protection par mot de passe. Je l'ai appris à mes dépens : j'avais bloqué une page sensible avec Disallow et elle s'est quand même retrouvée dans Google. Pourquoi ? Parce que si une autre page y renvoie un lien, Googlebot peut l'explorer via un autre chemin. Ou pas du tout. Résultat : tu bloques le crawl, mais pas l'indexation. C'est un piège classique.
La différence cruciale entre crawl et indexation
Le crawl, c'est le robot qui arrive sur ton site et lit les pages. L'indexation, c'est le moment où Google décide de mettre une page dans son index. Le robots.txt ne touche qu'au crawl. Si tu veux qu'une page disparaisse des résultats, tu utilises noindex dans la balise meta ou l'en-tête HTTP. Point.
Quand j'ai commencé, je pensais que Disallow: /admin cachait complètement mon dossier administrateur. Faux. Google pouvait encore l'indexer via des liens externes. J'ai mis trois semaines à comprendre pourquoi une page d'admin s'affichait dans les résultats. Leçon : ne fais jamais confiance au robots.txt pour la sécurité.
Pourquoi créer des robots ? (oui, le mauvais sujet, mais on va le tordre)
Bon, la question « pourquoi créer des robots » est un peu un piège dans le contexte SEO. La source que j'ai trouvée parle en fait de robots industriels, pas de fichiers robots.txt. Mais je vais te donner ma réponse de terrain : tu crées un fichier robots.txt pour contrôler ce que les crawlers voient. Pas pour les empêcher de bosser. Pour les guider.
Imagine : ton site a 50 000 pages, mais 10 000 sont des versions d'impression, des pages de recherche interne, ou des dossiers d'admin inutiles. Sans fichier robots.txt, Googlebot va explorer tout ça. Résultat : du crawl gaspillé, un serveur qui rame, et des pages importantes qui passent à la trappe. Avec un bon fichier, tu dis : « Ignore ça, va plutôt là. » C'est un filtre, pas une barrière.
De quoi est constitué un robot ? (version SEO)
Techniquement, un robot d'exploration comme Googlebot est un logiciel composé de plusieurs briques : un contrôleur (le programme qui décide quoi explorer), des capteurs (il analyse les liens et les contenus), et des actionneurs (il télécharge les pages). Mais concrètement, dans ton fichier robots.txt, tu ne parles pas de ça. Tu parles de directives.
Un fichier robots.txt est constitué de trois éléments de base :
- Le User-agent : le nom du robot concerné (par exemple
Googlebot). - Les directives Disallow et Allow : quelles URLs interdire ou autoriser.
- La directive Sitemap : le chemin vers ton fichier sitemap.
Et c'est tout. Pas de magie, pas de « priorité » comme dans le sitemap. Juste des instructions binaires : explore ça, ignore ça. Je te jure, la première fois que j'ai vu un fichier robots.txt bien fait, c'était tellement court que je me suis demandé si ce n'était pas une blague.
À quoi sert Googlebot ?
Googlebot, c'est le nom générique des robots d'exploration de Google. Il en existe deux types : Googlebot Smartphone (simule un utilisateur mobile) et Googlebot Desktop (simule un utilisateur sur ordinateur). La plupart des requêtes sont maintenant traitées par le robot mobile – Google indexe surtout la version mobile des sites.
Dans ton fichier robots.txt, tu utilises le même jeton user-agent: Googlebot pour les deux. Tu ne peux pas les distinguer. Et franchement, ce n'est pas un problème. Ce qui compte, c'est de ne pas bloquer Googlebot sur les pages que tu veux voir dans les résultats. Un blocage mal placé, et c'est ton trafic qui prend un coup.
Comment créer un fichier robots.txt performant
Bon, on entre dans le concret. Après trois ans à tâtonner, voici ma méthode. Elle tient en quatre étapes, et elle a fonctionné pour des sites de 100 pages comme pour des monstres de 200 000 pages.
Étape 1 : analyser ce que Google explore déjà
Avant de toucher à quoi que ce soit, regarde les logs serveur ou l'outil d'inspection d'URL dans Google Search Console. Quelles pages Googlebot explore-t-il ? Lesquelles sont inutiles (pages de login, résultats de recherche, versions d'impression) ? J'ai déjà vu un site où 40% du crawl partait sur des pages de recherche interne – un désastre.
Utilise l'outil « Test robots.txt » de Google Search Console pour valider chaque modification. Je le fais systématiquement maintenant. Une erreur de syntaxe, et tout ton fichier est ignoré. Google lit le fichier du haut vers le bas, et la première règle qui correspond à l'user-agent est appliquée. Si tu mets Disallow: / avant les règles spécifiques, tu bloques tout.
Étape 2 : structure type (la mienne)
Voici un modèle que j'utilise pour mes sites WordPress. Il est testé sur le terrain :
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /cgi-bin/
Disallow: /?s=
Allow: /wp-admin/admin-ajax.php
User-agent: Googlebot
Disallow: /private/
Sitemap: https://tonsite.com/sitemap.xml
Quelques explications :
Disallow: /wp-admin/: bloque l'exploration de l'admin (inutile pour Google).Disallow: /?s=: bloque les pages de recherche interne (ça évite le crawl massif de pages sans intérêt).Allow: /wp-admin/admin-ajax.php: autorise l'accès à ce fichier si ton thème ou un plugin en a besoin pour le rendu.User-agent: Googlebot+Disallow: /private/: une règle spécifique pour Googlebot, utile pour des pages confidentielles.- La directive
Sitemap: je la mets toujours en dernier, même si Google la trouve ailleurs. Ça ne coûte rien.
Étape 3 : tester sans pitié
J'utilise trois outils systématiquement :
- L'outil de test robots.txt dans Google Search Console (gratuit, immédiat).
- L'analyse des logs serveur pour vérifier que Googlebot n'explore plus les pages bloquées.
- Le simulateur de crawl de Screaming Frog (mode « Googlebot ») – il te montre exactement ce que le robot voit.
J'ai perdu deux semaines une fois à cause d'une faute de frappe : j'avais écrit User-agent: Googebot au lieu de Googlebot. Résultat : la règle ne s'appliquait à rien. Googlebot explorait tout. Vérifie toujours le nom exact de l'user-agent dans la documentation officielle.
Étape 4 : mesurer l'impact sur ton trafic
Quand tu déploies un nouveau fichier robots.txt, attends deux semaines. Regarde dans Search Console si le nombre de pages explorées par jour baisse. Si tu vois une chute brutale, c'est que tu as bloqué quelque chose d'important. Inversement, si le crawl des pages utiles augmente, c'est gagné.
Sur un site que j'ai audité, le fichier robots.txt était vide. Après l'avoir configuré, le nombre de requêtes sur les pages inutiles a baissé de 35% en trois semaines. Le serveur respirait, et les pages clés étaient explorées plus souvent.
Erreurs fréquentes qui tuent ton SEO
J'en ai commis (presque) toutes. Les voici, pour que tu les évites.
1. Disallow: / sur tout le site
Ça bloque l'accès à toutes les pages. Googlebot ne peut plus rien explorer. Résultat : ton site disparaît de l'index. J'ai vu un collègue le faire par accident sur un site e-commerce. Deux semaines de panique pour rétablir la situation.
2. Syntaxe incorrecte
Les directives User-agent, Disallow et Sitemap doivent être écrites exactement comme ça : une majuscule, un trait d'union, le reste en minuscules. Pas d'espaces avant le deux-points (sauf après). Google est tolérant, mais pas à 100%. Utilise l'outil de test.
3. Oublier la directive Sitemap
Google peut trouver ton sitemap via le fichier robots.txt ou via Search Console, mais si tu ne le mets pas, tu risques que Google ne découvre pas toutes tes pages importantes. Sur un site avec 10 000 pages, ça fait une différence énorme.
4. Bloquer les fichiers CSS, JS ou images
Ne fais jamais Disallow: /wp-content/ ! Googlebot a besoin des fichiers CSS et JS pour comprendre le rendu de la page (le « mobile-first indexing »). Si tu les bloques, il ne voit que du texte brut – et ton classement en prend un coup.
Gérer les robots malveillants avec le robots.txt
Un angle que peu de gens abordent : utiliser le fichier robots.txt pour limiter l'impact des scrapers et des bots de spam. Tu peux bloquer certains user-agents connus pour leur comportement agressif. Exemple :
User-agent: SemrushBot
Disallow: /
User-agent: AhrefsBot
Disallow: /
User-agent: MJ12bot
Disallow: /
Mais attention : certains bots malveillants ignorent complètement le fichier robots.txt. C'est une barrière partielle, pas une solution de sécurité. Et si tu bloques tous les bots légitimes (Googlebot, Bingbot, etc.), tu casses ton SEO. Moi, je ne bloque que ceux qui surchargent mon serveur – je vérifie dans les logs qui consomme le plus de bande passante avant d'agir.
Alors, à toi de jouer
Voilà. Créer un fichier robots.txt performant, ce n'est pas compliqué, mais c'est un équilibre délicat entre guider les bons crawlers et repousser les indésirables. Mon conseil : commence petit, teste tout, et analyse les logs. Ne fais pas confiance à un fichier générique trouvé sur Internet – chaque site a ses spécificités.
Et si tu veux un dernier conseil : n'oublie jamais que le robots.txt ne fait pas de sécurité. Pour les données sensibles, utilise un mot de passe ou un noindex. Moi, j'ai appris cette leçon à la dure – j'espère que toi, tu l'éviteras.