---
title: llms.txt, robots.txt et pages servies en markdown
description: Les agents lisent autrement que les navigateurs. Ce que reçoit chaque site généré : llms.txt, une politique pour les robots d'IA et chaque page en markdown.
date: 2026-09-08
author: crea.site
tags: [seo, agents]
---

Une part croissante des gens qui entendront parler d'une petite entreprise ne visiteront jamais son site. Ils interrogeront un modèle, et le modèle répondra avec ce qu'il aura pu lire.

Se demander « un agent peut-il lire ce site ? » devient alors une question de distribution, pas une curiosité technique. Trois choses en découlent, et chaque site généré ici les reçoit toutes les trois sans avoir à les demander.

## robots.txt devrait nommer les robots d'IA

Si vous n'en dites rien, ils retombent sur `User-agent: *`. Ce n'est pas une politique, c'est une valeur par défaut dont vous avez hérité.

Nous les nommons donc. Les agents de recherche et de réponse qui renvoient des citations (`OAI-SearchBot`, `ChatGPT-User`, `Claude-SearchBot`, `Claude-User`, `PerplexityBot`) et les robots d'entraînement `GPTBot`, `ClaudeBot`, `Google-Extended`, `meta-externalagent`. Chacun hérite exactement de la même liste `Disallow` que tout le monde : aucun robot n'accède à l'API, aucun robot n'accède à une page réservée aux membres.

Les nommer n'est pas une question de permissivité. C'est faire en sorte que la politique soit écrite quelque part où on peut la modifier volontairement.

## llms.txt est une table des matières, pas un argumentaire

La convention [llms.txt](https://llmstxt.org) est simple : un titre, un résumé d'un paragraphe dans une citation, puis des sections de liens. Un modèle qui y arrive doit pouvoir comprendre ce qu'est ce site et où se trouvent les pages importantes, en une seule requête, sans rien afficher.

Le nôtre est généré à partir de la définition du site, ce qui compte plus qu'il n'y paraît. La liste est filtrée par la même règle public/privé que le sitemap :

```
# Piekarnia Lune

> A sourdough bakery in Kraków. Bread baked daily, cakes to order,
> open from seven.

## Pages

- [Menu](https://...): What we bake, and what it costs.
- [Order a cake](https://...): Wedding and birthday cakes, two weeks' notice.
```

Une seule liste, lue trois fois : par le sitemap, par `llms.txt` et par la balise meta `robots`. Les trois ne peuvent pas se contredire, car il n'y a rien à garder synchronisé.

## Chaque page, aussi en markdown

Le moyen le plus rapide d'être mal compris est d'obliger le lecteur à analyser une page de mise en forme pour y trouver trois phrases. Chaque page de chaque site généré répond donc au markdown comme au HTML :

- Envoyez `Accept: text/markdown` et vous obtenez la page en markdown à la même URL.
- Ou ajoutez `.md` au chemin, pour les nombreux agents qui ne négocient pas.

Les règles qui gardent cela honnête méritent d'être énoncées. C'est une _réécriture_, pas une redirection. Elle n'a lieu que sur une requête explicite `text/markdown`, jamais sur `*/*` : un navigateur qui envoie « n'importe quoi » veut la page. Les deux réponses portent `Vary: Accept`, si bien qu'un cache partagé ne peut pas servir le même contenu à tout le monde. Et la variante markdown est en `noindex`, pour ne jamais concurrencer dans les résultats la page dont elle est la copie.

Le sérialiseur parcourt la définition du site plutôt que le HTML rendu, ce qui explique sa propreté : une section de fonctionnalités devient une liste, une FAQ devient des titres et des réponses, une grille tarifaire devient un tableau. Une carte ou un calendrier de réservation devient une ligne honnête disant ce qui s'y trouve, plutôt qu'une invention de ce qu'il aurait affiché.

## Cela s'applique aussi à nous

Cet article est disponible à la même URL avec `.md` à la fin. Comme toutes les autres pages de crea.site, et [notre propre llms.txt](/llms.txt) les répertorie.

Un créateur de sites dont les propres pages sont illisibles pour un agent plaide contre lui-même.
