Un fichier robots.txt est un petit texte a la racine d'un hote qui dit aux crawlers quels chemins d'URL ils peuvent fetcher. Ce n'est pas un mot de passe, pas une balise noindex, et pas un moyen de cacher des secrets. Bien fait, Googlebot, Bingbot et les autres depensent le crawl budget sur les pages qui comptent. Mal fait, vous bloquez le CSS, cachez un sitemap, ou laissez un staging fuiter dans la recherche. Ce guide couvre les regles qui comptent encore en 2026, la difference entre Disallow et noindex, et les erreurs qui coutent des rankings. Pour un fichier a coller sur https://votre-domaine/robots.txt, utilisez le Generateur de robots.txt - tout tourne dans le navigateur, rien n'est envoye.
Reponse rapide
Enregistrez robots.txt a la racine de chaque hote (https://www.example.com/robots.txt). Utilisez des groupes User-agent avec des prefixes Allow et Disallow, plus une ligne Sitemap: avec une URL https absolue. Allow: / est le defaut habituel d'un site public. Disallow: / est pour le staging. robots.txt demande seulement aux crawlers de ne pas fetcher ; les URLs bloquees peuvent encore apparaitre en recherche si elles sont liees. Utilisez une meta robots noindex (ou X-Robots-Tag) pour sortir une URL des resultats. N'utilisez jamais robots.txt pour cacher des donnees privees - le fichier est public.
Ce qu'est robots.txt (et ce qu'il n'est pas)
robots.txt est le Robots Exclusion Protocol : un ensemble volontaire de regles que les crawlers consultent avant de demander d'autres URLs de cet hote. Les bots bien eleves (Googlebot, Bingbot, beaucoup de crawlers SEO) le respectent. Les scrapers et certains fetchers d'IA peuvent l'ignorer. Traitez le fichier comme un indice de crawl, pas comme un controle de securite.
- C'est un fichier texte public. N'importe qui peut ouvrir https://votre-hote/robots.txt et lire chaque Disallow que vous avez ecrit.
- C'est par hote. www.example.com et example.com ont chacun besoin d'un fichier si les deux servent du contenu.
- Cela n'authentifie pas les utilisateurs. Une ligne Disallow n'arrete ni un navigateur, ni un scraper, ni quelqu'un qui a l'URL.
- Cela ne retire pas les URLs de Google tout seul. C'est le role de noindex (et des retraits dans Search Console).
Les moteurs ont encore besoin de fetcher CSS, JavaScript et images pour rendre la page comme une personne la voit. Bloquer ces assets est une facon classique de casser la comprehension du layout par Google. Un bon robots.txt est ennuyeux : autoriser le site public, bloquer quelques prefixes d'admin, pointer vers le sitemap.
Ou le fichier doit vivre
Les crawlers ne demandent qu'un chemin : /robots.txt sur cet hote. Un fichier ailleurs est ignore.
- Correct : https://www.example.com/robots.txt
- Ignore : https://www.example.com/blog/robots.txt ou https://www.example.com/static/robots.txt
- www et apex sont des hotes differents. Si les deux repondent, chacun a besoin d'un fichier (ou l'un doit rediriger vers l'autre avant que les crawlers regardent).
- Servez-le en text/plain avec HTTP 200. Un soft 404 HTML, un mur de login ou un 500 ressemblent a un fichier manquant ou casse.
- Gardez-le a la racine de l'hote canonique que vous voulez indexer, en phase avec l'hote de Search Console.
La syntaxe qui compte vraiment
Un robots.txt, ce sont des groupes de regles. Chaque groupe commence par une ou plusieurs lignes User-agent, puis des lignes Allow et Disallow pour ce groupe. Les lignes Sitemap sont hors des groupes et s'appliquent a tout crawler qui les comprend.
- User-agent: * - le groupe par defaut pour les crawlers sans groupe plus specifique.
- User-agent: Googlebot - un groupe nomme. Google utilise le groupe le plus specifique qui matche, pas * plus Googlebot ensemble.
- Disallow: /admin/ - sauter les chemins qui commencent par /admin/.
- Allow: / - autoriser tout le site. Un Disallow vide est l'ancienne facon de dire la meme chose.
- Sitemap: https://www.example.com/sitemap.xml - une URL https absolue vers votre sitemap XML.
- Les commentaires commencent par #. Les lignes vides separent les groupes. Les chemins sont sensibles a la casse.
Google accepte * (toute sequence) et $ (fin d'URL) dans les chemins Allow et Disallow. Bing est proche. N'inventez pas de directives que Google ignore. Crawl-delay est l'exemple habituel : Google ne l'utilise pas. Utilisez les reglages de crawl de Search Console si vous devez ralentir Googlebot.
Allow vs Disallow
Disallow liste les prefixes de chemin qu'un crawler devrait sauter. Allow liste les prefixes qu'il peut fetcher, utile quand un parent est refuse. Google choisit le chemin matching le plus long, pas la premiere ligne du fichier.
- Disallow: / signifie tout sauter sur cet hote. A utiliser en staging, pas sur le site public.
- Allow: / (ou aucune ligne Disallow) signifie fetcher tout l'hote.
- Disallow: /tmp plus Allow: /tmp/public/ laisse Googlebot entrer dans le dossier public tout en sautant le reste de /tmp.
- Un Allow plus specifique peut reouvrir un chemin qu'un Disallow plus court a ferme.
- Le slash final compte. /admin et /admin/ sont des prefixes differents. Alignez-vous sur les URLs que votre CMS sert vraiment.
Le match le plus long gagne
Si une ligne dit Disallow: /blog et une autre Allow: /blog/how-to, Google traite /blog/how-to comme autorise parce que ce prefixe est plus long. Ne vous fiez pas a l'ordre des lignes. Ecrivez les prefixes vises, puis testez quelques URLs dans Search Console.
robots.txt vs noindex
C'est la distinction qui sauve (ou casse) l'indexation. robots.txt et noindex font des jobs differents. Les melanger, c'est ainsi que des URLs restent en recherche sans titre ni snippet.
- robots.txt Disallow - merci de ne pas fetcher cette URL. Le crawler peut encore la lister si d'autres pages y lient.
- noindex (meta robots ou X-Robots-Tag) - vous pouvez fetcher cette URL, mais ne l'affichez pas dans les resultats.
- Si vous Disallow une URL, Google ne peut souvent pas voir un noindex sur cette page, parce qu'il ne telecharge jamais le HTML.
- Pour retirer une URL publique de l'index, autorisez le crawl et mettez noindex sur la page. Puis attendez le recrawl.
- Pour cacher un hote prive, ne comptez pas sur robots.txt seul. Utilisez HTTP auth, des listes d'IP, ou sortez-le d'internet public.
Une page de remerciement, une URL a facettes ou des resultats de recherche interne veulent en general noindex (et un crawl) pour que Google voie la balise. Un hote de staging veut Disallow: / plus un vrai controle d'acces. Un admin CMS peut utiliser les deux : Disallow du prefixe pour ne pas bruler du crawl budget, et noindex si ces URLs sont joignables sans login.
Bonnes pratiques pour un site public
La plupart des sites d'outils et de brochure ont besoin d'un fichier court et ennuyeux. Partez d'allow-all, ajoutez un sitemap, puis Disallow seulement les prefixes qui ne doivent pas bruler du crawl budget.
- Autorisez tout le site public (User-agent: * et Allow: /).
- Ajoutez une ligne Sitemap: avec l'URL https absolue de votre sitemap XML.
- Disallow optionnel des chemins d'admin comme /admin/ ou /wp-admin/.
- Ne Disallow pas CSS, JavaScript, polices ou images dont Google a besoin pour rendre la page.
- Ne Disallow pas vos prefixes de locale (/es/, /pt/, /fr/, /de/) si ces URLs doivent ranker.
- Laissez le nettoyage des parametres a Search Console ou aux canonicals, pas a un labyrinthe de Disallow.
- Revoyez le fichier live apres chaque deploy. Un Disallow: / oublie du staging est une panne frequente.
Staging, preview et hotes prives
Si un hote ne doit jamais apparaitre en recherche, Disallow: / est la moitie robots.txt du travail. Ce n'est pas tout le travail. Liens, sitemaps et proprietes Search Console peuvent encore faire apparaitre les URLs.
- Mettez le staging sur son propre hote (staging.example.com), pas sur un chemin public de production.
- Disallow: / sur cet hote, et servez noindex sur chaque reponse HTML si l'hote est joignable.
- Preferez l'authentification HTTP ou un VPN. robots.txt n'arrete pas un crawler qui ignore le protocole.
- N'envoyez pas un sitemap de staging a la propriete Search Console de production.
- Quand vous clonez la production vers le staging, remplacez tout de suite le robots.txt de production. Le fichier allow-all est le dangereux ici.
La ligne Sitemap
La directive Sitemap: est independante des groupes User-agent. Google, Bing et les autres s'en servent comme indice de decouverte. Elle n'annule pas Disallow. Si vous listez une URL dans le sitemap et que vous la Disallow aussi, vous envoyez des signaux melanges.
- Utilisez une URL https absolue. Sitemap: /sitemap.xml n'est pas valide.
- Vous pouvez lister plus d'un sitemap (index plus enfants, ou fichiers par locale).
- L'hote du sitemap devrait matcher celui de robots.txt quand vous pouvez. Un sitemap sur un autre hote demande un setup Search Console extra.
- Gardez le sitemap aux URLs indexables. Pages de remerciement, paniers et clones de staging n'y ont pas leur place.
Jokers, ancres de fin et commentaires
Le parser robots.txt de Google accepte deux tokens extra dans les chemins. Utilisez-les avec parcimonie. Un long fichier de jokers est plus dur a tester que quelques prefixes exacts.
- * matche n'importe quelle sequence. Disallow: /*.json$ saute les URLs qui finissent par .json.
- $ matche la fin de l'URL. Sans lui, *.json matcherait aussi .json.html.
- # commence un commentaire jusqu'a la fin de la ligne. Ne mettez pas de secrets, de cles API ni de hostnames internes dans les commentaires.
- Si un crawler ne supporte pas * ou $, il peut les traiter comme des litteraux. Restez sur des prefixes simples quand vous pouvez.
Exemple concret
Un site marketing public qui a aussi un admin CMS peut livrer ce fichier. Le preset allow-all du generateur plus un sitemap et deux lignes Disallow produit la meme forme.
- User-agent: *
- Allow: /
- Disallow: /admin/
- Disallow: /wp-admin/
- Sitemap: https://www.example.com/sitemap.xml
Ce fichier dit a tous les crawlers de fetcher le site public, de sauter les deux prefixes d'admin et de regarder le sitemap XML. Il ne noindex pas les URLs d'admin (le login devrait deja les cacher). Il ne bloque pas /_next/ ni /images/. Apres l'avoir colle, ouvrez l'URL /robots.txt live dans un navigateur et verifiez que les octets matchent ce que vous avez copie.
Erreurs courantes
- Mettre le fichier dans un sous-dossier. Les crawlers ne fetchent que /robots.txt.
- Disallow de CSS, JavaScript ou polices pour que Google ne puisse pas rendre la page.
- Utiliser Disallow pour 'cacher' une page que vous voulez encore sortir de l'index. Utilisez noindex et autorisez le crawl.
- Laisser Disallow: / en production apres un clone de staging.
- Une ligne Sitemap: relative. Elle doit etre une URL https absolue.
- Bloquer les chemins og:image. Les crawlers sociaux ont encore besoin de fetcher l'image. Voir le guide complet des balises Open Graph.
- Decalages de casse (/Admin vs /admin/). Les chemins sont sensibles a la casse.
- Des lignes Crawl-delay que Google ignore et qui donnent une fausse impression de controle de debit.
- Ecrire des secrets dans les commentaires. Le fichier est public.
- Supposer que tous les bots honorent le fichier. Certains scrapers l'ignorent. C'est un probleme d'acces, pas de robots.txt.
Questions frequentes
robots.txt cache-t-il des pages a Google ?
Non. Il demande a Googlebot de ne pas fetcher ces URLs. Si d'autres pages lient une URL bloquee, Google peut encore la lister avec peu ou pas de snippet. Pour sortir une URL des resultats, autorisez le crawl et ajoutez noindex.
Ou dois-je mettre robots.txt ?
A la racine de l'hote : https://www.example.com/robots.txt. Ce chemin exact est le seul que les crawlers demandent. Un fichier dans un dossier est ignore.
Chaque site doit-il autoriser tous les crawlers ?
Les sites publics qui veulent ranker commencent en general par User-agent: * et Allow: /. Staging, preview et hotes prives devraient Disallow: / et ajouter un vrai controle d'acces. Les groupes nommes (Googlebot, Bingbot) sont pour les exceptions, pas pour le fichier du quotidien.
Faut-il une ligne Sitemap ?
Oui quand vous avez un sitemap XML. C'est un indice de decouverte, pas un interrupteur de ranking, et cela n'annule pas Disallow. Utilisez une URL https absolue. Vous pouvez aussi soumettre le meme sitemap dans Search Console.
Crawl-delay est-il encore utile ?
Pas pour Google. Google ignore Crawl-delay. Si Googlebot est trop agressif, utilisez les reglages de crawl de Search Console. D'autres bots peuvent l'honorer, mais ce guide (et le generateur) s'en tiennent a User-agent, Allow, Disallow et Sitemap.
Comment tester le fichier ?
Ouvrez l'URL /robots.txt live et lisez-la. Puis utilisez l'inspection d'URL dans Search Console sur quelques URLs autorisees et refusees. Pour un parcours clic par clic du constructeur, voir Comment utiliser le Generateur de robots.txt.
Construisez le fichier dans le navigateur
Partez d'allow all, block all ou block admin, puis copiez la sortie live. Rien n'est envoye :
- Generateur de robots.txt - presets, chemins Allow/Disallow et une URL de sitemap optionnelle.
- Comment utiliser le Generateur de robots.txt - guide pas a pas du meme outil.
- Generateur de balises Open Graph - cartes de partage que les crawlers sociaux doivent encore pouvoir fetcher.
- Generateur de slugs - slugs d'URL propres pour les pages que vous voulez crawler.
- Tous les outils SEO - l'index complet de la categorie.
Generer robots.txt - gratuit
Ouvrez le Generateur de robots.txt, choisissez un preset, ajoutez des chemins et une URL de sitemap, et copiez le fichier. Enregistrez-le a la racine du site. Tout tourne dans votre navigateur.