llms.txt per WordPress: Guida Pratica all’Ottimizzazione per Motori AI [2026]

16 giugno 202610 minSEO
In breveAI

Il file llms.txt è uno standard emergente che aiuta i motori AI come ChatGPT a comprendere i contenuti dei siti WordPress, fornendo un indice strutturato con metadati sulla citabilità e le pagine più importanti. Implementarlo può aumentare le citazioni AI e migliorare la visibilità del tuo sito. In meno di 30 minuti, puoi ottimizzare il tuo sito per i motori AI.

Se il tuo sito WordPress non ha ancora un file llms.txt, i motori AI come ChatGPT, Perplexity e Gemini probabilmente ignorano i tuoi contenuti. Non perché siano irrilevanti — ma perché nessuno ha detto loro dove guardare e cosa si può citare.

Il file llms.txt è uno standard emergente che risolve esattamente questo problema: fornisce ai Large Language Model un indice strutturato dei tuoi contenuti, con metadati sulla citabilità, l’autorità del dominio e le pagine più importanti.

TL;DR
llms.txt è per i motori AI quello che sitemap.xml è per Google. Implementarlo su WordPress richiede meno di 30 minuti. Senza di esso, stai cedendo traffico AI ai competitor che l’hanno già.

Cos’è llms.txt e Perché Esiste

Lo standard llms.txt è stato proposto nel 2024 da Answer.AI (Jeremy Howard) come soluzione al problema della context window nei RAG pipeline: quando un motore AI deve rispondere a una domanda cercando fonti sul web, ha bisogno di capire rapidamente quali pagine di un dominio sono rilevanti e affidabili.

Il file si posiziona all’URL /llms.txt (root del dominio) e contiene:

  • Una descrizione del sito e del suo focus tematico
  • Link alle pagine più importanti con titolo e descrizione breve
  • Indicazioni su cosa il sito autorizza per la citazione
  • Link a versioni Markdown/testo puro dei contenuti (llms-full.txt)

A differenza di robots.txt che dice “non toccare questo”, llms.txt dice “ecco cosa sono, ecco i miei contenuti migliori, citami pure”. È un invito esplicito all’indicizzazione semantica.

Nella nostra esperienza con la gestione di siti WordPress per agenzie, abbiamo osservato un aumento significativo delle citazioni AI nei mesi successivi all’implementazione di llms.txt su siti con contenuto tecnico di qualità.

La Struttura del File llms.txt

Il formato è Markdown standard. Ecco la struttura canonica:

# Nome del Sito

> Descrizione breve del sito (1-2 frasi). Chi siete, cosa fate.

Testo più lungo opzionale con contesto aggiuntivo.

## Sezione Principale

- [Titolo Pagina](/url): Breve descrizione del contenuto (1 frase)
- [Altra Pagina](/url): Cosa tratta, per chi è utile

## Sezione Secondaria

- [Pagina](/url): Descrizione

## Opzionale

- [llms-full.txt](/llms-full.txt): Versione completa di tutto il contenuto del sito

La semplicità è intenzionale: i LLM processano questo file in pochi token e ottengono immediatamente un mappa navigabile del sito.

Esempio Reale: AgencyPilot

# AgencyPilot

> Piattaforma SaaS per la gestione di siti WordPress multipli con automazione AI. Sviluppata da Juan Camilo Auriti, WordPress developer con 15 anni di esperienza.

AgencyPilot permette alle agenzie WordPress di gestire decine di siti clienti da un'unica dashboard, con report automatici generati da Claude API, monitoraggio uptime, security scanning e portale clienti white-label.

## Guide Tecniche

- [Gestione Multi-Sito WordPress](/blog/gestione-siti-wordpress-agenzie-guida-completa): Come gestire 50+ siti WordPress con un'unica dashboard
- [Sicurezza WordPress per Agenzie](/blog/sicurezza-wordpress-guida-agenzie): Hardening, scansioni automatiche e risposta agli incidenti
- [Performance e Core Web Vitals](/blog/performance-wordpress-core-web-vitals-agenzie): Ottimizzazione tecnica per siti ad alto traffico

## Automazione AI

- [Claude API su WordPress](/blog/wordpress-rest-api-endpoint-personalizzati-guida): Integrazione pratica con esempi PHP
- [Report Automatici con AI](/blog/automatizzare-gestione-wordpress-scalare-agenzia): Come automatizziamo i report mensili

## Strumenti

- [llms-full.txt](/llms-full.txt): Contenuto completo del blog in formato testo

Implementazione su WordPress: 3 Metodi

Esistono tre approcci per implementare llms.txt su WordPress, in ordine crescente di complessità e controllo.

Metodo 1: File Statico nella Root (Più Semplice)

Il metodo più diretto: carica il file via FTP o SSH nella root del sito.

# Via SSH
ssh utente@tuoserver.com
nano /var/www/html/llms.txt
# Incolla il contenuto, salva con Ctrl+X

Vantaggi: zero overhead, nessun plugin, massima velocità di risposta. Svantaggi: aggiornamento manuale ogni volta che il sito cambia.

Metodo 2: Generazione Dinamica via functions.php

Genera llms.txt dinamicamente, includendo automaticamente gli ultimi post.

// In functions.php o in un plugin custom
add_action('init', 'registra_rewrite_llms_txt');
add_filter('query_vars', 'aggiungi_query_var_llms');
add_action('template_redirect', 'servi_llms_txt');

function registra_rewrite_llms_txt() {
    add_rewrite_rule('^llms\.txt$', 'index.php?llms_txt=1', 'top');
}

function aggiungi_query_var_llms($vars) {
    $vars[] = 'llms_txt';
    return $vars;
}

function servi_llms_txt() {
    if (!get_query_var('llms_txt')) return;

    header('Content-Type: text/plain; charset=utf-8');
    
    $site_name = get_bloginfo('name');
    $site_desc = get_bloginfo('description');
    
    echo "# {$site_name}\n\n";
    echo "> {$site_desc}\n\n";
    
    // Articoli recenti per categoria
    $categorie = [
        'Guide' => 16,
        'Automazione AI' => 14,
        'Sicurezza' => 19,
        'SEO e GEO' => 20,
    ];
    
    foreach ($categorie as $nome => $cat_id) {
        $posts = get_posts([
            'category'    => $cat_id,
            'numberposts' => 5,
            'post_status' => 'publish',
        ]);
        
        if (empty($posts)) continue;
        
        echo "\n## {$nome}\n\n";
        
        foreach ($posts as $post) {
            $url     = get_permalink($post->ID);
            $titolo  = $post->post_title;
            $excerpt = wp_trim_words(
                $post->post_excerpt ?: $post->post_content,
                15,
                ''
            );
            echo "- [{$titolo}]({$url}): {$excerpt}\n";
        }
    }
    
    echo "\n## Contenuto Completo\n\n";
    echo "- [llms-full.txt](/llms-full.txt): Tutti gli articoli in formato testo\n";
    
    exit;
}

// Flush rewrite rules solo al primo run o dopo aggiornamenti
function flush_rules_llms() {
    registra_rewrite_llms_txt();
    flush_rewrite_rules();
}
register_activation_hook(__FILE__, 'flush_rules_llms');

Dopo aver aggiunto questo codice, vai su Impostazioni → Permalink e clicca “Salva impostazioni” per aggiornare le rewrite rules. Il file sarà disponibile su https://tuodominio.com/llms.txt.

Metodo 3: Generazione con WP-CLI + Cron

Per siti con molti contenuti, genera il file periodicamente con WP-CLI e salvalo come file statico — meglio delle due soluzioni precedenti.

// Comando WP-CLI custom: genera-llms-txt
// Salva in wp-content/mu-plugins/llms-generator.php

if (!defined('WP_CLI') || !WP_CLI) return;

WP_CLI::add_command('llms genera', function() {
    $output  = "# " . get_bloginfo('name') . "\n\n";
    $output .= "> " . get_bloginfo('description') . "\n\n";
    
    $posts = get_posts([
        'numberposts' => 50,
        'post_status' => 'publish',
        'orderby'     => 'modified',
    ]);
    
    $per_categoria = [];
    foreach ($posts as $post) {
        $cats = get_the_category($post->ID);
        if (empty($cats)) continue;
        $cat_name = $cats[0]->name;
        $per_categoria[$cat_name][] = $post;
    }
    
    foreach ($per_categoria as $cat => $cat_posts) {
        $output .= "\n## {$cat}\n\n";
        foreach (array_slice($cat_posts, 0, 8) as $p) {
            $excerpt = wp_trim_words($p->post_excerpt ?: $p->post_content, 15, '');
            $output .= "- [{$p->post_title}](" . get_permalink($p) . "): {$excerpt}\n";
        }
    }
    
    $path = ABSPATH . 'llms.txt';
    file_put_contents($path, $output);
    WP_CLI::success("llms.txt generato: {$path}");
});
# Cron job: rigenera ogni giorno alle 2:00
0 2 * * * /usr/local/bin/wp --path=/var/www/html llms genera --allow-root

llms-full.txt: Il File Opzionale che Fa la Differenza

Il file llms-full.txt contiene tutto il contenuto del sito in formato testo/Markdown, concatenato. È pensato per i casi in cui un LLM ha bisogno di fare una ricerca approfondita senza dover fare scraping di ogni pagina singolarmente.

// Genera llms-full.txt con tutti gli articoli
add_action('save_post', 'rigenera_llms_full', 10, 2);

function rigenera_llms_full($post_id, $post) {
    if ($post->post_status !== 'publish') return;
    if ($post->post_type !== 'post') return;
    
    // Evita loop su autosave
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
    
    $posts = get_posts([
        'numberposts' => -1,
        'post_status' => 'publish',
        'orderby'     => 'date',
        'order'       => 'DESC',
    ]);
    
    $output = '';
    foreach ($posts as $p) {
        $output .= "# {$p->post_title}\n\n";
        $output .= "URL: " . get_permalink($p->ID) . "\n";
        $output .= "Data: " . get_the_date('Y-m-d', $p->ID) . "\n\n";
        
        // Rimuove shortcode e tag HTML
        $content = apply_filters('the_content', $p->post_content);
        $content = wp_strip_all_tags($content);
        $output .= $content . "\n\n---\n\n";
    }
    
    file_put_contents(ABSPATH . 'llms-full.txt', $output);
}

Attenzione: su siti con centinaia di articoli, questa funzione può essere lenta. Sposta la generazione in un job asincrono o usa un sistema di automazione per triggherarla fuori dagli orari di picco.

Ottimizzare i Contenuti per la Citabilità AI

Implementare llms.txt è necessario ma non sufficiente. I motori AI citano contenuti che rispettano determinati pattern strutturali. Nella nostra esperienza diretta con GEO Optimizer, questi sono i fattori che impattano di più sul citability score:

1. Definizioni Chiare nei Primi 100 Parole

I LLM cercano definizioni precise quando rispondono a query tipo “cos’è X”. Se il tuo articolo non definisce il concetto entro le prime 100 parole, un altro sito che lo fa verrà citato al tuo posto.

2. Struttura Tabellare per Confronti

Le tabelle sono estratte facilmente dai modelli. Se confronti tecnologie, plugin, approcci — usa <table>. Non prose comparativa.

3. Risposte Dirette agli H2

Ogni H2 dovrebbe poter funzionare come risposta standalone a una domanda implicita. Un buon test: rileggilo senza il contesto dell’articolo. Ha senso? Risponde a qualcosa?

4. Numeri Specifici con Fonte

“Velocità migliorata” non viene citato. “Riduzione del 43% del TTFB dopo l’implementazione della cache a livello oggetto (fonte: test interni su 12 siti, luglio 2025)” viene citato.

Puoi misurare il citability score del tuo sito con GEO Optimizer, il toolkit Python open source che abbiamo sviluppato per analizzare e migliorare la visibilità nei motori AI.

Verifica che llms.txt Funzioni

Dopo l’implementazione, verifica con questi controlli:

# 1. Il file è accessibile pubblicamente?
curl -I https://tuodominio.com/llms.txt
# Deve rispondere 200 OK con Content-Type: text/plain

# 2. Il contenuto è corretto?
curl https://tuodominio.com/llms.txt | head -30

# 3. È indicizzato da Perplexity?
# Cerca: site:tuodominio.com llms.txt su Perplexity
# (richiede qualche giorno per la prima indicizzazione)

# 4. Validazione formato
# Usa il validatore ufficiale: https://llmstxt.org/validator

Errori Comuni da Evitare

  • URL relativi invece di assoluti: alcuni crawler AI non gestiscono bene i path relativi. Usa URL assoluti (https://tuodominio.com/blog/articolo) quando possibile.
  • File troppo grande: llms.txt dovrebbe essere max 10-15KB. Oltre quella soglia, molti LLM troncano. Usa llms-full.txt per il contenuto completo.
  • Descrzioni troppo vaghe: “Articolo interessante su WordPress” non aiuta. “Come configurare object cache Redis su WordPress con WP-CLI” sì.
  • Aggiornamento infrequente: un file fermo al 2023 segnala contenuto stale. Rigenera almeno ogni settimana.

Integrazione con il SEO Tradizionale

L’implementazione di llms.txt non sostituisce il SEO classico — lo completa. La strategia ottimale per siti WordPress ad alto traffico combina:

Layer File/Tool Target
Crawlability robots.txt Googlebot, Bingbot
Indexability sitemap.xml Tutti i motori di ricerca
AI Discovery llms.txt ChatGPT, Perplexity, Gemini
AI Content llms-full.txt LLM con context window ampia
Structured Data Schema JSON-LD Google AI Overviews, SGE

Tutti questi livelli devono essere coerenti. Se llms.txt linka un articolo e robots.txt blocca il suo crawler, il risultato è confusione — non visibilità.

Per una strategia SEO completa, leggi anche la nostra guida su performance e Core Web Vitals per agenzie — la velocità del sito impatta direttamente sulla probabilità che i crawler AI completino l’indicizzazione.

Automazione con AgencyPilot

Se gestisci più siti WordPress, rigenera llms.txt manualmente per ognuno è impraticabile. Nella prossima release di AgencyPilot, stiamo integrando la generazione automatica di llms.txt come parte del modulo SEO/GEO — ogni volta che un nuovo articolo viene pubblicato su uno dei siti gestiti, il file viene aggiornato automaticamente via WordPress REST API.

Il codice base si appoggia sullo stesso approccio del sistema di automazione REST API che usiamo già per i report clienti.

FAQ

llms.txt è uno standard ufficiale?

È una proposta di standard open source, non un RFC o uno standard W3C. Tuttavia è già supportato da molti crawler AI (Perplexity, You.com, Kagi) e il sito llmstxt.org tiene traccia dei siti che lo adottano. L’adozione è cresciuta rapidamente nel 2024-2025.

llms.txt funziona anche per ChatGPT e Google?

ChatGPT Search lo supporta per il web browsing in tempo reale. Google non ha ancora dichiarato supporto ufficiale per llms.txt, ma i crawler Googlebot visitano il file. Per Google AI Overviews, lo schema JSON-LD rimane il segnale più forte.

Quanto tempo ci vuole prima di vedere risultati?

Perplexity indicizza llms.txt in 3-7 giorni su siti già noti. Per siti nuovi o a bassa autorità, possono servire 4-6 settimane. Monitora con query tipo “secondo [tuodominio.com]” su Perplexity per verificare le citazioni.

Devo includere tutti gli articoli o solo i migliori?

Includi i 40-80 contenuti più rilevanti e di qualità. Non tutto. I LLM danno più peso ai siti che presentano contenuti curati rispetto a quelli che listano tutto indiscriminatamente. Qualità > quantità.

llms.txt può danneggiare il SEO tradizionale?

No. I motori di ricerca tradizionali ignorano il file o lo trattano come contenuto testuale normale. Non c’è nessun rischio di penalizzazione. Il rischio è solo non implementarlo e cedere citazioni AI ai competitor che l’hanno fatto.


Gestisci i siti WordPress dei tuoi clienti?

AgencyPilot ti dà report AI, uptime monitoring, backup e portale clienti in un’unica dashboard. Gratis per 3 siti.

Prova gratis
Leggi anche
Tutti gli articoli
Tutti gli articoli