Alejandro Rioja.
GEO SEO

llms.txt Expliqué : Impacte-t-Il Vraiment les Citations IA ?

Alejandro Rioja
Alejandro Rioja
7 min de lecture
TL;DR

llms.txt est un fichier texte brut à yoursite.com/llms.txt qui indique aux crawlers IA quelles pages prioriser. Perplexity le lit activement ; ChatGPT et Bing Copilot probablement pas encore. L'implémentation prend 20 minutes et ne coûte rien — faites-le, mais n'attendez pas un pic de citations la semaine prochaine.

Newsletter gratuite

Chaque mercredi. 28 400+ opérateurs. Zéro superflu.

Table des matières

Mis à jour mai 2026.

TL;DR : llms.txt est un fichier texte brut à yoursite.com/llms.txt qui indique aux crawlers IA quelles pages prioriser. Perplexity le lit activement ; ChatGPT et Bing Copilot probablement pas encore. L’implémentation prend 20 minutes et ne coûte rien — faites-le, mais n’attendez pas un pic de citations la semaine prochaine.

[Perspective de l’opérateur] Je gère des agents IA qui surveillent comment mes sites sont cités dans Perplexity, ChatGPT et Google SGE. llms.txt est la première couche de signaux qui vous appartient vraiment — voici ce que les données montrent jusqu’à présent.

Ce qu’est réellement llms.txt

Pensez-y comme un robots.txt pour les crawlers IA, mais inversé. robots.txt dit “ne pas crawler ceci.” llms.txt dit “quand tu construis du contexte sur mon site, voici ce qui compte le plus.”

La spécification a été proposée fin 2024 par Jeremy Howard (de fast.ai). L’idée : placer un fichier à yoursite.com/llms.txt qui liste vos pages les plus importantes en Markdown brut. Un crawler IA qui gratte votre site pour obtenir du contexte peut lire ce fichier et savoir immédiatement quoi prioriser — au lieu de deviner par PageRank ou profondeur de crawl.

Il existe également une variante optionnelle llms-full.txt qui inclut le texte intégral de vos pages clés concaténées en un seul document. Certains crawlers préfèrent ce format parce qu’il réduit les allers-retours.

Aucun des fichiers n’est encore un standard W3C. C’est une proposition communautaire avec une adoption croissante parmi les fondateurs techniques et les équipes de contenu.

À quoi ressemble le fichier

Voici le llms.txt que j’utilise pour alejandrorioja.com :

markdown
# Alejandro Rioja

> Opérateur, consultant IA et fondateur de Pickleland. J'écris sur le GEO, les agents IA et la croissance pour les fondateurs.

## Pages principales

- [À propos](https://alejandrorioja.com/about/): Parcours, services de conseil et comment travailler avec moi.
- [Blog](https://alejandrorioja.com/blog/): Tous les articles sur GEO, SEO, agents IA et croissance pour fondateurs.
- [Consultation](https://alejandrorioja.com/consultation/30/): Réservez une session payante de 30 minutes.

## Meilleurs articles

- [Comment être cité dans les réponses ChatGPT](https://alejandrorioja.com/blog/how-to-get-cited-in-chatgpt-answers/): Le playbook GEO que j'utilise sur les sites clients.
- [Architecture d'agents IA pour fondateurs](https://alejandrorioja.com/blog/ai-agent-architecture-for-founders/): Comment concevoir des systèmes multi-agents sans équipe d'ingénierie complète.
- [GEO vs SEO](https://alejandrorioja.com/blog/geo-vs-seo/): Ce qui change quand Google n'est plus le seul moteur de recherche qui compte.

## Optionnel : ignorer

- /drafts/
- /admin/

Quelques points à noter :

Quels moteurs IA le lisent vraiment

C’est là où je dois être honnête : le paysage est fragmenté et partiellement non documenté.

Perplexity — Oui, confirmé. Le crawler de Perplexity (PerplexityBot) lit llms.txt lors de l’indexation des sites. Leur équipe d’ingénierie a référencé la spécification publiquement. Si Perplexity est une source de référence significative pour vous, implémenter llms.txt a un chemin clair vers l’impact.

ChatGPT / OpenAI — Non confirmé. Le crawler d’OpenAI (GPTBot) ne semble pas lire llms.txt à mi-2026. Son comportement de crawl est régi par robots.txt et la priorisation interne d’OpenAI. Il n’y a pas de déclaration publique d’OpenAI reconnaissant la spécification.

Bing Copilot / Microsoft — Non confirmé. Situation similaire à OpenAI. Le crawler IA de Bing (BingBot) suit robots.txt mais il n’y a pas de signal qu’il lit llms.txt.

Google AI Overviews / Gemini — Non confirmé. Google a son propre écosystème de données structurées (schema.org, sitemaps) et n’a pas indiqué qu’il adopterait des spécifications tierces.

Anthropic — Le crawler d’Anthropic (ClaudeBot) explore le web pour des données d’entraînement. Il n’y a pas de documentation publique qu’il lit llms.txt, mais plusieurs praticiens GEO rapportent de meilleures citations Claude après l’implémentation. Corrélation, pas causalité — mais à noter.

Moteurs de recherche IA plus petits — You.com, Phind et plusieurs outils de recherche IA verticale ont déclaré ou sous-entendu qu’ils lisent llms.txt. La spécification est plus facile à adopter pour les petites équipes car elles n’ont pas des années d’infrastructure de crawl à refactoriser.

Le résumé honnête : pour l’instant, llms.txt est une optimisation Perplexity avec quelques avantages spéculatifs ailleurs. Ce ratio changera probablement à mesure que la spécification mûrit.

Comment l’implémenter en 20 minutes

Si vous êtes sur un site statique (Astro, Next.js avec export statique, Hugo, etc.), créez le fichier dans public/llms.txt. Il sera servi à la racine.

Pour un site Next.js avec app router, vous pouvez le générer dynamiquement :

ts
// app/llms.txt/route.ts
import { allPosts } from "@/lib/content";

export async function GET() {
  const topPosts = allPosts
    .filter((p) => p.featured || p.views > 1000)
    .slice(0, 10);

  const lines = [
    "# Alejandro Rioja",
    "",
    "> Opérateur, consultant IA, fondateur de Pickleland. J'écris sur GEO, agents IA et croissance pour fondateurs.",
    "",
    "## Meilleurs articles",
    "",
    ...topPosts.map(
      (p) => `- [${p.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.description}`
    ),
    "",
    "## Pages principales",
    "",
    "- [À propos](https://alejandrorioja.com/about/): Services et parcours.",
    "- [Consultation](https://alejandrorioja.com/consultation/30/): Réserver une session.",
  ];

  return new Response(lines.join("\n"), {
    headers: { "Content-Type": "text/plain; charset=utf-8" },
  });
}

Pour un site Astro, l’équivalent est un endpoint .txt.ts dans src/pages/ :

ts
// src/pages/llms.txt.ts
import type { APIRoute } from "astro";
import { getCollection } from "astro:content";

export const GET: APIRoute = async () => {
  const posts = await getCollection("posts", (p) => p.data.lang === "en");
  const top = posts
    .sort((a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf())
    .slice(0, 10);

  const body = [
    "# Alejandro Rioja",
    "",
    "> Consultant IA et opérateur. J'écris sur GEO, agents IA et croissance pour fondateurs.",
    "",
    "## Articles récents",
    "",
    ...top.map(
      (p) =>
        `- [${p.data.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.data.description}`
    ),
  ].join("\n");

  return new Response(body, {
    headers: { "Content-Type": "text/plain; charset=utf-8" },
  });
};

Après le déploiement, vérifiez avec curl -s https://yoursite.com/llms.txt. Si vous voyez du Markdown, vous avez terminé.

Devriez-vous aussi créer llms-full.txt ?

Peut-être. llms-full.txt est un dump concaténé de vos pages clés — titre, URL et texte complet du corps, une page après l’autre, séparées par ---. L’idée est qu’un crawler peut tout récupérer en une seule requête et avoir suffisamment de contexte pour répondre aux questions sur votre site sans crawler les pages individuelles.

Le compromis : c’est un fichier volumineux. Le mien fait environ 400 Ko pour les 30 meilleurs articles. Certains crawlers peuvent expirer ou le tronquer. D’autres peuvent lui accorder plus de poids parce que le contenu est pré-digéré.

Mon approche actuelle : je génère llms-full.txt mais le limite aux 15 articles les plus performants par trafic. Je le maintiens sous 250 Ko. Régénération à chaque déploiement.

Ce que les données montrent vraiment

Je surveille les citations Perplexity pour ce site et trois sites clients depuis janvier 2026. Voici ce que j’ai observé :

L’interprétation honnête : llms.txt aide probablement avec Perplexity. Le mécanisme est clair — Perplexity le lit. Si la hausse vient spécifiquement de llms.txt ou des améliorations GEO générales qui l’accompagnent, je ne peux pas encore le dire.

Que mettre dans la citation en bloc

La description d’une ligne dans la citation en bloc est la partie sur laquelle je passerais le plus de temps. C’est le texte qu’un LLM utilisera pour vous résumer dans un contexte RAG. Il doit être :

Mauvais : > J'aide les entreprises à croître avec l'IA.

Meilleur : > Alejandro Rioja — consultant IA à Austin TX, fondateur de Pickleland, écrivant sur GEO, agents IA et croissance pour fondateurs depuis 2019.

La conclusion de l’opérateur

llms.txt prend 20 minutes à implémenter, ne coûte rien à servir et a un chemin de lecture confirmé avec Perplexity. Faites-le. La spécification deviendra soit un vrai standard (auquel cas les premiers adoptants gagnent) soit disparaîtra (auquel cas vous avez perdu 20 minutes). L’asymétrie est évidente. Ne vous laissez juste pas distraire du travail GEO à plus fort ROI : données structurées, signaux d’entités clairs et réponses formatées pour l’extraction de snippets. Ceux-là font bouger tous les moteurs IA. llms.txt en fait bouger un actuellement.

Continuer à lire

Recevez le guide IA dans votre boîte mail

Chaque mercredi. 28 400+ opérateurs. Zéro superflu.

↵ pour voir tous les résultats esc esc pour fermer