2026-03-07
llms.txt: cosa serve davvero (e cosa non è dimostrato)
Sommario machine-readable, controllo della narrativa interna, versione estesa. Disclaimer: nessuna prova pubblica che llms.txt sposti il ranking in ChatGPT o Perplexity. Come lo serviamo su Snowinch (Nitro, non public/).
Problema che risolvi: vuoi un file canonico in testo con link e descrizioni che strumenti automatici (crawler, assistenti, pipeline interne) possono leggere senza parsing HTML completo.
Cosa non è dimostrato (onestà): al 2026 non esiste documentazione pubblica che provi che la sola presenza di /llms.txt sposti il ranking o la frequenza con cui un modello commerciale (ChatGPT, Perplexity, Gemini, …) cita il tuo brand. I vendor non pubblicano un “llms.txt ranking factor”.
Cosa ha senso fare comunque: tenere sommario + versione lunga aggiornati come fonte di verità per chi costruisce dataset, supporto, o integrazioni proprietarie — e per ridurre ambiguità quando un sistema legge il sito.
Cosa mettere nel file (contenuto)
- Chi siete, cosa fate, link alle pagine marketing con descrizione one-line.
- Contatti e dati legali se servono a partner/compliance.
- Link a
/llms-full.txt(o equivalente) se offrite una trascrizione estesa. - Lista blog / portfolio pubblici con meta breve (come in sitemap, ma in plain text).
Struttura tipica in Markdown-ish (testo puro va bene):
# Nome brand
Una riga su cosa fate.
## Pagine
- /it/services — …
- /en/services — …
## Blog
- /it/blog/slug — titolo e descrizione SERP
llms.txt vs SEO classico
| Aspetto | SEO (Google Search) | llms.txt |
|---|---|---|
| Obiettivo | Indicizzazione e ranking su SERP | Corpus testuale riusabile da tool |
| Evidenza d’impatto | Linee guida Google pubbliche | Nessun standard di ranking pubblicato per i LLM consumer |
| Formato | HTML + structured data | Plain text / Markdown leggero |
| Manutenzione | Continua (contenuti + tecnico) | Quando cambiano pagine chiave |
llms.txt non sostituisce meta tag, canonical, hreflang o performance — convive con loro.
Implementazione su progetti Nuxt / Nitro (Snowinch)
Su questo sito /llms.txt non è un file in public/: è una route Nitro che genera testo a runtime così resta allineata a blog, portfolio e i18n (codice in server/routes/llms.txt.get.ts e utils/buildLlmsSnowinch.ts nel repository). Stesso schema per /llms-full.txt.
Perché evitare public/llms.txt duplicato: conflitto con la route dinamica e rischio di contenuto stale rispetto al deploy.
Esempio reale (Snowinch)
Il sommario pubblico è servito qui (URL di produzione):
https://www.snowinch.com/llms.txt
Aprilo in browser: è testo UTF-8, Cache-Control ragionevole, niente autenticazione. La versione estesa è /llms-full.txt sullo stesso dominio.
Checklist operativa
- 200 OK su
/llms.txt,Content-Type: text/plain; charset=utf-8. - Coerenza con sitemap e pagine effettivamente pubbliche (no bozze).
- Aggiornare quando cambiano servizi, prezzi, team, slug blog.
- Non promettere in sales deck effetti su LLM consumer non misurabili.
Sintesi
llms.txt= documentazione machine-readable del sito, utile e a basso costo.- Non confonderla con una leva SEO certificata per l’AI search.
- Su stack tipo Nuxt: preferisci generazione server-side (o build step) a un file statico dimenticato in
public/.