llms.txt + AEO Schema per WooCommerce — Guida completa
Installare e configurare il plugin llms.txt + AEO Schema: endpoint llms.txt multilingue, arricchimento Schema.org anti-allucinazioni e FAQ orientata agli agenti IA.
Panoramica
Il plugin DataFirefly llms.txt + AEO Schema rende il tuo negozio WooCommerce visibile e correttamente compreso dagli agenti IA (ChatGPT, Claude, Perplexity, Gemini). Combina due meccanismi complementari:
- Un endpoint /llms.txt dinamico conforme allo standard llmstxt.org, generato dal tuo catalogo con cache per lingua.
- Un arricchimento dello schema Product di WooCommerce con gli attributi anti-allucinazioni che gli agenti cercano: marca, GTIN, materiali, compatibilità, politiche di reso e spedizione, più uno schema FAQPage separato orientato agli agenti.
Requisiti
- WordPress 6.2 o superiore
- WooCommerce 8.0 o superiore (testato fino alla 9.4)
- PHP 8.0 o superiore
- Opzionale: Polylang o WPML per la generazione multilingue
Installazione
- Scarica l’archivio
dfllmstxtaeo.zipdal tuo account DataFirefly. - Nell’admin di WordPress, vai su Plugin → Aggiungi nuovo → Carica plugin, seleziona lo ZIP e clicca su Installa ora.
- Attiva il plugin. La rewrite rule per
/llms.txtviene registrata e i permalink vengono aggiornati automaticamente all’attivazione. - Verifica che
https://tuosito.tld/llms.txtrisponda. In caso di 404, vai su Impostazioni → Permalink e clicca su Salva modifiche per forzare un flush delle regole.
Impostazioni generali
La pagina di configurazione si trova in WooCommerce → llms.txt + AEO. In alto mostra l’URL del tuo llms.txt con un link diretto di anteprima.
Servire /llms.txt
Quattro interruttori controllano le funzioni principali: l’endpoint llms.txt, l’arricchimento dello schema prodotto, l’output dello schema FAQPage e la specifica Speakable. Tutto è attivo per impostazione predefinita.
Contenuto del llms.txt
- Includere prodotti / pagine / articoli: scegli quali sezioni vengono generate.
- Massimo prodotti: da 1 a 1000 (200 predefinito). I prodotti più recenti compaiono per primi.
- Durata della cache: in minuti, 0 per disattivarla. La cache viene comunque svuotata automaticamente a ogni modifica di prodotto, pagina o impostazione.
- Paragrafo introduttivo: testo libero (testo semplice o markdown) inserito dopo la descrizione del sito.
Valori predefiniti dello schema
- Nome marca predefinito: usato quando un prodotto non ha una marca propria.
- Paese del venditore (ISO-2): lascialo vuoto per usare il paese base di WooCommerce.
- Finestra di reso predefinita: in giorni, alimenta hasMerchantReturnPolicy.
- Costi di reso: reso gratuito, il cliente paga la spedizione, o il cliente paga tutti i costi.
L’endpoint /llms.txt
Il file viene servito con le intestazioni Content-Type: text/markdown; charset=utf-8 e X-Robots-Tag: noindex (punta ai crawler IA, non all’indice di Google). Sezioni generate: categorie di prodotti, prodotti (titolo, URL, prezzo, descrizione breve), pagine, articoli, e i link alla privacy policy e ai termini configurati in WordPress e WooCommerce.
Come funziona la cache
Il contenuto viene memorizzato in un transient per lingua (dfllmstxtaeo_llms_cache_{lang}). Viene invalidato automaticamente sugli hook save_post_product, save_post_page, deleted_post e a ogni salvataggio delle impostazioni del plugin.
Multilingue
Polylang e WPML vengono rilevati automaticamente. Ogni lingua ottiene il proprio llms.txt servito sotto il proprio prefisso URL (ad esempio /it/llms.txt secondo la tua configurazione Polylang), con cache indipendente. Senza plugin multilingue, viene usata la locale di WordPress.
La scheda AEO Schema sui prodotti
Ogni prodotto guadagna una scheda AEO Schema nel pannello dati di WooCommerce (Prodotto → Modifica).
Campi disponibili
- Marca: sostituisce la marca globale per questo prodotto. In alternativa, il plugin cerca un attributo
pa_brandobrand. - GTIN / EAN / UPC: 8, 12, 13 o 14 cifre. La proprietà
gtin8/12/13/14corrispondente viene aggiunta automaticamente in base alla lunghezza. - MPN: codice del produttore.
- Materiali: separati da virgole (es. «pelle, cotone riciclato»). Un solo materiale produce una stringa, più materiali producono un array.
- Compatibile con: un elemento per riga. Ogni riga diventa una voce
isRelatedTodi tipo Product.
FAQ orientata agli agenti IA
Sotto i campi, la sezione FAQ orientata agli agenti permette di aggiungere coppie domanda/risposta brevi e fattuali (compatibilità esatta, dimensioni, ingredienti, certificazioni). Alimentano uno schema FAQPage JSON-LD separato, emesso solo sulle pagine prodotto che hanno almeno una voce. Questa FAQ è invisibile lato cliente: non viene mostrata nel tema, esiste unicamente per gli agenti.
Scrivi le risposte come fatti verificabili, non come argomenti di vendita. Un agente che legge «compatibile con i modelli X, Y e Z» citerà esattamente quei modelli; un agente che legge «compatibile con la maggior parte dei dispositivi» inventerà l’elenco.
Campi Schema.org aggiunti
Sull’oggetto Product: brand, gtin (+ gtin8/12/13/14), mpn, material, color, size, weight, height, width, depth (QuantitativeValue con le unità di WooCommerce), isRelatedTo, speakable. Su ogni Offer: seller (Organization con il nome e l’URL del sito), hasMerchantReturnPolicy (paese, finestra in giorni, tipo di costo), shippingDetails (destinazione, deliveryTime con handlingTime di 0-1 giorno e transitTime di 1-5 giorni).
I campi color e size vengono ripresi automaticamente dagli attributi pa_color / color e pa_size / size quando presenti. Peso e dimensioni provengono dai campi di spedizione nativi del prodotto.
Compatibilità con i plugin SEO
Il plugin agisce esclusivamente tramite il filtro nativo woocommerce_structured_data_product, che tocca solo il JSON-LD generato da WooCommerce stesso. Yoast SEO, RankMath e SEO Press emettono i loro blocchi in modo indipendente tramite wp_head: nessuna collisione. I valori già presenti nello schema di WooCommerce vengono conservati.
Hook per sviluppatori
dfllmstxtaeo_llms_output: filtra il contenuto finale del llms.txt. Argomenti: il contenuto (string) e il codice lingua.dfllmstxtaeo_product_schema: filtra l’array dello schema arricchito prima dell’output. Argomenti: l’array di markup e l’oggetto WC_Product.
add_filter( 'dfllmstxtaeo_product_schema', function ( $markup, $product ) {
$markup['award'] = 'Premio design 2026';
return $markup;
}, 10, 2 );
Risoluzione dei problemi
- /llms.txt restituisce un 404: risalva i permalink (Impostazioni → Permalink → Salva modifiche).
- Il file non riflette una modifica recente: la cache si svuota alla modifica, ma puoi forzarla impostando temporaneamente la durata della cache a 0, o risalvando le impostazioni.
- Il FAQPage non appare: verifica che il prodotto abbia almeno una coppia domanda/risposta completa e che l’opzione «Emetti schema FAQPage» sia attiva.
- Validare lo schema: testa un URL prodotto con il validatore schema.org o lo strumento Rich Results di Google per ispezionare il JSON-LD completo.