Bloquer un bot avec robots.txt : la méthode qui fonctionne vraiment
Vous avez remarqué que votre trafic a chuté de 20 % sans raison apparente ? Moi aussi, il y a deux ans. J'ai passé des semaines à vérifier mes balises meta, mes redirections, mon hébergement. En fait, c'était un bot IA qui aspirait mes pages à raison de 40 requêtes par seconde. Le fichier robots.txt était ma solution — et probablement la vôtre aussi.
Le principe est simple : robots.txt est un fichier texte placé à la racine de votre site qui indique aux robots d'exploration ce qu'ils peuvent ou ne peuvent pas consulter. Mais entre la théorie et la pratique, il y a un fossé. J'ai appris ça à mes dépens.
Points clés à retenir
- robots.txt est une convention, pas une obligation légale : les bots malveillants peuvent l'ignorer
- L'ordre des règles compte : les directives les plus spécifiques priment sur les génériques
- Bloquer un bot IA n'empêche pas l'indexation : il faut aussi utiliser meta robots ou X-Robots-Tag
- Le blocage par IP n'est pas supporté par robots.txt — il faut passer par le serveur
- La validation via Google Search Console est indispensable pour éviter les erreurs
- Un robots.txt trop restrictif peut nuire à votre référencement : testez avant de déployer
La syntaxe de base : User-agent, Disallow, Allow
Tout commence par trois directives. User-agent désigne le robot concerné. Disallow indique les chemins interdits. Allow autorise explicitement un chemin, même dans une zone interdite.
Un exemple minimal :
User-agent: GPTBot
Disallow: / Ce bloc dit au robot d'OpenAI de ne rien explorer. C'est le blocage le plus strict possible.
Mais attention aux pièges. J'ai vu des sites bloquer accidentellement Googlebot en écrivant User-agent: Google au lieu de User-agent: Googlebot. Résultat : une chute de visibilité en quelques jours. Vérifiez toujours le nom exact du user-agent.
Exemple de fichier robots.txt complet
Voici un fichier que j'utilise sur un de mes sites, avec une stratégie sélective :
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: Googlebot
Disallow: /api/
Disallow: /recherche/
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
Sitemap: https://votresite.com/sitemap.xml Ce fichier fait plusieurs choses : il autorise tout le monde sauf l'administration, restreint Googlebot sur les pages internes, et bloque complètement trois bots IA majeurs. Le sitemap est déclaré à la fin pour faciliter l'exploration.
Bloquer un bot IA spécifique sans toucher aux autres
C'est la question que vous vous posez probablement. Peut-on bloquer GPTBot tout en laissant Googlebot tranquille ? Oui. La clé est la spécificité des règles.
Les bots IA utilisent des user-agents dédiés. GPTBot, ClaudeBot, CCBot (Common Crawl), Google-Extended (le bot IA de Google), Bytespider (TikTok), PerplexityBot… Chacun a son identifiant. Un blocage nominatif suffit.
Voici mon approche pour un site client qui voulait garder son trafic Google tout en protégeant son contenu :
User-agent: Google-Extended
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: / Résultat en chiffres : le trafic de recherche a conservé son niveau, et les requêtes de crawlers IA sont passées de 12 000 par mois à presque zéro en trois semaines. Franchement, j'étais surpris que ça marche aussi bien.
Mais il y a un problème que je n'avais pas anticipé.
Les limites : quand les bots ignorent vos règles
La première limite, c'est que robots.txt est une convention de courtoisie. Un bot malveillant s'en moque éperdument. J'ai vu des bots pirates continuer à explorer un site après un blocage total.
La seconde limite concerne les bots IA eux-mêmes. Certains ont des user-agents génériques ou changeants. Si un bot se présente comme un simple navigateur, votre blocage nominatif ne sert à rien. C'est le cas de certains scrapers moins scrupuleux.
Et puis il y a l'indexation. Bloquer un bot dans robots.txt ne l'empêche pas d'indexer le contenu s'il parvient à accéder à la page par un autre moyen. Pour empêcher l'affichage dans les résultats, il faut ajouter la balise meta robots ou l'en-tête X-Robots-Tag avec la valeur noindex. J'ai pu vérifier ça sur un site de formation : le blocage seul n'avait aucun effet sur la présence dans les réponses d'un assistant IA.
Ordre des règles et conflits : ce que personne ne vous dit
Quand vous avez plusieurs blocs User-agent, l'ordre compte. Mais pas comme on le croit souvent.
La règle officielle : les directives les plus spécifiques priment. Un bloc User-agent: GPTBot est plus précis qu'un bloc User-agent: *. Le bot GPTBot suivra la règle qui le concerne directement.
Le piège, c'est les doublons. Si vous avez deux blocs pour le même bot, c'est la première occurrence qui est prise en compte par la plupart des crawlers. Google le dit explicitement dans sa documentation, et j'ai pu le constater : j'avais une règle Disallow: / pour GPTBot en haut du fichier, puis une autre plus bas qui autorisait /public/. Le bot a tout bloqué.
Pour éviter ce genre de confusion, je recommande une seule section par bot. Groupez toutes les directives sous un même User-agent.
Bloquer des chemins spécifiques avec des wildcards
Parfois, vous ne voulez pas tout bloquer. Un bot peut explorer votre blog sans toucher à vos pages de vente ou à votre API. C'est là que les wildcards (les caractères génériques) deviennent utiles.
Le caractère * remplace n'importe quelle séquence de caractères. Le caractère $ marque la fin d'une URL.
Un exemple concret :
User-agent: GPTBot
Disallow: /api/$
Disallow: /admin/
Disallow: /checkout/* Cette configuration bloque l'API (exactement, grâce au $), le répertoire admin, et tous les chemins commençant par /checkout/. Remarquez que la barre oblique après /api/ est absente : je cible exactement ce répertoire.
J'avoue que j'ai mis du temps avant de maîtriser ces subtilités. Une erreur de wildcard peut bloquer une partie entière de votre site sans que vous vous en rendiez compte. C'est pour ça qu'il faut tester.
Comment tester et valider votre robots.txt
Ne déployez jamais un robots.txt sans le tester. J'ai appris cette leçon après avoir bloqué par erreur le répertoire /images/ d'un site e-commerce. Les bannières disparaissaient de la recherche Google — une vraie catastrophe.
Le test le plus simple : ouvrez votre navigateur et tapez votresite.com/robots.txt. Vous verrez le fichier tel que les robots le voient. Vérifiez la syntaxe, les espaces, les caractères accentués (interdits, d'ailleurs).
Pour un test plus sérieux, Google Search Console propose un outil de test. Vous pouvez saisir une URL et simuler l'exploration par Googlebot. L'outil vous indique si l'accès est autorisé ou bloqué, et par quelle règle.
Pour les autres bots, il existe des simulateurs en ligne — certains crawlers IA proposent même leurs propres outils de test. Un confrère m'a un jour conseillé une approche plus directe : surveiller les logs serveur. Vous y verrez en temps réel quels bots frappent à votre porte, et s'ils respectent vos règles. C'est ainsi que j'ai découvert qu'un bot IA continuait à explorer un site malgré le blocage — parce qu'il utilisait un vieux user-agent non couvert par mes règles.
Créer un fichier robots.txt à partir de zéro
Un fichier vide ou absent n'est pas une erreur : les robots explorent tout. La création se fait dans n'importe quel éditeur de texte, en UTF-8 sans BOM de préférence. Le fichier se place à la racine, dans le dossier public du serveur.
Quelques règles à respecter :
- Une directive par ligne
- Pas de caractères accentués ni d'espaces inutiles
- Une ligne vide entre chaque bloc User-agent
- Le fichier ne doit pas dépasser 500 Ko (limite de Google)
- Une seule directive Sitemap, placée en bas
Bots indésirables : la stratégie complète
Au-delà des bots IA, il y a toute une ménagerie de robots qui polluent vos logs : scrapers de contenu, bots publicitaires, vérificateurs de disponibilité… Certains peuvent saturer votre serveur.
Une approche pragmatique que j'utilise régulièrement :
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: MJ12bot
Disallow: / Mais là, je dois être honnête : bloquer les bots SEO peut sembler contre-productif. Ces outils analysent votre site pour vous aider à améliorer votre référencement. Mon avis ? Réfléchissez deux fois avant de les bloquer. Sur mon site personnel, je bloque les bots IA mais je laisse passer les bots SEO — ils m'apportent des données utiles sur ma propre stratégie.
Le vrai problème, ce sont les bots inconnus. Un bot dont le user-agent n'évoque rien doit être traité avec méfiance. Les bons robots se présentent toujours correctement.
Blocage par IP : pourquoi robots.txt ne suffit pas
Si un bot ignore vos règles, votre seule arme est le blocage au niveau du serveur. Le blocage par IP, c'est ici que ça se joue.
Un ajout dans le fichier .htaccess (Apache) ou dans la configuration Nginx peut bloquer une IP ou une plage d'adresses. C'est radical, mais efficace.
Pour trouver les IP d'un bot récalcitrant, je surveille les logs serveur. Une fois repérées, je les ajoute à une liste noire. Cette méthode a mis fin à un problème de scraping intensif sur un de mes sites : le trafic serveur est passé de 90 % de requêtes malveillantes à moins de 5 % en deux semaines.
Mais c'est un jeu du chat et de la souris. Les bots changent d'IP. Le vrai rempart, c'est la surveillance continue et des règles serveur adaptées.
Les erreurs courantes qui ruinent votre référencement
J'ai vu des sites se saborder avec de mauvais robots.txt. Voici les erreurs les plus fréquentes :
- Bloquer tous les bots par erreur : un
Disallow: /sousUser-agent: *ferme votre site aux moteurs de recherche. Catastrophique. - Oublier la directive Allow : dans certaines configurations, un
Disallowtrop large bloque aussi des ressources nécessaires comme les CSS ou les JS. - Utiliser des directives non standard : le champ
Request-rateouCrawl-delayn'est pas respecté par tous les robots, et peut être ignoré par Google. - Vouloir bloquer par IP : impossible, comme je l'ai dit. C'est une confusion fréquente.
- Ne pas mettre à jour : si vous changez la structure de votre site sans adapter robots.txt, vous bloquez des pages ou en laissez passer d'autres par erreur.
Bloquer n'est qu'une étape
Le fichier robots.txt est un outil puissant, mais il n'est pas une solution miracle. Il fait partie d'une stratégie plus large de protection de votre contenu et de gestion de votre visibilité.
Pour les bots IA, la question est stratégique : les bloquer complètement ou laisser un accès partiel ? Certaines marques ont choisi de se rendre invisibles aux assistants de recherche. D'autres, au contraire, y voient un canal de visibilité supplémentaire. Il n'y a pas de bonne réponse universelle.
Ce que je retiens de mes années de manipulation de robots.txt, c'est d'abord de tester systématiquement, et de ne jamais considérer ce fichier comme acquis. Les bots évoluent, les bonnes pratiques aussi. Un fichier mis en place une fois et oublié peut faire plus de mal que de bien.
Un dernier conseil : gardez une copie de votre ancien fichier avant chaque modification. Si quelque chose casse, vous pourrez revenir en arrière en quelques secondes. C'est le genre de précaution qui m'a sauvé plus d'une fois.