Vai al contenuto
SEO e crawler

llms.txt su WordPress: cos'è, come pubblicarlo e se serve davvero a qualcosa

Pubblica un file llms.txt su WordPress in tre modi diversi, sapendo esattamente cosa dicono i fatti sul fatto che qualche azienda AI lo legga davvero.

Pubblicato

llms.txt è un semplice file markdown che si colloca nella root del dominio — https://example.com/llms.txt — e che elenca le tue pagine migliori con una riga di descrizione ciascuna, così un modello linguistico trova i contenuti utili senza scansionare tutta la navigazione. È una proposta, non uno standard, e nessun grande fornitore AI ha confermato pubblicamente di leggere il file o di agire in base ad esso.

Contano entrambe le metà della frase. Il formato esiste, è ben specificato e si pubblica in una ventina di minuti. Il beneficio non è dimostrato, e buona parte di ciò che oggi viene venduto attorno a questo file non lo dice onestamente.

Che aspetto ha il file

Il formato proposto è markdown con una struttura definita: un H1 con il nome del sito, una citazione riassuntiva facoltativa, poi sezioni H2 con elenchi puntati di link, ciascuno seguito da due punti e da una breve descrizione. Una sezione chiamata “Optional” segnala i contenuti trascurabili quando il contesto è limitato.

# Odie Themes

> Free WordPress tools and technically honest guides for theme
> and image configuration problems.

## Guides

- [Why WordPress images look blurry after upload](https://example.com/guides/wordpress-image-blurry-after-upload): Why the 2560px cap creates a -scaled file and how to raise or disable it.
- [WordPress llms.txt](https://example.com/guides/wordpress-llms-txt): What the file is, how to add one, and what it does not do.

## Tools

- [Robots.txt generator](https://example.com/tools/wordpress-robots-txt-generator): Build a robots.txt with correct AI crawler rules.

## Optional

- [About](https://example.com/about): Who runs the site.

Questa è tutta la specifica che vale la pena conoscere. I link vanno assoluti. Le descrizioni vanno scritte in una frase, concrete e non promozionali: l’intero presupposto è che a leggere sia una macchina, e gli aggettivi di riempimento sprecano proprio i token che volevi risparmiare.

Ti capiterà di incontrare anche llms-full.txt, una convenzione complementare che raccoglie in un unico file il testo markdown integrale dei contenuti. È molto più pesante e ancora meno supportata da prove rispetto a llms.txt. Lascia perdere, salvo motivi specifici.

La parte onesta

Nessuna documentazione pubblica di OpenAI, Anthropic, Google o Perplexity afferma che i loro crawler o sistemi di recupero utilizzino llms.txt. Google ha dichiarato pubblicamente di non usarlo per la ricerca. I proprietari di siti vedono effettivamente richieste al file nei log del server, ma uno scaricamento non prova che quel contenuto abbia plasmato una risposta: moltissimi bot sondano i file a tentativi.

Quindi occhio alle affermazioni che accetti per buone:

Affermazione che troveraiStato
”llms.txt è il nuovo robots.txt per l’AI”Falso. robots.txt è documentato e rispettato; llms.txt è una proposta.
”Aggiungere llms.txt migliora il posizionamento su Google”Nessuna prova. Google non ha dichiarato di usare il file.
”ChatGPT legge il tuo llms.txt”Non confermato da OpenAI.
”È un file che costa poco pubblicare”Vero, ed è l’unico argomento solido a favore.

La posizione ragionevole è quella dell’opzione a basso costo. Un file di testo statico ti costa un caricamento, zero tempo di caricamento della pagina e nessun rischio. Se la convenzione prende piede, tu ce l’hai già. Se non succederà mai, hai perso venti minuti. È uno scambio accettabile: basta non farselo vendere come una strategia di visibilità sull’AI.

Come aggiungerlo a WordPress

Opzione 1: file statico nella root (consigliata)

Scrivi il file in locale, poi caricalo via SFTP nella stessa cartella di wp-config.php e index.php.

WordPress non lo intercetta, perché il blocco di riscrittura predefinito in .htaccess instrada solo le richieste che non corrispondono già a un file o a una cartella reale:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Un llms.txt realmente presente su disco non soddisfa la condizione !-f, quindi Apache lo serve direttamente e PHP non viene mai eseguito. Le configurazioni Nginx che usano try_files $uri $uri/ /index.php si comportano allo stesso modo.

Un’avvertenza: alcuni hosting WordPress gestiti bloccano la scrittura via SFTP nella root del sito, oppure eseguono il sito da un’immagine container in sola lettura. Se è il tuo caso, le opzioni 2 e 3 sono la tua strada.

Opzione 2: un plugin

Cerca “llms.txt” nella directory dei plugin di WordPress: diversi plugin generano ormai il file a partire da articoli e pagine pubblicate, e alcuni plugin SEO l’hanno aggiunto tra le proprie funzioni. È davvero utile se pubblichi spesso, perché un elenco scritto a mano invecchia.

Il compromesso però è reale. Stai aggiungendo un plugin, una pagina di impostazioni e una superficie di aggiornamento in cambio dell’automazione di un file che nessuno ha confermato di leggere. Gli elenchi generati automaticamente tendono inoltre a riversare ogni articolo usando il riassunto come descrizione, e il risultato è un file lungo e indistinto: l’esatto contrario della mappa curata per cui il formato è nato. Se usi un plugin, sfoltisci ciò che produce.

Opzione 3: servirlo dal tema con un filtro

Se non puoi scrivere nella root del sito ma puoi mettere mano al codice, crea un piccolo mu-plugin in wp-content/mu-plugins/llms-txt.php che intercetta la richiesta e serve un file tenuto dentro il tema:

<?php
// wp-content/mu-plugins/llms-txt.php

add_action( 'init', function () {
	$path = parse_url( $_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH );

	if ( '/llms.txt' !== $path ) {
		return;
	}

	$file = get_stylesheet_directory() . '/llms.txt';

	if ( ! is_readable( $file ) ) {
		return;
	}

	header( 'Content-Type: text/plain; charset=utf-8' );
	readfile( $file );
	exit;
} );

Si usa un mu-plugin invece di functions.php perché così il file sopravvive al cambio di tema e agli aggiornamenti. Se proprio vuoi metterlo in functions.php, usa un tema child.

Verifica che venga davvero servito

Non darlo per scontato. Controlla il codice di stato e il tipo di contenuto:

curl -sI https://example.com/llms.txt

Devi ottenere 200 e Content-Type: text/plain. Due errori sono frequenti:

  • Ricevi un 200 ma il corpo è la tua pagina 404. WordPress si è mangiato la richiesta: il file non è dove pensi, oppure un plugin sta dirottando il percorso.
  • Ricevi Content-Type: text/html. Qualcosa lo sta passando attraverso il tema. Sistema l’intestazione prima di preoccuparti del contenuto.

Poi apri l’URL nel browser e leggilo. Se un link restituisce 404 o punta a http:// mentre il sito è in HTTPS, correggilo: una mappa rotta è peggio di nessuna mappa.

Cosa controlla davvero i crawler AI oggi

Se il tuo obiettivo reale è influenzare il modo in cui i sistemi AI trattano il sito, robots.txt è il file documentato, rispettato e in vigore adesso. GPTBot, ClaudeBot, PerplexityBot, CCBot e Google-Extended sono tutti user agent dichiarati con comportamento pubblicato, e il robots.txt decide se possono scaricare le tue pagine.

Quella è la leva con un meccanismo concreto dietro. Costruisci la tua con il generatore di robots.txt, che ti permette di consentire o bloccare esplicitamente ogni crawler AI invece di tirare a indovinare sulla sintassi. Sistema prima quello, poi aggiungi llms.txt come extra speculativo a basso costo.

Cosa non fare

Non bloccare i crawler AI nel robots.txt e pubblicare contemporaneamente un llms.txt. Capita per distrazione: un file invita il modello a entrare, l’altro gli chiude la porta in faccia. Vince la porta.

Non mettere llms.txt in una sottocartella. La convenzione prevede solo il livello root. Un file in /blog/llms.txt è un file che nessuno andrà a cercare.

Non incollarci dentro l’intera sitemap. Quattrocento link con riassunti generici sono uno scarico di crawl, non una mappa curata, e vanificano l’unico scopo dichiarato del formato. Dalle venti alle cinquanta pagine davvero utili è la dimensione giusta per la maggior parte dei siti.

Non rimandare il lavoro che conta per questo. Velocità delle pagine, HTML pulito, dati strutturati accurati e contenuti che le persone citano davvero sono fattori noti. Di llms.txt non si sa nulla di simile. Distribuisci gli sforzi di conseguenza.

FAQ

Domande

Cos'è llms.txt su WordPress?

È un semplice file markdown collocato nella root del sito e raggiungibile all'indirizzo tuosito.com/llms.txt, che elenca le pagine più utili con una riga di descrizione ciascuna. L'idea è che un modello linguistico leggendolo ottenga una mappa pulita dei contenuti invece di scansionare menu, banner pubblicitari e avvisi sui cookie.

Le aziende AI leggono davvero llms.txt?

Non esiste alcuna conferma pubblica da parte di OpenAI, Anthropic, Google o Perplexity sul fatto che scarichino o utilizzino llms.txt. Alcuni log di server mostrano richieste al file, ma una richiesta non equivale a un contenuto che influenza una risposta. Considera qualsiasi promessa di vantaggio dimostrato sul posizionamento come marketing senza fondamento.

Dove va messo llms.txt su un sito WordPress?

Nella root del dominio, nello stesso punto in cui sta il robots.txt, quindi l'URL è tuosito.com/llms.txt senza sottocartelle. Caricalo via SFTP accanto al file index.php di WordPress. WordPress serve direttamente i file reali perché le sue regole di riscrittura intercettano solo le richieste che non corrispondono a un file esistente.

llms.txt è la stessa cosa di robots.txt?

No. robots.txt è una convenzione consolidata che i crawler AI come GPTBot, ClaudeBot e PerplexityBot documentano e rispettano, e stabilisce se possono scaricare le tue pagine. llms.txt è una proposta non ratificata che si limita a suggerire cosa leggere. Uno è in vigore oggi, l'altro è un'ipotesi.

Aggiungere llms.txt aiuta la SEO o il posizionamento?

Non ci sono prove che influenzi il posizionamento su Google, e Google non ha dichiarato di usare il file. Pubblicarlo costa quasi nulla, quindi la ragione ragionevole per farlo è tenersi aperta un'opzione a basso costo, non un beneficio misurabile. Non mettere in secondo piano velocità delle pagine, dati strutturati o qualità dei contenuti per questo.

Meglio un plugin o un file statico per llms.txt?

Usa un file statico se le tue pagine migliori cambiano di rado, perché non aggiunge esecuzione PHP e non può rompersi. Usa un plugin se pubblichi spesso e vuoi che l'elenco si rigeneri da solo. Un plugin introduce una dipendenza e un po' di carico per un file che nessuno ha confermato di leggere, quindi parti dalla versione statica.