robots.txt pour crawlers IA : la règle qui casse la plupart des fichiers

Un robots.txt pour crawlers IA nomme chaque crawler et indique ce qu'il peut récupérer. La plupart des fichiers cassent sur une règle : un groupe nommé et User-agent: * ne se combinent jamais.

Exploration et indexation6 min de lecture2016 vues
robots.txt pour crawlers IA : la règle qui casse la plupart des fichiers

Un robots.txt pour crawlers IA est un simple fichier texte qui nomme chaque crawler et indique ce qu'il peut récupérer. Ce n'est pas la syntaxe qui casse les fichiers. C'est ceci : un crawler qui trouve son propre nom dans votre fichier cesse de lire vos règles User-agent: *. Ajoutez une ligne pour GPTBot, et toutes les règles écrites pour les autres peuvent cesser de s'appliquer à lui.

À lire avant de commencer

Ce chapitre suppose que les crawlers IA atteignent déjà votre serveur. Si ce n'est pas confirmé, vérifiez-le avant de modifier quoi que ce soit : un fichier rempli de lignes Allow ne prouve rien quand le refus se produit une couche au-dessus de votre site. La version en deux minutes est dans vérifier si l'IA peut lire votre site.

Ce qu'un robots.txt pour crawlers IA peut faire, et ce qu'il ne peut pas

Il déclare une intention. C'est un fichier que les crawlers choisissent de lire et de respecter, et il n'applique rien par lui-même. Les crawlers IA bien élevés l'honorent. Votre CDN, votre pare-feu et votre serveur d'origine décident réellement si les octets reviennent, et aucun d'eux ne lit ce fichier.

robots.txt décide de ce que vous autorisez. Il ne décide jamais de ce que vous servez.

La règle qui casse la plupart des fichiers

Un crawler obéit à exactement un groupe de règles : celui qui le nomme le plus précisément. Il ne retombe pas sur vos règles générales pour ce que ce groupe spécifique omet. La spécification de Google est explicite : « Only one group is valid for a particular crawler », et « User agent specific groups and global groups (*) are not combined. »

Ce qui signifie que ce fichier ne fait pas ce qu'il laisse croire :

User-agent: *
Disallow: /admin/
Disallow: /cart/

User-agent: GPTBot
Disallow: /drafts/

Lu par un humain, GPTBot est tenu à l'écart de trois dossiers. Lu par GPTBot, il n'existe qu'une ligne : /drafts/. Vos chemins admin et panier sont redevenus accessibles au moment où vous avez tapé ce second groupe. Rien ne vous avertit, et le fichier reste valide.

La correction consiste à répéter chaque règle partagée dans chaque groupe nommé. La répétition paraît fausse et elle est correcte.

User-agent: GPTBot
Disallow: /admin/
Disallow: /cart/
Disallow: /drafts/

Trier les crawlers en trois niveaux avant d'écrire une ligne

La décision ne se prend pas par crawler, mais par travail. Trois travaux, trois réponses. Les crawlers de recherche alimentent les réponses que les gens voient cette semaine : les bloquer vous retire de ces réponses. Les crawlers d'entraînement alimentent des modèles livrés plus tard. Les fetchers déclenchés par un utilisateur tournent parce qu'une personne a posé une question maintenant.

NiveauTokensTravailCoût du blocage
AutoriserOAI-SearchBot, PerplexityBot, Claude-SearchBot, Meta-WebIndexer, Googlebot, bingbotIndexer pour la recherche et les réponsesSortie du pool de sources correspondant
À vous de voirGPTBot, ClaudeBot, Meta-ExternalAgent, CCBotEntraîner des modèles ou archiverAucun effet sur les réponses du jour
Jetons de contrôleGoogle-Extended, Applebot-ExtendedDécider de l'usage d'un contenu déjà collectéAucun effet sur l'indexation ou le classement
Ne pas s'y fierChatGPT-User, Perplexity-User, Claude-User, Meta-ExternalFetcherRécupérer une page demandée par un utilisateurPeut ignorer robots.txt

Les tokens et leurs usages viennent des opérateurs eux-mêmes : OpenAI, Perplexity, Anthropic, Google, Apple, Meta et Common Crawl. Vérifiez-les avant de copier quoi que ce soit : cette liste bouge.

Un robots.txt pour crawlers IA à copier

C'est la forme « autoriser la recherche, décider l'entraînement ». Remplacez les deux chemins privés par les vôtres, et supprimez le groupe d'entraînement si vous préférez être entraîné.

# Crawlers de recherche et de réponse — autorisés, sauf chemins privés
User-agent: Googlebot
User-agent: bingbot
User-agent: OAI-SearchBot
User-agent: PerplexityBot
User-agent: Claude-SearchBot
User-agent: Meta-WebIndexer
Disallow: /admin/
Disallow: /cart/

# Entraînement de modèles — refusé. Supprimez ce groupe pour l'autoriser.
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Meta-ExternalAgent
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /

# Tous les autres
User-agent: *
Disallow: /admin/
Disallow: /cart/

Sitemap: https://example.com/sitemap.xml

Les lignes User-agent empilées partagent un seul jeu de règles : chaque bloc ci-dessus est donc un groupe, pas six. Notez que les chemins privés sont écrits deux fois volontairement : c'est la répétition exigée par la section précédente.

Deux lignes de ce fichier ne sont pas des crawlers

Google-Extended et Applebot-Extended n'envoient jamais de requête à votre serveur. Ce sont des jetons de contrôle : ils changent la façon dont un contenu déjà collecté par un autre crawler peut être utilisé. Il n'y a aucun trafic à observer et aucun test en direct qui puisse confirmer que votre réglage a pris effet.

Les deux sont souvent lus comme des risques de classement, et les deux opérateurs disent le contraire par écrit. Google : Google-Extended « does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search ». Apple : Applebot-Extended « does not crawl webpages », et « webpages that disallow Applebot-Extended can still be included in search results ».

Ce que robots.txt n'arrêtera pas

Les fetchers qui tournent parce qu'un utilisateur a demandé quelque chose forment une catégorie à part, et au moins un opérateur dit clairement qu'il ignore votre fichier. La documentation de Perplexity sur Perplexity-User : « Since a user requested the fetch, this fetcher generally ignores robots.txt rules. »

La position honnête est que le niveau du bas du tableau n'est pas sous votre contrôle via ce fichier. Si une page ne doit pas être récupérée à la demande, robots.txt est le mauvais outil : l'authentification est le bon. Nous n'avons pas de mesure sur la fréquence réelle de ces fetchers, et nous ne ferions pas confiance à un chiffre que nous n'aurions pas tiré de nos propres journaux.

Trois façons de se tromper

Les trois sont silencieuses. Le fichier reste valide, aucun outil ne signale d'erreur, et le dégât n'apparaît que plus tard sous forme de trafic qui n'arrive jamais.

  1. Bloquer GPTBot en espérant faire disparaître ChatGPT. GPTBot est le crawler d'entraînement. Ce qui décide si ChatGPT peut vous citer aujourd'hui, c'est OAI-SearchBot. Bloquer le premier en laissant le second ouvert est un choix cohérent ; les confondre ne l'est pas.
  2. Ajouter un groupe nommé et perdre les règles partagées. La panne de la troisième section. Après chaque modification, relisez le fichier une fois par crawler nommé et demandez ce que ce crawler voit seul.
  3. Modifier le fichier sur le mauvais hôte. Les règles ne s'appliquent qu'à l'hôte, au protocole et au port qui les servent, donc https://example.com/robots.txt ne gouverne rien sur https://www.example.com. Si les deux noms répondent, les deux ont besoin d'un fichier.

Questions fréquentes

Bloquer Google-Extended nuit-il à mon classement Google ?

Non, et Google le dit directement : cela « does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search ». Cela ne concerne que l'entraînement des modèles Gemini.

Un Disallow retire-t-il le contenu déjà utilisé pour l'entraînement ?

Non. Toutes ces directives regardent vers l'avant. Elles gouvernent les récupérations futures, pas les données collectées avant que vous écriviez la ligne.

À quelle fréquence revoir le fichier ?

Quand un nouveau crawler apparaît — Meta-WebIndexer est assez récent pour que la plupart des exemples publiés lui soient antérieurs — et après toute migration de plateforme, car un nouvel hôte arrive avec son propre fichier par défaut.

Étape suivante

Votre fichier dit maintenant ce que vous voulez dire. Savoir si votre serveur est d'accord est une autre question, et le désaccord habituel est un CDN qui refuse des crawlers que votre robots.txt accueille. C'est le chapitre suivant, et c'est la raison la plus fréquente pour laquelle un site avec un fichier parfait reste invisible.

Modifier un fichier est la moitié bon marché. Faire écrire, publier et pousser un changement pour l'indexation est là où la plupart des sites calent.

Fait partie du guide QueryWin · Niveau 1

robots.txt pour crawlers IA : la règle qui casse la plupart des fichiers