Guida

llms.txt v2: cosa è cambiato

La proposta llms.txt è stata rivista ad agosto 2026, quasi due anni dopo l'originale. Il formato del file non è cambiato — un file v1 è ancora un file v2 valido. È cambiato tutto ciò che sta attorno al file: come gli agenti lo trovano e quali strumenti si aspetta la specifica.

Il formato è invariato

La struttura richiesta è esattamente quella di prima: un BOM opzionale, un H1 con il nome del progetto (ancora l'unico elemento obbligatorio), un riepilogo in blockquote, prosa opzionale senza intestazioni, poi zero o più sezioni H2 con elenchi di collegamenti Markdown. Se il tuo file otteneva 100 con la v1, ottiene ancora 100.

1. Relazioni di collegamento, così gli agenti smettono di indovinare

Questa è l'aggiunta sostanziale, e risponde alla richiesta più frequente in due anni di adozione: data una pagina, come fa un agente a trovare la sua versione Markdown, o il llms.txt che la copre, senza indovinare gli URL?

La v2 risponde con due relazioni di collegamento standard:

Entrambe possono essere un elemento HTML <link>:

<link rel="describedby" href="/llms.txt">
<link rel="alternate" type="text/markdown" href="/docs/page.html.md">

… oppure un header di risposta HTTP, l'unica opzione per le risorse non HTML come gli stessi file Markdown, e che si può impostare nella configurazione del web server o della CDN senza toccare nemmeno una pagina:

Link: </docs/page.html.md>; rel="alternate"; type="text/markdown", </docs/llms.txt>; rel="describedby"

Se in passato hai seguito il consiglio di segnalare il file con rel="alternate" type="text/plain" — comprese versioni precedenti delle nostre stesse guide — sostituiscilo con rel="describedby". Era una convenzione ragionevole quando la specifica non ne aveva una; ora ce l'ha.

2. Ora sono ammesse entrambe le forme di URL .md

La v1 prescriveva una sola forma di URL per il gemello Markdown di una pagina: .md aggiunto all'URL completo, così page.html diventava page.html.md. In pratica diversi strumenti di pubblicazione sostituivano invece l'estensione, producendo page.md. La v2 approva entrambe. Per gli URL senza nome di file, aggiungi index.html.md o index.md.

Qui non c'è nulla da migrare: la forma che già produci ora è corretta.

3. I file nei sottopercorsi sono definiti come si deve

La v1 permetteva un llms.txt fuori dalla radice senza mai dire cosa significasse. La v2 lo definisce: un file copre le pagine sotto il suo percorso e, quando più di uno è applicabile, gli agenti usano il più specifico. Così /docs/llms.txt copre tutto ciò che sta sotto /docs/, e un agente che legge una pagina di documentazione lo preferisce al file nella radice.

Questo conta per chi controlla un percorso ma non un host — un sito di progetto su GitHub Pages, una sezione di documentazione su un dominio condiviso — ed è il motivo per cui la specifica resta su un nome di file convenzionale invece di /.well-known/, che esiste soltanto nella radice dell'origine.

Conseguenza pratica: se la tua documentazione è la parte che interessa agli agenti, un /docs/llms.txt dedicato è ora una scelta di prima classe, non una zona grigia.

4. Gli strumenti di espansione del contesto escono di scena (e «Optional» perde la sua meccanica)

La v1 descriveva llms_txt2ctx, uno strumento che espandeva un llms.txt in un unico contesto per l'LLM. La v2 lo abbandona e dichiara invece l'aspettativa in modo diretto: gli agenti consultano o cercano nel llms.txt, poi seguono i collegamenti che servono — quindi i collegamenti devono puntare a contenuti adatti agli LLM, e il file stesso resta abbastanza piccolo per stare nel contesto.

Con quegli strumenti se ne va il significato meccanico della sezione ## Optional, che esisteva per dire a quegli strumenti cosa omettere. Le sezioni Optional sono ancora ammesse e restano una convenzione utile per i collegamenti secondari che un agente può saltare — semplicemente non pilotano più nulla di automatico.

Nota che llms-full.txt non ha mai fatto parte della specifica, in nessuna delle due versioni. È una pratica di settore molto diffusa, e valida per grandi insiemi di documentazione — solo, non trattarla come un requisito.

Cosa fare concretamente questa settimana

  1. Aggiungi rel="describedby" che punta al tuo llms.txt — una riga nel layout, o una regola di header sulla CDN.
  2. Se pubblichi gemelli Markdown, segnalali con rel="alternate" type="text/markdown".
  3. Sostituisci ogni indicazione rel="alternate" type="text/plain" con rel="describedby".
  4. Se la documentazione è la parte di valore, valuta un /docs/llms.txt dedicato.
  5. Rilancia il validatore — ora segnala se le tue pagine dichiarano le relazioni v2 e segue i file nei sottopercorsi come la v2 prevede per gli agenti.

Perché c'è stata una revisione

Perché la premessa ha smesso di essere speculativa. Quando llms.txt fu proposto a settembre 2024, «gli agenti leggeranno il tuo sito» era una previsione. Oggi le piattaforme di documentazione generano il file automaticamente, Lighthouse di Chrome verifica i siti alla ricerca del file nei suoi controlli di navigazione agentica, e i laboratori di IA pubblicano llms.txt per la propria documentazione per sviluppatori. La v2 è l'aspetto che prende una proposta dopo che le sue ipotesi sono state messe alla prova da un'adozione reale.

Continua a leggere

Convalida il tuo llms.txt →