Torna al blog

llms.txt: storia dello standard e come adottarlo

Origine di llms.txt, ruolo di Mintlify e varianti llms-full.txt, più una guida pratica per PMI con rimando a /servizi.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

5 min di lettura

llms.txt nasce come iniziativa community per offrire alle AI generative un punto di ingresso ufficiale ai contenuti di un sito. Mintlify ha proposto uno schema semplice, poi esteso con llms-full.txt per descrivere dataset, licenze e limiti d'uso. Questo file serve a dichiarare cosa puo essere letto, a quali condizioni e con quali limiti. Un llms.txt ben scritto riduce contenziosi, aiuta gli agent a interpretare correttamente le licenze e offre un entry point chiaro a dataset o API pubblici.

Cos'e llms.txt e perche nasce

  • Robots.txt non esprime licenze, usi consentiti o obblighi di attribuzione. llms.txt copre questo vuoto per gli LLM.
  • Mintlify ha proposto nel 2024 una sintassi minimale: permessi, link a sorgenti e contatti. La community ha poi esteso il formato con campi per licenze, dataset e rate limit.
  • llms-full.txt e una variante che elenca dataset, formati, checksum e condizioni legali piu dettagliate.

Cronologia sintetica

  • 2023: discussioni community su GitHub per un file machine-readable dedicato agli LLM.
  • 2024: proposta Mintlify, adottata da vari siti tech come base di sperimentazione.
  • 2025: compaiono estensioni (llms-full.txt) per descrivere dataset e API; emergono policy su attribution e uso commerciale.
  • 2026: alcuni motori AI e crawler specializzati leggono llms.txt per allineare ingestione e diritti di utilizzo.

Struttura consigliata di llms.txt

Includi sempre:

  • Scope di crawling: cartelle consentite e vietate, con granularita per tipologia di contenuto.
  • Licenza: termini di uso del contenuto (es. CC BY-NC-SA 4.0, clausole custom, divieti commerciali).
  • Attribuzione: se richiesta, specifica modalita (link, nome brand, URL canonico).
  • Contatto: email o URL per richieste di rimozione o chiarimenti legali.
  • Rate limit: limiti di frequenza di fetch e dimensione massima per richiesta.
  • Rimando a llms-full.txt per dataset strutturati, API o esportazioni.

Esempio minimale (entry point):

# llms.txt
Allow: /blog/
Disallow: /admin/
Disallow: /draft/
License: CC BY-NC-SA 4.0
Attribution: required
Contact: mailto:legal@example.com
Full: https://example.com/llms-full.txt
RateLimit: 60 rpm

Esempio esteso (con note legali e limiti):

# llms.txt
Allow: /docs/
Allow: /blog/
Disallow: /user-data/
License: Custom-NonCommercial
Policy: https://example.com/ai-policy
Attribution: link https://example.com
Contact: https://example.com/legal
Full: https://example.com/llms-full.txt
Cache-Control: max-age=86400
RateLimit: 30 rpm; burst=10

llms.txt vs llms-full.txt

FileContenuto principaleQuando usarlo
llms.txtRegole base, permessi, link, contattiSempre, come entry point
llms-full.txtDataset, formati, licenze dettagliateSe offri export, API o corpus curati

Best practice di redazione

  • Coerenza: non contraddire robots.txt o privacy policy.
  • Specificita: dichiarare cartelle, licenze e obblighi di attribuzione in modo esplicito.
  • Versioning: aggiungi un campo Version o datalo nel commento iniziale per tracciabilita.
  • Machine-friendly: evita testo libero prolisso; usa chiavi sintetiche e ripetibili.
  • Sicurezza: non esporre percorsi interni sensibili; usa Disallow per admin, draft e PII.

Pubblicazione e integrazione

  1. Posiziona llms.txt e, se serve, llms-full.txt nella root pubblica del dominio.
  2. Aggiorna la sitemap per includere i file, cosi i crawler li scoprono piu rapidamente.
  3. Se usi CDN, verifica le intestazioni cache: un TTL troppo lungo ritarda gli aggiornamenti.
  4. Log e monitoraggio: traccia gli user agent che richiamano il file e valuta rispetto dei limiti.

llms-full.txt: cosa inserire

  • Elenco dataset o export con URL, formato (CSV, JSONL, Markdown), checksum e data di rilascio.
  • Licenza specifica per ciascun dataset se differisce dal sito.
  • Note su PII: conferma l'assenza di dati personali o cita le misure di anonimizzazione.
  • Contatti di sicurezza e canale per richieste di rimozione.

Integrazione con CMS e static site

  • WordPress: carica i file nella root o usa un plugin per servire asset statici; sincronizza robots.txt e policy.
  • Headless/Static (Astro, Next): genera i file in build e deployali nella cartella public/.
  • Multi-lingua: mantieni un unico llms.txt, ma specifica percorsi per lingua o aggiungi note in llms-full.txt.

Errori da evitare

  • Lasciare licenza vuota: i crawler non sapranno se il contenuto e riutilizzabile.
  • Contraddizioni con robots.txt: crea ambiguita e riduce la fiducia del crawler.
  • Rate limit irrealistici: se troppo restrittivi, il crawler ignora il file o fallisce l'indicizzazione.
  • Percorsi sensibili accidentalmente Allow: controlla sempre con una checklist di sicurezza.

Come verificare

  • Fetch manuale: scarica https://tuodominio/llms.txt e controlla 200 OK.
  • Valida sintassi: controlla chiavi duplicate e linee senza separatore.
  • Log: verifica user agent noti (es. AI crawler) e frequenza di accesso.
  • Test staging: prova versioni aggiornate in ambiente di test prima del deploy in produzione.

Checklist finale

  • llms.txt in root, con licenza, attribution e contatti.
  • Rimando a llms-full.txt se offri dataset strutturati.
  • Coerenza con robots.txt e privacy/ToS.
  • Limiti di crawling e caching dichiarati.
  • Monitoraggio accessi e revisione periodica (almeno trimestrale).

Servizio per PMI

Se vuoi una configurazione corretta, coerente con legale e privacy, contattaci: Scopri i servizi. Curiamo llms.txt, llms-full.txt, policy, hosting e monitoraggio.