SEO

llms.txt : qu'est-ce que c'est, à quoi ça sert et comment nous l'avons ajouté chez Nebula

Le standard émergent qui indique aux modèles de langage ce qui se trouve sur votre site et comment le comprendre. Qu'est-ce que llms.txt, pourquoi c'est important pour le SEO du futur et comment l'implémenter dans Next.js.

Ana Olivia Todesco

Ana Olivia Todesco

CEO @ Nebula Solutions

|2026-04-28·6 min de lecture
llms.txt : qu'est-ce que c'est, à quoi ça sert et comment nous l'avons ajouté chez Nebula

Si vous suivez le monde du développement web, vous avez déjà entendu parler du SEO pour les moteurs de recherche comme Google. Mais il y a une nouvelle couche de visibilité numérique qui prend forme : la visibilité face aux modèles de langage - les mêmes qui alimentent ChatGPT, Claude, Perplexity et les assistants de code.

Et il y a un standard émergent qui commence à définir comment ça fonctionne : llms.txt.

Qu'est-ce que llms.txt ?

C'est une proposition de Jeremy Howard (créateur de fast.ai) publiée en septembre 2024. L'idée est simple : tout comme `robots.txt` dit aux crawlers des moteurs de recherche ce qu'ils peuvent indexer, et `sitemap.xml` leur montre la structure du site, `llms.txt` dit aux modèles de langage ce qui se trouve sur votre site et comment le comprendre.

Le fichier vit à la racine du domaine : `https://votredomaine.com/llms.txt`.

C'est un fichier Markdown avec une structure spécifique :

# Nom du projet ou du site

> Description courte avec les informations clés

Informations supplémentaires sur le contexte

## Section de liens

- [Nom du lien](https://url): Description optionnelle

## Optional

- [Lien secondaire](https://url): Informations complémentaires (peut être omis dans un contexte court)

Le seul champ obligatoire est le H1 avec le nom. Le reste est optionnel mais de plus en plus utile pour les modèles.

Pourquoi est-ce important ?

Les modèles de langage ont un problème structurel : leurs fenêtres de contexte sont finies. Ils ne peuvent pas lire un site web entier en une seule interaction. Et convertir du HTML avec navigation, scripts, publicités et styles en texte brut utile est difficile et imprécis.

llms.txt résout ça en donnant aux modèles un point d'entrée curé, compact et lisible qui répond à la question : "de quoi parle ce site et où est-ce que je trouve des informations spécifiques ?"

Les cas d'usage concrets :

  • Un développeur demande à Claude "quels services offre Nebula ?" - le modèle peut chercher et lire le `llms.txt` pour répondre avec précision
  • Un agent IA qui aide à chercher des agences de développement peut parser le fichier pour classer et recommander des prestataires
  • Des outils comme Cursor ou GitHub Copilot peuvent charger la documentation d'une bibliothèque depuis son `llms.txt` pour vous donner du contexte pertinent dans l'éditeur
  • Avec la prolifération des agents IA qui naviguent sur le web pour répondre aux questions, le llms.txt devient un canal de positionnement qui n'est pas encore saturé.

    Comment l'implémenter dans Next.js (App Router)

    La façon la plus propre dans Next.js 13+ avec App Router est de créer un Route Handler qui génère le contenu dynamiquement.

    Étape 1 : Créer le fichier de route

    Créez le fichier `app/llms.txt/route.ts` :

    export async function GET() {
      const content = `# Votre Site
    
    > Description brève et précise du site.
    
    ## Services
    
    - [Service 1](https://votredomaine.com/services/service-1): Ce que ce service résout
    - [Service 2](https://votredomaine.com/services/service-2): Ce que ce service résout
    
    ## Blog
    
    - [Article 1](https://votredomaine.com/blog/article-1): De quoi il parle
    `;
    
      return new Response(content, {
        headers: {
          'Content-Type': 'text/plain; charset=utf-8',
          'Cache-Control': 'public, max-age=86400',
        },
      });
    }

    Avec ça, `https://votredomaine.com/llms.txt` renvoie le fichier en texte brut.

    Étape 2 : Le générer dynamiquement depuis vos données

    Si votre site a des données structurées (posts de blog, projets, services), vous pouvez les générer dynamiquement pour que le `llms.txt` soit toujours à jour :

    import { BLOG_POSTS } from '../lib/blog';
    import { SERVICE_CATALOG } from '../lib/services';
    
    export async function GET() {
      const baseUrl = 'https://votredomaine.com';
    
      const serviceLinks = SERVICE_CATALOG.map(
        (s) => `- [${s.name}](${baseUrl}/services/${s.slug}): ${s.description}`
      ).join('\n');
    
      const blogLinks = BLOG_POSTS.slice(0, 10)
        .map((p) => `- [${p.title}](${baseUrl}/blog/${p.slug}): ${p.description}`)
        .join('\n');
    
      const content = `# Mon Site
    
    > Description du site.
    
    ## Services
    
    ${serviceLinks}
    
    ## Blog
    
    ${blogLinks}
    `;
    
      return new Response(content, {
        headers: {
          'Content-Type': 'text/plain; charset=utf-8',
          'Cache-Control': 'public, max-age=86400',
        },
      });
    }

    Chaque fois que vous ajoutez un post ou un service, le `llms.txt` se met à jour automatiquement sans rien toucher.

    Étape 3 : Vérifier que ça fonctionne

    Accédez à `https://votredomaine.com/llms.txt` dans le navigateur. Vous devriez voir le Markdown brut sans aucun HTML autour.

    Bonnes pratiques pour écrire un bon llms.txt

    Soyez spécifique dans le H1 et le blockquote. Le modèle utilise cette première section pour comprendre le contexte de tout ce qui suit. Si c'est vague, le modèle va faire de mauvaises inférences.

    Ordonnez les liens par importance. Ce qui vient en premier a le plus de chances d'être lu. Si vous avez des services et un blog, mettez les services en premier si vous voulez que le modèle comprenne ce que vous faites.

    Utilisez la section Optional pour le secondaire. Tout ce qui est sous le H2 "Optional" peut être omis si le contexte du modèle est limité. Utilisez-le pour les informations complémentaires mais non essentielles.

    Incluez des descriptions dans les liens. La différence entre `- Landing Pages` et `- Landing Pages: Pages conçues pour convertir le trafic en prospects` est énorme pour un modèle qui doit décider si ce lien est pertinent pour la question posée.

    Gardez-le concis. Le fichier doit être suffisamment complet pour comprendre le site, mais suffisamment court pour tenir dans le contexte. Entre 200 et 800 mots est une bonne référence.

    La section complémentaire : pages .md

    La proposition llms.txt inclut aussi l'idée de servir des versions Markdown de chaque page à la même URL avec l'extension `.md`. Par exemple :

  • `/blog/mon-article` → HTML pour les humains
  • `/blog/mon-article.md` → Markdown propre pour les modèles
  • Cela permet aux agents IA de charger le contenu d'une page spécifique dans un format lisible sans avoir à parser le HTML. Dans Next.js, ça peut être implémenté avec des route handlers pour chaque type de contenu.

    Où enregistrer votre llms.txt

    Des répertoires existent déjà qui indexent les sites avec llms.txt :

  • llmstxt.site - répertoire public de sites qui implémentent le standard
  • directory.llmstxt.cloud - un autre répertoire avec capacité de recherche
  • Enregistrer votre site dans ces répertoires aujourd'hui, pendant que l'écosystème est petit, a la même logique qu'être sur Google My Business quand c'était nouveau : peu d'effort, visibilité disproportionnée.

    Nous l'avons implémenté sur ce site

    Nebula Solutions a son `llms.txt` sur nebulasolutions.com.ar/llms.txt. Nous le générons dynamiquement depuis le catalogue de services et les posts du blog.

    Nous ne savons pas encore quel sera l'impact mesurable. Ce que nous savons, c'est que le standard a une vraie traction - des outils comme Cursor, Perplexity et plusieurs agents IA le supportent déjà ou sont en train de l'adopter.

    Le coût de l'implémenter est de quelques heures. Le potentiel de visibilité quand les agents IA deviendront un canal de découverte pertinent est bien plus grand.

    Vous voulez qu'on l'implémente sur votre site ?

    Si vous avez un site en Next.js et voulez ajouter `llms.txt`, du SEO technique avancé ou simplement améliorer le positionnement digital, planifiez un diagnostic gratuit.

    On le revoit en 30 minutes et on vous dit exactement quoi faire.

    Partager

    LinkedInX / Twitter
    Ana Olivia Todesco

    Écrit par

    Ana Olivia Todesco

    CEO @ Nebula Solutions

    SEOIANext.jsLLMsEstándares Web

    Articles connexes

    llms.txt : qu'est-ce que c'est, à quoi ça sert et comment nous l'avons ajouté chez Nebula | Nebula Solutions