Introduzione – dai crawler “classici” ai Large Language Model crawlers
Per quasi trent’anni robots.txt ha dettato le regole di ingaggio tra siti web e motori di ricerca. Oggi l’equilibrio si sta spostando: gli LLM crawlers (ChatGPT, Gemini, Claude, Perplexity, ecc.) scansionano pagine per creare knowledge‑graphs e generare risposte conversazionali. Per approfondire come i crawler tradizionali influiscono sull’HTML ti rimando a Struttura HTML perfetta per il SEO.
Da questo bisogno nasce /llms.txt, standard proposto da Jeremy Howard (Answer.AI) nel 2024 e già supportato da tool come Mintlify, Firecrawl e da diversi plugin WordPress.
Cos’è llms.txt – definizione in poche righe
llms.txt è un file in formato Markdown Plain‑Text posizionato nella root del dominio (https://tuodominio.it/llms.txt
).
Contiene:
- metadati essenziali sul sito (titolo, descrizione, autore, licenza);
- un elenco di URL “ai‑friendly” (generalmente in
.md
) che rappresentano il corpus principale; - eventuali direttive su tassi di richiesta o quote API dedicate agli LLM.
A differenza di robots.txt (che dice cosa non indicizzare) e di sitemap.xml (che elenca tutte le pagine), llms.txt fornisce solo ciò che serve a un modello linguistico per costruire prompt contestuali, evitando di processare layout e codice di presentazione.
Per capire come separare struttura e contenuto, leggi anche la guida su HTML semantico.
Perché llms.txt è importante per siti web e AI
Vantaggio | Impatto per il sito | Impatto per gli LLM |
---|---|---|
Riduzione del crawl‑budget AI | Meno risorse server consumate | Parsing più rapido, minori timeout |
Controllo narrativo | Il proprietario decide quali URL e versioni (.md) fornire | Maggior qualità delle risposte citazionali |
Attribution SEO | Link diretti a pagine canoniche → più brand mentions | Facilita le citazioni “source:” nelle risposte |
Performance & sicurezza | Nessuna esecuzione JS → zero rischi XSS lato crawler | Contenuto pulito, struttura prevedibile |
Secondo il white‑paper Mintlify, la riduzione di token inutili in fase di ingestion supera il 65 %.
Se ti occupi di performance front‑end, dai un’occhiata anche alla guida su Ottimizzare LCP.
Anatomia e sintassi di un file llms.txt
Di seguito un esempio reale (commenti #
solo a scopo didattico):
# llms.txt v1.0
site_title: CyberAlchimista.it
site_description: Tutorial avanzati Frontend, WordPress e AI per dev italiani
site_url: https://cyberalchimista.it
author: Gioacchino R.
license: CC BY‑SA 4.0
generated: 2025-04-18
[links]
# elenco sintetico: max ~1 000 URL consigliati
/drag-and-drop-javascript-snippet/index.html.md
/ai-frontend-strumenti/index.html.md
/css-avanzato-2025-layout-animazioni-best-practice/index.html.md
...
[end]
Regole base di sintassi
- Key : value separati da due punti e spazio.
- La sezione
[links]
accetta una URL per riga, relativa al dominio. - I file .md devono essere versioni clean (solo markdown semantico) delle pagine.
- Nessun BOM, codifica UTF‑8.
✅ Best practice: mantieni la dimensione totale sotto i 500 KB; in caso di corpus enorme implementa anche /llms-full.txt (vedi sotto).
llms.txt vs llms-full.txt
Caratteristica | llms.txt | llms-full.txt |
Scopo | Mappa compatta, indice navigazionale | Dump completo dei contenuti |
Dimensione tipica | < 500 KB | Vari MB (anche 50 – 100 MB) |
Utilizzo | Chat real‑time che seguono link | Tool che caricano contesto unico via URL |
Aggiornamento | Ogni major update | On‑demand o bulk refresh |
La specifica propone di mettere entrambi i file in root, lasciando al consumer la scelta.
Come creare un llms.txt manualmente (workflow CLI)
- Inventory URL
npx @11ty/eleventy --to=json | jq '.url' > urls.txt
- Filtra solo pagine evergreen (categorie blog escluse se preferisci).
- Converti in Markdown pulito
npx html-to-md --input ./public --output ./public-md
- Compila metadati in cima al file.
- Aggiungi i link generati (
sed 's|^|/|' urls.txt >> llms.txt
). - Valida con:
npx @llmstxt/validator llms.txt
- Versiona in Git e deploy nella root (
/var/www/html/llms.txt
).
Per una strategia GitOps completa leggi la nostra guida su JAMstack vs WordPress.
Implementare correttamente llms.txt nel proprio sito (tecnica + SEO)
1. Posizionamento e headers
Server | Config esempio |
Apache | Alias /llms.txt /var/www/llms/llms.txt + AddType text/plain .txt |
NGINX | location = /llms.txt { root /var/www/html; } |
Imposta Cache‑Control: public, max-age=86400
per evitare richieste ripetute.
2. Integrazione con SEO Tech Stack
- Sitemap → llms.txt: genera la lista di URL partendo dalla sitemap, ma filtra pagine noindex.
- Canonical: le versioni
.md
devono avere metatag canonical verso l’HTML originale. - Structured Data: mantieni JSON‑LD anche nella versione markdown (vedi guida su microdati schema.org).
3. Monitoring
Usa access.log
per tracciare hit su /llms.txt
(User‑Agent contiene spesso “OpenAI” o “GPTBot‑LLM”) e valuta se throttlarle con robots.txt
Crawl-Delay
.
Per debug avanzato puoi sfruttare Chrome DevTools con breakpoints su network.
Sezione WordPress
Plugin che automatizza la gestione di llms.txt
Plugin | Punti di forza | Ultimo update |
Website LLMs.txt | Genera llms.txt + integrazione Yoast SEO/RankMath. Possibilità di escludere CPT o singoli URL da UI. | 20 mar 2025 |
LLMs.txt Generator | Scelta wildcard, rigenera file a ogni publish. | feb 2025 |
LLMs‑Full.txt Generator | Produce sia file “light” che “full” con selettore dei post‑type. | apr 2025 |
Installazione rapida (Website LLMs.txt):
wp plugin install website-llms-txt --activate
- Impostazioni → LLMS.txt
- Scegli post‑type (Pages, Docs, Products…).
- Spunta “Genera anche llms-full.txt”.
- Salva → il file viene scritto nella root e aggiornato al salvataggio di nuovi post.
Strumenti alternativi (non‑WP)
- Firecrawl + llms generator – API REST per scaricare sitemap e restituire
llms.txt
/full
. - llmstxtgenerator.org – interfaccia drag‑and‑drop, esporta .txt pronti per GitOps.
- Mintlify Docs – endpoint
/llms.txt
auto‑refreshed.
Conclusione
L’introduzione di llms.txt è un piccolo passo tecnico ma un enorme salto strategico: significa parlare la lingua dei modelli che già oggi guidano ricerche conversazionali, sistemi di answer‑engine e agenti autonomi.
Implementalo subito, monitora l’access log e sperimenta snippet markdown puliti: ogni query AI che cita il tuo brand è traffico qualificato (e gratuito). Se usi WordPress, prova il plugin Website LLMs.txt e fammi sapere nei commenti come va!