Début septembre 2024, une proposition circule dans la communauté technique : un fichier llms.txt, placé à la racine d’un site, qui donnerait aux modèles de langage une vue structurée et lisible de son contenu, un peu à la manière dont robots.txt donne des instructions aux robots d’indexation depuis des décennies. Contrairement au sitemap XML, pensé pour les moteurs de recherche classiques, ce fichier vise un public de systèmes qui lisent et synthétisent du texte plutôt qu’ils n’indexent des URL.
Pour un site construit avec l’éditeur de site, la question se pose naturellement : peut-on générer ce fichier automatiquement à partir de la hiérarchie de gabarits déjà déclarée, plutôt que de le rédiger entièrement à la main et de devoir le maintenir manuellement à chaque ajout de contenu ?
Ce que contient un llms.txt
Le format proposé reste volontairement simple : du texte brut structuré en sections Markdown, avec un titre, une brève description du site, puis des listes de liens organisées par thématique. Il ne s’agit pas d’un format strict imposé par une norme officielle, mais d’une convention émergente que plusieurs sites commencent à adopter, chacun l’adaptant à sa structure de contenu.
# WP Moderne
> Blog de référence sur le développement WordPress moderne, éditeur de site et thèmes de blocs.
## Pages principales
- [Accueil](https://exemple.fr/)
- [Articles](https://exemple.fr/articles/)
## Documentation technique
- [Glossaire de l'éditeur de site](https://exemple.fr/glossaire/)
Construire le fichier depuis la hiérarchie de gabarits

Un site en éditeur de site déclare déjà sa propre hiérarchie de gabarits : page d’accueil, archives, pages statiques, chacune associée à un modèle précis. Cette hiérarchie, accessible via get_block_templates(), fournit une base structurée pour générer automatiquement les sections du fichier llms.txt, sans dupliquer manuellement une liste de liens qui deviendrait vite obsolète.
add_action( 'init', function() {
add_rewrite_rule( '^llms\.txt$', 'index.php?llms_txt=1', 'top' );
} );
add_filter( 'query_vars', function( $vars ) {
$vars[] = 'llms_txt';
return $vars;
} );
add_action( 'template_redirect', function() {
if ( ! get_query_var( 'llms_txt' ) ) {
return;
}
header( 'Content-Type: text/plain; charset=utf-8' );
echo "# " . get_bloginfo( 'name' ) . "\n\n";
echo "> " . get_bloginfo( 'description' ) . "\n\n";
echo "## Pages principales\n";
$pages = get_pages( array( 'sort_column' => 'menu_order' ) );
foreach ( $pages as $page ) {
echo '- [' . get_the_title( $page ) . '](' . get_permalink( $page ) . ")\n";
}
exit;
} );
Cette approche s’appuie sur une règle de réécriture classique, exactement comme celle utilisée historiquement pour générer un flux RSS personnalisé ou un sitemap sur mesure. Après ajout de la règle, il reste nécessaire de vider la structure des permaliens depuis les réglages, sans quoi la nouvelle adresse renvoie une page introuvable.
Filtrer ce qui mérite réellement d’apparaître
Toutes les pages d’un site ne méritent pas de figurer dans ce fichier : une page de mentions légales ou une page de connexion n’apporte rien à un modèle de langage qui cherche à comprendre le contenu utile du site. Un filtre sur le statut ou sur une métadonnée dédiée (une case à cocher « inclure dans llms.txt » ajoutée à l’écran d’édition des pages) permet de garder la main sur le contenu réellement exposé.
Ce fichier n’est pas un sitemap XML
Il est important de ne pas confondre les deux usages. Le sitemap XML, déjà largement couvert par ailleurs, reste destiné aux moteurs de recherche classiques et suit un format strict encadré par un protocole établi. Le fichier llms.txt répond à un besoin différent, plus récent, et son adoption reste à ce stade volontaire : rien n’oblige un site à le publier, et aucun moteur ne garantit encore de l’exploiter de façon systématique.
| Aspect | Sitemap XML | llms.txt |
|---|---|---|
| Format | XML structuré | Texte brut en sections |
| Public visé | Moteurs de recherche | Modèles de langage |
| Norme établie | Oui, ancienne | Convention récente et non figée |
Générer ce fichier automatiquement depuis la hiérarchie existante coûte peu et évite la corvée d’une liste à maintenir à la main dès que le site grossit.
En résumé
Un site construit avec l’éditeur de site dispose déjà, dans sa hiérarchie de gabarits et de pages, de tout ce qu’il faut pour générer automatiquement un fichier llms.txt à jour. La démarche reste jeune, sans norme figée, mais le coût de mise en place est suffisamment faible pour l’essayer sans bouleverser l’architecture existante.