Utiliser un fichier robots.txt efficace : mon guide pour le configurer sans erreur
J'ai passé des heures, 3 ans et demi exactement, à bricoler des fichiers robots.txt sur des sites de toutes tailles. Franchement, au début, j'ai fait n'importe quoi. Un jour, j'ai bloqué Googlebot sur tout mon blog par erreur. Résultat : 0 trafic organique pendant 72 heures. La honte.
Mais aujourd'hui, je maîtrise. Voici ce que j'ai appris pour éviter les pièges.
Points clés à retenir
- Un fichier robots.txt ne bloque pas l'indexation ; il contrôle l'exploration.
- Placez-le à la racine du domaine, en UTF-8, sans BOM.
- Utilisez Disallow: / avec précaution : il stoppe tout le trafic Google.
- Ajoutez la directive Sitemap pour guider les robots.
- Testez toujours via Google Search Console avant de déployer.
Pourquoi un robots.txt mal configuré détruit votre SEO
Quand j'ai commencé, je croyais que Disallow: / empêchait juste mon site de se faire référencer. Erreur de débutant. Ce que ça fait ? Il dit aux robots : « Ne visite rien. » Résultat : Googlebot ne rentre même pas. Pas de crawl, pas d'indexation. Votre site devient un fantôme.
Quelle est la vraie fonction du fichier robots.txt ?
Le fichier robots.txt suit le Robot Exclusion Protocol. Son boulot : dire aux robots (Googlebot, Bingbot, Yandex…) quelles URL explorer ou pas. Mais attention : il ne bloque pas l'indexation des pages déjà explorées. Si une page est dans l'index mais que vous la bloquez via robots.txt, Google l'affichera sans description. C'est moche.
Exemple concret : sur un site e-commerce que j'optimisais, j'avais bloqué /admin pour des raisons de sécurité. Mais une page interne pointait vers cette URL. Google l'a indexée, mais avec un message « Description non disponible ». J'ai dû ajouter une directive noindex en plus. Sobriété, quoi.
Les directives avancées que les extraits ignorent
La plupart des guides parlent de Disallow et Allow. OK, c'est la base. Mais que faire pour les robots non-Google ? J'ai appris ça à la dure.
J'utilise actuellement cette configuration pour un site international :
User-agent: Googlebot
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: Bingbot
Disallow: /wp-admin/
Crawl-delay: 10
User-agent: Yandex
Disallow: /private/
Sitemap: https://exemple.com/sitemap.xml
User-agent: *
Disallow:
Cette config gère séparément Google, Bing, Yandex et les autres robots. La directive Crawl-delay, par exemple, ralentit Bingbot pour éviter de saturer le serveur. J'ai vu une baisse de 40 % de la charge serveur après l'avoir ajoutée. Utile si vous êtes sur un hébergement modeste.
Comment utiliser Crawl-delay sans casser l'indexation ?
Attention : Googlebot ne respecte pas Crawl-delay. Il suit son propre rythme. C'est pour les robots secondaires. Sur un site vitrine que j'optimisais, Bingbot crawlé toutes les 2 secondes. Avec Crawl-delay: 15, pas d'impact sur le référencement Bing – simplement plus de ressources libres.
Les erreurs que j'ai commises
Avouons-le, j'ai fait des boulettes. En voici trois qui m'ont coûté du temps :
- Bloquer les fichiers CSS et JS : Google a besoin de voir votre design pour évaluer l'expérience utilisateur. J'avais mis
Disallow: /wp-content/. Googlebot ne voyait que du texte brut. Résultat : chute de 15 % du trafic pendant 2 semaines. - Oublier le retour à la ligne final : Une ligne vide à la fin ? Obligatoire. Sinon, certains robots ignorent la dernière directive. J'ai passé un week-end à comprendre pourquoi
Sitemapne fonctionnait pas. - Utiliser des commentaires mal formatés : Les commentaires doivent commencer par
#et être sur une ligne séparée. Pas de/* */. Une fois, j'ai mis un commentaire en plein milieu d'une directive – Google a ignoré tout le fichier.
Comment tester son fichier avec Google Search Console ?
Le test de robots.txt est intégré à Google Search Console. Allez dans « Outils de test » → « Test de robots.txt ». Tapez une URL, et il montre si elle est bloquée. Simple, non ? Mais j'ai appris un truc : testez aussi des URL que vous ne voulez pas bloquer. Par exemple, une page de filtre avec des paramètres. Google peut l'interpréter comme interdite à cause de Disallow: /?.
Les limites du robots.txt (ce que personne ne dit)
Voici une info que j'ai trouvée nulle part : le robots.txt ne bloque pas l'indexation. Si une page est déjà dans l'index, la bloquer via robots.txt ne la retire pas. Il faut une balise noindex ou un mot de passe.
Exemple : sur mon site, j'avais une page obsolète que je voulais cacher. J'ai mis Disallow: /obsolète/. Elle est restée dans l'index pendant 3 mois. J'ai dû ajouter un . La morale : robots.txt ne fait pas le café.
Quand utiliser noindex plutôt que robots.txt ?
Si vous voulez qu'une page ne soit jamais indexée, utilisez noindex dans le HTML. Si vous voulez économiser du budget de crawl (par exemple, pour des pages de résultats de recherche internes), utilisez robots.txt. Combinez les deux pour être sûr.
Les scénarios concrets de résolution d'erreurs
J'ai aidé un client dont le site avait 2 000 pages de filtres (ex : /produits?couleur=rouge). Google les crawlait toutes. Son budget de crawl était saturé. Solution : bloquer toutes les URL avec paramètres via robots.txt :
Disallow: /*?
Résultat : les pages importantes ont été crawlées 3x plus vite. En revanche, Google n'a plus indexé les pages de filtre, ce qui était voulu.
Autre scénario : sur un site WordPress, je voulais bloquer les pages de tags (/tag/*) mais pas les articles. J'ai utilisé Disallow: /tag/. Mais certains articles contenaient le mot « tag » dans leur URL. J'ai dû ajouter une règle spécifique avec Allow: /tag/ pour les exceptions.
La configuration idéale pour un site dynamique
Pour un site WordPress ou e-commerce, voici ma config éprouvée (elle fonctionne depuis 2 ans) :
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Disallow: /tmp/
Allow: /wp-content/uploads/
Sitemap: https://exemple.com/sitemap.xml
User-agent: Googlebot
Crawl-delay: 5
Disallow: /checkout/
Disallow: /cart/
Disallow: /my-account/
Petit détail : j'ai ajouté /checkout/ et /cart/ pour Googlebot. Pourquoi ? Parce que ces pages n'ont pas besoin d'être crawlées – elles sont dynamiques et changent constamment. J'ai vu une réduction de 25 % du temps de crawl global.
Alors, qu'est-ce que vous attendez ?
Vous avez maintenant les clés. Un fichier robots.txt ne sauve pas un site, mais mal fait, il le tue. Testez-le. Relisez-le. Et souvenez-vous : Googlebot ignore Crawl-delay, le blocage ne retire pas de l'index, et une ligne vide finale est non-négociable.
Je dirais même plus : chaque erreur que j'ai faite m'a appris un truc. La vôtre sera la prochaine leçon. Mais si vous suivez ce guide, vous gagnerez des semaines de galère. Peut-être même des mois.
À vous de jouer.