Analyseur robots.txt

Collez un robots.txt et lisez-le comme le ferait un robot d’indexation, selon la RFC 9309 (le protocole d’exclusion des robots, normalisé en 2022) : groupes par user-agent, règles Allow/Disallow, plans de site et directives inconnues, le tout présenté — ainsi qu’un audit des erreurs classiques (lignes disallow vides, directives inconnues, fichiers trop volumineux). Le comparateur répond ensuite à la vraie question : collez un user agent et un chemin, et obtenez le verdict autoriser/refuser avec la règle exacte qui l’a décidé — correspondance la plus longue, joker *, ancre de fin $ et fusion des groupes, exactement comme le prescrit la norme. Tout s’exécute dans votre navigateur.
Rien n’a encore été analysé. Collez un robots.txt ci-dessus et appuyez sur Analyser le fichier, ou chargez un exemple.
Le comparateur travaille sur le texte actuellement présent dans la zone ci-dessus (inutile d’appuyer d’abord sur Analyser). Le user agent est comparé selon la RFC 9309 : la valeur User-agent du fichier doit être une sous-chaîne, sans tenir compte de la casse, de ce que vous saisissez ici — ainsi, saisir ExampleBot/1.0 correspond à un groupe déclaré comme ExampleBot. Une URL complète est acceptée comme chemin.
User agent (une vraie chaîne UA fonctionne) Chemin, ou URL complète
Aucun verdict pour l’instant. Appuyez sur Tester l’autorisation.
Comment récupérer votre fichier :ouvrirhttps://your-domain.example/robots.txtdans un navigateur, sélectionnez tout, copiez et collez ici — oucurl -s https://your-domain.example/robots.txtdans un terminal. Cette page ne récupère jamais rien par elle-même : elle lit seulement ce que vous collez. Pour examiner les en-têtes de réponse qui accompagnaient le fichier, passez-les par la commandeAnalyseur d’en-têtes HTTP.
Autotest
Relance l’analyseur et le comparateur sur les vecteurs de référence de la RFC 9309 : priorité à la correspondance la plus longue (y compris l’égalité où allow l’emporte sur disallow, et le cas des chemins profonds), fusion des groupes, le*repli de groupe, sensibilité à la casse des chemins et des user agents, jokers, le$ancre, l’autorisation implicite de/robots.txt, normalisation de l’encodage en pourcentage, extraction des plans de site, et les chemins négatifs. Rien n’est envoyé nulle part.
Qu’est-ce que robots.txt ?
En une phrase : robots.txt est un fichier texte situé à la racine d’un site, qui indique aux robots d’indexation respectueux les chemins qu’ils peuvent récupérer — une convention volontaire, normalisée sous la RFC 9309 en 2022, et que tous les grands robots d’indexation respectent.
La forme d’un fichier

Un fichier est une suite d’enregistrements. Un groupe commence par une ou plusieurs lignes User-agent, suivies des règles Allow et Disallow qui s’appliquent à ces robots ; une nouvelle ligne User-agent après des règles ouvre un nouveau groupe ; plusieurs lignes User-agent consécutives partagent un même groupe (un robot portant deux noms en a besoin). Les enregistrements autonomes comme Sitemap peuvent apparaître n’importe où. # démarre un commentaire n’importe où dans une ligne. Les noms de champs ne tiennent pas compte de la casse ; les chemins, si.

LigneSignification
User-agent: foobotLes règles ci-dessous s’appliquent aux robots dont le nom contient foobot (sans tenir compte de la casse)
User-agent: *Les règles ci-dessous s’appliquent à tous les robots sans groupe plus spécifique
Disallow: /private/Ne pas récupérer les chemins commençant par /private/
Allow: /private/public/Exception qui l’emporte sur le disallow ci-dessus pour ces chemins (correspondance la plus longue)
Disallow: (vide)Rien n’est interdit — la formule classique « tout autoriser »
Sitemap: https://…/sitemap.xmlOù se trouve votre plan de site ; les robots peuvent en collecter plusieurs
Crawl-delay: 30Absent de la RFC 9309 — une extension héritée ; les grands robots l’ignorent ou l’interprètent eux-mêmes
Comment un verdict est établi (RFC 9309 §2.2.2)

1. Trouvez le groupe dont la valeur User-agent est une sous-chaîne du nom du robot ; fusionnez tous les groupes correspondants. S’il n’y en a aucun, utilisez le groupe * ; s’il n’y en a pas non plus, tout est autorisé. 2. Testez le chemin par rapport à chaque règle : la correspondance se fait par préfixe, en tenant compte de la casse, et */$ fonctionnent comme jokers. 3. La règle la plus longue qui correspond l’emporte ; à longueur égale, Allow l’emporte sur Disallow. Sans règle correspondante, c’est autorisé. Et quelles que soient les règles, /robots.txt lui-même est implicitement autorisé — sans cela, un robot ne pourrait pas lire les règles.

Erreurs courantes
  • Croire que robots.txt bloque l’accès. C’est une demande adressée aux robots d’indexation respectueux, pas un mur : les scrapers malveillants l’ignorent complètement, et il n’a aucun effet sur ce qu’un navigateur peut ouvrir. Pour une protection réelle, utilisez l’authentification ; pour orienter uniquement les moteurs de recherche, robots.txt est l’outil approprié.
  • Espérer qu’un Disallow: / retire une page des résultats de recherche. Cela empêche le crawl, pas l’indexation : si d’autres pages pointent vers la vôtre, un moteur de recherche peut toujours afficher l’URL (sans description). La balise meta noindex ou l’en-tête de réponse est l’outil de suppression.
  • Se fier à l’ordre plutôt qu’à la longueur. La première règle qui correspond ne l’emporte pas — c’est la plus spécifique (la plus longue). Réordonner les lignes pour « corriger » un comportement ne change rien ; rendez plutôt la règle voulue plus longue.
  • Bloquer le CSS et le JS. Interdire /*.css$ et /*.js$ était une « optimisation » courante ; les moteurs de rendu ont désormais besoin de ces fichiers pour voir la page comme le font les visiteurs, et une page mal rendue peut moins bien se classer.
  • Prendre un gros groupe pour de la documentation. Les lignes de commentaire dans un groupe sont sans problème, mais un paragraphe de texte avant la première ligne User-agent, sans #, est une erreur d’analyse qui peut dérouter les analyseurs tolérants.
FAQ

Tous les robots prennent-ils en charge Allow, * et $ ? Les grands le font, et la RFC 9309 normalise les trois. Certains robots plus petits ou plus anciens ne comprennent que Disallow et lisent * au pied de la lettre — une raison de garder des règles simples lorsque c’est possible.

Que signifie un Disallow: vide ? « Ne rien interdire » — le groupe autorise explicitement tout. Cela apparaît en général lorsqu’on modifie un modèle, qu’on supprime le chemin sans supprimer la directive ; l’audit le signale.

Quelle taille le fichier peut-il avoir ? La RFC 9309 exige que les analyseurs gèrent au moins 500 Kio ; au-delà, un robot peut cesser de lire et traiter le reste comme interdit. Restez bien en dessous, et si le fichier devient énorme, demandez-vous si le contrôle de l’exploration ne devrait pas plutôt figurer dans les en-têtes des pages.

Pourquoi le comparateur indique-t-il que /robots.txt est autorisé même sous Disallow: / ? Parce que la norme le dit expressément : le fichier robots lui-même est implicitement autorisé. Le module urllib.robotparser de Python, entre autres, n’implémente pas ce cas particulier — l’une des petites divergences entre analyseurs réels que cette page documente dans son autotest.

Un chemin Disallow est-il sensible à la casse ? Oui. /Private/ et /private/ sont deux chemins différents. Le nom du champ disallow peut être écrit dans n’importe quelle casse, mais la valeur doit correspondre exactement à l’URL.