Generatore e validatore di llms.txt
Free, no signup. Build a clean llms.txt that points LLMs at your key pages, or paste one you already have and check that it's well-formed.
| Check | Status when healthy |
|---|---|
| H1 | One site-name H1 |
| Summary | A short blockquote is recommended |
| Links | Grouped, absolute HTTPS URLs |
| Size | Keep the map concise (under ~20 KiB) |
llms.txt is a community proposal
(llmstxt.org), not an official standard.
No major AI crawler is documented to read it today. Treat it as low-effort, low-risk housekeeping —
not a ranking lever. If you want to influence what AI systems can access, that's
robots.txt and your on-page content, not this file.
More on how AI crawlers actually work → Upload your own access log to the Log File Analyzer. Its browser-local /llms.txt report distinguishes verified AI crawler requests, unverifiable crawler claims, spoofed claims, other traffic, and no observation in the supplied period. A request is retrieval evidence only—not proof of rankings, citations, or broad provider adoption.
The Optional section (a crawler may skip it) is emitted last automatically — just name a section “Optional”.
Viene eseguito interamente nel browser: nulla di ciò che incolli viene caricato o memorizzato. I conteggi anonimi degli esiti per singola esecuzione possono essere utilizzati per ricerche aggregate; URL, domini, IP e identificatori non sono mai inclusi e nessuna statistica viene pubblicata sotto le 100 esecuzioni.
We fetch only <domain>/llms.txt (nothing else) — browsers can't, because of CORS.
Viene eseguito interamente nel browser: nulla di ciò che incolli viene caricato o memorizzato. Fetch by URL sends only the domain to our server to retrieve /llms.txt (browsers can't — CORS); validation still runs locally. I conteggi anonimi degli esiti per singola esecuzione possono essere utilizzati per ricerche aggregate; URL, domini, IP e identificatori non sono mai inclusi e nessuna statistica viene pubblicata sotto le 100 esecuzioni.
+ salva il sito o la pagina correnti. Usa ☆ accanto a qualsiasi sito, pagina o elenco salvato per aggiungerlo ai preferiti. La cronologia dei controlli recenti appare sotto.
Crea un elenco denominato
Target compilato dalle tue scelte locali.
Passaporto del sito Contesto locale per questo sito salvato
Dati locali
Le destinazioni salvate, gli elenchi denominati e i riepiloghi dei controlli recenti restano solo in questo browser.
Valuta questo strumento
Where this is heading: serving Markdown to LLMs
Looking ahead — not something to do today. llms.txt and per-page Markdown are proposals no major AI crawler is documented to consume yet.
llms.txt is a directory — one file pointing at your key pages. The more interesting
idea, once AI clients adopt it, is content negotiation: same URL, two representations.
Serve HTML to browsers and a clean Markdown rendering to LLM clients,
and decide which at the edge.
A Cloudflare Worker picks the representation from the request — either
Accept: text/markdown or a known AI user-agent — and emits
Vary: Accept (or Vary: User-Agent) so shared caches don't hand the wrong
variant to the wrong client.
It's exactly the move behind this site's hybrid /robots.txt —
same bytes, only the Content-Type label negotiated — just extended to actual content,
and to a real body difference rather than only a header.
Informazioni sullo strumento
Genera un llms.txt ben strutturato che indirizza gli LLM alle pagine chiave del tuo sito, oppure incollane uno per verificarne titolo H1, riepilogo, link assoluti, duplicati e segnalazioni di collegamenti esterni.
Funzionalità
- Generazione guidata di sezioni e righe di link, con anteprima in tempo reale e verifica automatica mentre scrivi.
- Precompilazione da sitemap.xml: carica una sitemap e raggruppa gli URL per il primo segmento del percorso in sezioni pronte da modificare.
- Gestione automatica della sezione Optional, sempre emessa per ultima.
- Copia, download e link di condivisione che racchiude la bozza nel frammento dell’URL (compresso, mai inviato a un server).
Come funziona
Il motore di generazione/analisi/validazione (src/lib/tools/llms-txt.ts) è scritto in TypeScript puro, senza DOM né chiamate di rete: tutto ciò che fai nei flussi di generazione e incolla avviene localmente nel browser e la bozza non lascia mai la pagina. Il parser legge riga per riga: riconosce il titolo #, la citazione > del riepilogo, le intestazioni ## delle sezioni e gli elementi di elenco con link Markdown, saltando il contenuto dei blocchi di codice delimitati da ``` per non interpretarli come direttive. Esegue poi controlli a livello di file — titolo obbligatorio, riepilogo consigliato, URL duplicati, URL assoluti, regole HTTPS e dimensione — e riunisce tutto nel conteggio di errori/avvisi/informazioni. L’unico contatto con il server è il recupero tramite URL: i browser non possono recuperare il llms.txt di un altro sito a causa di CORS; perciò un proxy SSRF protetto e memorizzato nella cache (/api/llms-fetch) recupera solo quel percorso esatto, nient’altro del dominio, e restituisce il testo per la validazione.
Limitazioni
- Il validatore controlla la forma del file rispetto alla proposta, non se qualcuno lo legge. Segnala titolo H1 mancante, riepilogo mancante, URL malformati o relativi, link http://, URL duplicati, link prima di una sezione, titoli profondi ### estranei alla struttura, link esterni e file troppo grandi per una mappa concisa. Non può garantire che un sistema AI consumi il file.
- Il recupero da sitemap.xml è un punto di partenza, non una fase di selezione: llms.txt è utile solo se lo limiti alle pagine davvero importanti.
- Non è una leva per la visibilità nell’AI: ciò che i sistemi AI possono raggiungere dipende da robots.txt e dai contenuti della pagina.
Domande frequenti
I crawler AI leggono davvero llms.txt?
Non in modo documentato. llms.txt è una proposta della comunità di llmstxt.org, non una norma ufficiale, e nessun grande crawler AI (OpenAI, Google, Anthropic o Perplexity) ha pubblicato il supporto alla lettura. Consideralo una manutenzione semplice e a basso rischio: una mappa ordinata delle pagine migliori, non un fattore di ranking. Ciò che i sistemi AI possono raggiungere dipende da robots.txt e dai contenuti della pagina.
Che cosa contiene un documento llms.txt?
Un titolo H1 obbligatorio nel formato `# ` con il nome del sito, seguito da un riepilogo di una riga nel formato `> `. Poi arrivano intestazioni `## ` (`Docs`, `Guides`, `Blog`), ciascuna con elementi di elenco Markdown nel formato `- [title](url): optional notes`. La sezione speciale `## Optional` contiene link che un crawler può ignorare. Ogni URL dovrebbe essere un indirizzo assoluto https:// che l’LLM può recuperare direttamente.
Dove si trova il documento llms.txt sul mio sito?
Nella radice del dominio, all’indirizzo https://site.example/llms.txt, secondo la stessa convenzione di robots.txt. Il validatore può recuperare quel percorso esatto per qualsiasi dominio tramite un piccolo intermediario lato server, perché i browser non possono effettuare richieste tra origini, così puoi controllare un documento pubblicato senza incollarlo.
Che cosa controlla il validatore?
Controlla la forma del documento rispetto alla proposta, non se qualcuno lo utilizza. Segnala titolo H1 o riepilogo mancanti, URL relativi o non validi, link http://, URL duplicati, link prima di una sezione, intestazioni profonde `### ` fuori struttura, link esterni e documenti troppo grandi per una mappa concisa. Non garantisce che un sistema AI utilizzi il documento.
Quanto dovrebbe essere grande llms.txt?
Piccolo. È un indice di link, non una copia dei contenuti. Il validatore mostra una nota informativa quando il documento supera circa 20 KiB, perché a quella dimensione di solito smette di essere una mappa concisa e inizia a duplicare le pagine. Per offrire contenuti completi e puliti agli LLM, usa Markdown per pagina e la negoziazione dei contenuti, non un llms.txt più grande.
Problemi comuni e come risolverli
- Errore Il documento contiene più titoli H1 Correzione: Mantieni un solo H1 per il nome del sito e converti le intestazioni di primo livello aggiuntive in sezioni H2.
- Errore Link URL è relativo Correzione: Sostituisci il link relativo con un URL HTTPS completo che un sistema di scansione possa recuperare direttamente.
- Errore Link URL è non valido Correzione: Correggi la destinazione del link malformata con un URL assoluto HTTPS valido.
- Avviso Il link URL usa HTTP Correzione: Cambia il link HTTP con l’equivalente funzionante in HTTPS.
- Informazione Il link punta a un altro host Correzione: Rimuovi il link fuori host oppure inseriscilo nel documento llms.txt di proprietà di quell’host.
- Errore Il documento non contiene un titolo H1 Correzione: Aggiungi esattamente un titolo H1 # in alto con il nome del sito o del progetto.
- Avviso Il documento non contiene una citazione di riepilogo Correzione: Aggiungi subito dopo H1 un breve riepilogo in citazione a blocco >.
- Informazione Il riepilogo non è subito dopo il titolo Correzione: Sposta la citazione di riepilogo subito sotto H1, prima di qualsiasi intestazione di sezione.
- Avviso Il documento non contiene link nelle sezioni Correzione: Aggiungi link assoluti HTTPS utili sotto intestazioni descrittive di sezione H2.
- Avviso La sezione `Optional` non è l’ultima Correzione: Sposta la sezione ## Optional dopo ogni sezione di link obbligatoria o principale.
- Avviso Il link URL è duplicato Correzione: Mantieni l’URL una sola volta nella sezione più pertinente e rimuovi le voci ripetute.
- Informazione Il documento è troppo grande per una mappa concisa Correzione: Riduci link e descrizioni di poco valore finché il documento diventa una mappa concisa di circa 20 KiB o meno.
- Errore Il documento è vuoto Correzione: Aggiungi un H1, un breve riepilogo e link assoluti HTTPS raggruppati alle risorse principali del sito.