TL;DR Un login wall è un paywall agli occhi di Google: senza il markup
isAccessibleForFreeil contenuto resta invisibile o rischia di essere letto come cloaking. Ciò che resta dietro il login non viene citato dagli assistenti AI, perché i modelli citano solo quello che riescono a leggere. Pubblica dati prodotto, FAQ, guide e disponibilità; proteggi listini B2B e dati proprietari. Distingui i crawler di ricerca (OAI-SearchBot, PerplexityBot) dai crawler di training (GPTBot): ogni token in robots.txt è indipendente. llms.txt è opzionale e non garantisce citazioni: oggi lo adotta circa il 10% dei domini analizzati. Misura le citazioni, non solo il traffico: il KPI si è spostato dal click alla presenza nelle risposte.
Hai un sito WordPress con contenuti dietro login o membership e non capisci perché non compaiono su Google né vengono citati da ChatGPT o Perplexity. La buona notizia è che il problema è quasi sempre tecnico, non di merito. La cattiva è che finché non sistemi markup, robots.txt e struttura dei contenuti, nessun crawler potrà leggere quello che hai scritto.
Questa guida ti dà un percorso operativo: cosa rendere pubblico, cosa proteggere, come marcare i contenuti gated e come verificare i risultati.
Contenuti WordPress dietro login: perché Google e l'IA non li vedono
Partiamo dal punto che genera più confusione: Google tratta il login wall come un paywall. Anche se non chiedi soldi, ma solo una registrazione, per il motore di ricerca il contenuto è "a pagamento" ai fini dell'indicizzazione. Se non lo dichiari, il crawler vede una pagina vuota o un muro.
Ecco cosa succede davvero quando Googlebot arriva sulla tua pagina protetta:
- Senza markup: il contenuto non viene indicizzato, oppure viene letto come cloaking. Il cloaking è servire contenuti diversi ai bot e agli utenti: è una violazione delle spam policy e può portare a penalizzazioni.
- Con markup corretto: dichiari che il contenuto esiste ma è protetto. Google lo sa, lo indicizza in modo parziale e non ti penalizza.
La proprietà chiave si chiama isAccessibleForFree. È il modo standard per dire "questo contenuto non è liberamente accessibile". Non apre il contenuto, lo rende leggibile come metadato.
E gli assistenti AI? Citano solo ciò che riescono a scaricare. Se la pagina risponde con un redirect al login, per ChatGPT, Gemini o Perplexity quella pagina non esiste. Non c'è contenuto da citare, quindi non vieni raccomandato.
In sintesi: contenuti gated, membership WordPress e contenuto protetto non sono un problema in sé. Il problema è non dichiararli.
Cosa rendere pubblico e cosa proteggere (matrice decisionale)
La paura più comune è esporre dati sensibili. La soluzione non è chiudere tutto, ma separare ciò che attira dalla parte che monetizzi.
| Pubblico (indicizzabile) | Dietro login (protetto) |
|---|---|
| Descrizioni prodotto e schede tecniche | Listini B2B e prezzi all'ingrosso |
| Parametri, specifiche, varianti | Dati proprietari e formule interne |
| Disponibilità e tempi di consegna | Documentazione tecnica sensibile |
| FAQ e domande frequenti | Contratti e condizioni personalizzate |
| Guide, tutorial, casi studio | Materiali riservati ai clienti |
| Sitemap e file llms.txt | Area riservata e storico ordini |
La logica è semplice: l'AI indicizza l'attrattiva, non i listini. Un modello può citare il tuo prodotto come "soluzione adatta a X" senza mai vedere il tuo prezzo all'ingrosso. Quindi puoi tenere i prezzi B2B dietro il login e pubblicare tutto il resto.
Cosa devi assolutamente pubblicare? Le informazioni che rispondono a una domanda reale: cosa fa il prodotto, per chi è, quando è disponibile, come si usa. Sono esattamente i dati che finiscono nelle risposte generate.
Cosa puoi nascondere senza perdere visibilità? Prezzi riservati, dati interni, documenti contrattuali. Nessuno di questi elementi serve a un motore di risposta per citarti.
Passo 1 – Marcare i contenuti protetti con isAccessibleForFree
Qui passi dalla teoria alla pratica. Il markup va inserito in JSON-LD, nel <head> della pagina o subito prima del blocco protetto.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Titolo del contenuto protetto",
"isAccessibleForFree": false,
"hasPart": {
"@type": "WebPageElement",
"isAccessibleForFree": false,
"cssSelector": ".contenuto-riservato"
}
}
Tre cose da sapere:
isAccessibleForFree: falsedichiara che il contenuto non è libero.cssSelectorindica esattamente quale blocco è protetto. Utile se solo una parte della pagina è gated.- Non servire contenuto diverso a bot e utenti. Questo è il punto critico: se mostri il testo completo a Googlebot e il muro agli utenti, stai facendo cloaking.
Funziona con i plugin membership? Sì, ma quasi nessuno lo genera in automatico. Nella maggior parte dei casi devi aggiungere il markup a mano o tramite un plugin di structured data. Se sbagli selettore, il markup punta a un blocco inesistente e Google lo ignora.
Passo 2 – Configurare robots.txt e i crawler AI su WordPress
L'errore più frequente è bloccare "tutti i bot AI" con una regola unica. Così perdi visibilità senza accorgertene, perché ricerca e training sono cose diverse.
| Crawler | Scopo | Token robots.txt | Impatto se lo blocchi |
|---|---|---|---|
| Googlebot | Ricerca Google | Googlebot |
Fuori da Google |
| Bingbot | Ricerca Bing | Bingbot |
Fuori da Bing e Copilot |
| OAI-SearchBot | Ricerca ChatGPT | OAI-SearchBot |
Fuori dalle citazioni ChatGPT |
| PerplexityBot | Indice Perplexity | PerplexityBot |
Fuori dalle citazioni Perplexity |
| GPTBot | Training OpenAI | GPTBot |
Nessun impatto sulle citazioni |
| ClaudeBot | Training Anthropic | ClaudeBot |
Nessun impatto sulle citazioni |
| Google-Extended | Controllo training Gemini | Google-Extended |
Nessun impatto sulla ricerca |
Due avvertenze importanti:
- ChatGPT-User e Perplexity-User ignorano robots.txt. Sono fetch avviati dall'utente: il controllo va fatto a livello WAF o IP, non con robots.txt.
- Google-Extended non è uno user-agent reale. Il traffico arriva da Googlebot: è un token di controllo, non un crawler separato. Questo dato non è confermabile da una fonte primaria, quindi trattalo come indicazione operativa, non come certezza.
Esempio di robots.txt per WordPress:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
Sitemap: https://tuosito.it/sitemap.xml
Bloccare GPTBot ti toglie da ChatGPT? No. Le citazioni in ChatGPT Search dipendono da OAI-SearchBot. Sono token indipendenti: puoi dire no al training e sì alla ricerca.
Passo 3 – Pubblicare contenuti "a prova di citazione"
Avere il contenuto leggibile è il prerequisito. Ora serve renderlo citabile. I formati che funzionano meglio:
- Risposte brevi e dirette all'inizio della sezione, poi l'approfondimento.
- FAQ con domande reali dei clienti.
- Confronti tra opzioni, con criteri chiari.
- Dati unici che non trovi altrove.
- Freschezza: contenuti aggiornati negli ultimi 12 mesi.
Sul lato tecnico, usa schema.org con Product, Offer e FAQPage, e dichiara availability: InStock quando il prodotto è disponibile. Sono i segnali che i modelli leggono per capire se sei una risposta valida.
E llms.txt? È una mappa curatoriale dei tuoi contenuti principali, distinta da robots.txt e sitemap.xml. Non è uno standard adottato: solo il 10,13% dei domini analizzati lo usa e non emerge alcuna correlazione con la frequenza di citazione. Se vuoi capire meglio come funziona la mappa llms.txt, pubblicala pure, ma non aspettarti citazioni solo per questo.
Qui entra in gioco Semly: la piattaforma genera dati strutturati (llms.txt, JSON-LD) e si integra con WordPress e WooCommerce via API, così non devi scrivere markup a mano per ogni pagina. In più monitora i prompt reali e le fonti citate, per capire quali contenuti vengono ripresi.
Passo 4 – Verificare e misurare (punti di controllo)
Pubblicare non basta: serve un controllo periodico. Ecco la checklist:
- Search Console: il contenuto compare tra le pagine indicizzate?
- Rich Results Test: il markup
isAccessibleForFreeè valido e senza errori? - Prompt reali: cerca il tuo brand nelle risposte AI e verifica se vieni citato.
- Mention Rate vs Citation Rate: quante volte vieni nominato rispetto a quante volte vieni linkato come fonte.
- SOV: la tua quota di voce rispetto ai concorrenti sulle query di settore.
Segnali di errore da non ignorare: contenuto non indicizzato, markup assente, zero citazioni dopo settimane.
Quanto tempo serve? Non esistono benchmark ufficiali per i contenuti gated. La stima realistica è "giorni, non ore": Google dichiara genericamente diversi giorni per il re-crawl. Se dopo qualche settimana non vedi nulla, il problema è quasi sempre tecnico.
Errori comuni e come rimediare
- Bloccare tutti i bot AI. Perdi visibilità senza guadagnare nulla. Rimedio: blocca solo i crawler di training, lascia passare quelli di ricerca.
- Nessun markup sul contenuto gated. Rischio cloaking. Rimedio: aggiungi
isAccessibleForFree: falseconcssSelector. noindexsu pagine pubbliche. Le escludi dalla ricerca per errore. Rimedio: controlla i meta tag e le impostazioni del plugin SEO.- llms.txt aspettandosi citazioni. Non è uno standard e non porta benefici misurabili. Rimedio: trattalo come mappa opzionale, non come strategia.
- Ignorare GDPR e AI Act. L'opt-out TDM deve essere machine-readable (art. 4 Direttiva 2019/790), l'art. 53 dell'AI Act impone obblighi di trasparenza sui dati di training e la legge italiana 132/2025 estende il TDM ai modelli generativi. Rimedio: dichiara le tue condizioni in modo leggibile dalle macchine.
Cosa fare adesso (e cosa viene dopo)
La sequenza è questa:
- Audit dei contenuti: elenca cosa è pubblico e cosa è gated.
- Markup: aggiungi
isAccessibleForFreesulle pagine protette. - robots.txt: distingui ricerca e training, lascia passare i crawler di ricerca.
- Contenuti citabili: risposte brevi, FAQ, dati strutturati, freschezza.
- Misurazione: monitora citazioni, Mention Rate e SOV.
Se sei B2B con listini sensibili, proteggi i prezzi e pubblica tutto il resto. Se sei un publisher, valuta il flexible sampling: Google raccomanda 6-10 articoli al mese accessibili da ricerca, con un paywall che non superi il 10% delle visualizzazioni.
Un esempio concreto: nel caso Ofertoland, il whitelisting di GPTBot sul catalogo (non solo sulla homepage) ha portato a un aumento del 980% della visibilità. Non è una promessa, è un caso documentato: la differenza l'ha fatta rendere leggibile ciò che prima era chiuso.
Quando passare a una piattaforma GEO/AEO come Semly? Quando vuoi smettere di andare a tentoni. Semly fa l'audit dei contenuti, monitora come il tuo brand appare nelle risposte AI e ti dice quali pagine generano citazioni. È il passo naturale dopo aver sistemato markup e robots.txt.
FAQ
I contenuti dietro login vengono indicizzati da Google?
Sì, se usi il markup corretto. Senza isAccessibleForFree, il contenuto resta invisibile o rischia di essere letto come cloaking.
Come bloccare GPTBot su WordPress?
Aggiungi una regola User-agent: GPTBot con Disallow: / nel robots.txt. Ricorda che questo non ti rimuove da ChatGPT Search, che dipende da OAI-SearchBot.
llms.txt serve davvero? È opzionale. Lo adotta circa il 10% dei domini analizzati e non mostra correlazione con le citazioni AI. Non è uno standard adottato. Per approfondire puoi leggere questa analisi sulla mappa llms.txt.
Quanto tempo serve per vedere risultati? Non ci sono benchmark ufficiali per i contenuti gated. In pratica parliamo di giorni, non di ore. Se dopo settimane non cambia nulla, ricontrolla markup e robots.txt.