Come l'AI legge questa pagina
ChatGPT, Claude, Gemini e Perplexity non guardano colori, immagini e animazioni. Ricevono testo, titoli, link e dati strutturati. Qui sotto trovi esattamente quello che leggono quando aprono «Sito in JavaScript: ChatGPT vede i tuoi contenuti? Come verificarlo».
L'AI riceve 1.679 parole divise in 8 sezioni, 10 link e 3 blocchi di dati strutturati.
Testo
Il contenuto della pagina in Markdown, senza menu né grafica. È il formato più vicino a come un modello linguistico legge un testo.
# Sito in JavaScript: ChatGPT vede i tuoi contenuti? Come verificarlo > ChatGPT, Claude e Perplexity non eseguono JavaScript. Scopri come verificare in 5 controlli cosa vedono del tuo sito e cosa sistemare per primo. URL: https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo Lingua: italiano Versione EN: https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo Autore: Rinald Sefa, CMO Geosnap · Categoria: Guide Editore: Geosnap (Maind Group S.r.l.), https://geosnap.ai ## In breve Probabilmente no, se testi, prezzi o recensioni vengono caricati con JavaScript: i crawler di ChatGPT, Claude e Perplexity leggono solo l'HTML che arriva dal server. Google invece esegue JavaScript, per questo un sito può comparire in AI Mode e non in ChatGPT. La soluzione è avere i contenuti essenziali già nell'HTML iniziale. - I crawler di OpenAI, Anthropic e Perplexity scaricano l'HTML ma non eseguono JavaScript. - Google AI Overviews e AI Mode usano l'indice di Google, che invece elabora JavaScript. - Il codice sorgente della pagina (Ctrl+U) è il modo più rapido per vedere cosa legge un crawler AI. - Prezzi, recensioni, FAQ e schede prodotto caricati via JavaScript sono i contenuti più a rischio. - Non serve rifare il sito: basta servire dal server l'HTML delle pagine che contano. Scritto dall'agente AI di Geosnap, rivisto e approvato da Rinald Sefa. Apri una pagina del tuo sito, poi apri il codice sorgente con Ctrl+U (Cmd+Opt+U su Mac). Se il testo che leggi nella pagina non compare nel sorgente, quei contenuti vengono caricati con JavaScript dopo l'apertura. Per Google spesso non è un problema. Per ChatGPT, Claude e Perplexity sì: le prove pubblicate finora dicono che i loro crawler leggono l'HTML così come arriva dal server e non eseguono il codice. In questa guida vedi come verificarlo in pochi minuti e cosa sistemare per primo. ## Perché i crawler AI non vedono i contenuti caricati con JavaScript? I crawler AI scaricano la pagina ma non la "eseguono" come farebbe un browser: leggono l'HTML iniziale e si fermano lì. Se prezzi, descrizioni o recensioni arrivano solo dopo che uno script ha chiamato un'API, per loro quella parte della pagina è vuota. Il dato più citato viene da un'[analisi di Vercel e MERJ](https://vercel.com/blog/the-rise-of-the-ai-crawler) sul traffico reale dei crawler nella rete di Vercel. Nessuno dei principali crawler AI misurati esegue JavaScript: GPTBot, OAI-SearchBot e ChatGPT-User di OpenAI, ClaudeBot di Anthropic, PerplexityBot e altri. Alcuni scaricano i file JavaScript senza eseguirli: l'11,5% delle richieste di ChatGPT e il 23,8% di quelle di Claude riguardavano file .js, mai eseguiti. Lo stesso studio ha misurato un'altra cosa utile: il 34,8% delle richieste di ChatGPT e il 34,2% di quelle di Claude finivano su pagine 404, contro l'8,2% di Googlebot. Molti errori riguardavano risorse statiche vecchie. Tradotto: i crawler AI sono meno precisi di Google e perdono facilmente quello che non trovano subito. L'analisi di Vercel è di dicembre 2024, ma i test più recenti la confermano. A gennaio 2026 [Resoneo ha costruito una pagina di prova](https://think.resoneo.com/sentinel/geo-llm-crawler-report.html) con 15 modi diversi di inserire un testo, dall'HTML statico agli script con ritardo, e ha chiesto a ogni assistente di visitarla. ChatGPT e Claude hanno letto l'HTML statico e il contenuto nel tag `noscript`, ma nulla di quanto inserito via JavaScript. ## Google sì, ChatGPT no: chi legge cosa La differenza principale è tra Google e tutti gli altri. Google esegue JavaScript da anni: a marzo 2026 ha [rimosso dalla sua documentazione](https://developers.google.com/search/updates) una sezione sull'accessibilità dei siti JavaScript perché la considerava superata. Come nota [Search Engine Journal](https://www.searchenginejournal.com/google-removes-javascript-seo-warning-says-its-outdated/568829/), però, questo vale per Google: altri motori e crawler possono non elaborare le pagine allo stesso modo. | Motore AI | Esegue JavaScript? | Da dove prende il contenuto | | --- | --- | --- | | Google AI Overviews e AI Mode | Sì, tramite Google | Dall'indice di Google Search, costruito da Googlebot che esegue JavaScript | | Gemini | Dipende | Usa l'infrastruttura di Googlebot, che esegue JavaScript; nel test di Resoneo la visita "dal vivo" su richiesta dell'utente non lo eseguiva | | ChatGPT | No | HTML iniziale letto da OAI-SearchBot, GPTBot e ChatGPT-User | | Claude | No | HTML iniziale letto da ClaudeBot e dagli altri agenti di Anthropic | | Perplexity | No | HTML iniziale letto da PerplexityBot | | Microsoft Copilot | In parte | Nel test di Resoneo eseguiva JavaScript, ma con un tempo di attesa molto breve | Questo spiega un caso frequente: un sito che compare in Google AI Mode e quasi mai in ChatGPT. Se i contenuti chiave arrivano via JavaScript, Google li vede e ChatGPT no. Nel test di Resoneo, inoltre, nessun assistente ha letto contenuti comparsi dopo circa 2 secondi. ## Come capire se l'AI vede i tuoi contenuti: 5 controlli Bastano pochi controlli per sapere se hai un problema. Falli sulle pagine che contano di più: home, pagine dei servizi, schede prodotto, prezzi. 1. **Confronta sorgente e pagina.** Apri il codice sorgente (non "Ispeziona", che mostra la pagina già elaborata) e cerca con Ctrl+F una frase importante: il nome di un servizio, un prezzo, una recensione. Se non c'è, un crawler AI non la vede. 2. **Disattiva JavaScript nel browser.** Nelle impostazioni del sito in Chrome puoi bloccare JavaScript e ricaricare la pagina. Quello che resta è vicino a ciò che legge ChatGPT. 3. **Scarica la pagina come un crawler.** Da terminale, `curl -A "GPTBot" https://example.com/servizi` restituisce l'HTML grezzo. Se il risultato è quasi vuoto, con un solo contenitore e tanti script, il sito dipende da JavaScript. 4. **Fai una prova con l'assistente.** Chiedi a ChatGPT di aprire una pagina e di riportare un dettaglio preciso, per esempio il prezzo di un servizio. Attenzione: a volte l'assistente ricostruisce il contenuto dall'indirizzo invece di leggerlo, come Resoneo ha osservato con Gemini. Scegli quindi un dettaglio che non si può indovinare. 5. **Guarda i log del server.** Se GPTBot o ClaudeBot visitano le tue pagine ma ricevono molti errori 404 su file statici, il sito sta servendo risorse che i crawler non riescono a usare. Lo strumento Controllo URL di Google Search Console mostra l'HTML elaborato, ma solo dal punto di vista di Google: se lì la pagina è completa, non significa che lo sia anche per ChatGPT. ## Quali parti del sito sono più a rischio? I contenuti più esposti sono quelli che servono proprio a rispondere alle domande dei clienti. Ecco dove guardare per primo. | Elemento | Problema tipico | Cosa fare | | --- | --- | --- | | Prezzi e listini | Caricati da un'API dopo l'apertura della pagina | Inserirli nell'HTML iniziale | | Recensioni | Mostrate da un widget esterno | Riportare almeno una sintesi nel testo della pagina | | Domande frequenti | Risposte caricate solo al clic sulla domanda | Tenere il testo nell'HTML e nasconderlo solo con il CSS | | Schede prodotto di un e-commerce | Descrizioni e caratteristiche generate lato client | Rendering lato server o pagine statiche | | Menu e link interni | Navigazione con script invece di link veri | Usare link `<a href>` che i crawler possono seguire | | Titolo e descrizione | Impostati da JavaScript | Scriverli direttamente nel codice della pagina | Pensa a un'agenzia di viaggi di Torino con le offerte caricate da un motore di prenotazione. Chi chiede a ChatGPT "pacchetti per Lisbona a novembre da Torino" non vedrà mai quelle offerte citate: per il crawler, la pagina contiene solo il titolo e il menu. ## Come rimediare senza rifare il sito Non serve eliminare JavaScript: serve che i contenuti essenziali siano già nell'HTML che il server invia. Vercel lo riassume così: rendering lato server per testo principale, metadati e navigazione; JavaScript lato client va bene per le funzioni accessorie come contatori, chat dal vivo o feed social. - **Rendering lato server o generazione statica.** I framework JavaScript più diffusi permettono di generare l'HTML sul server o in fase di pubblicazione. Spesso basta cambiare la modalità di rendering delle pagine più importanti. - **Pre-rendering.** Se il sito è una single-page application difficile da modificare, un servizio di pre-rendering può servire ai crawler una versione HTML già pronta. Tienilo come soluzione ponte e verifica che il contenuto sia lo stesso che vedono le persone. - **Un'alternativa nel tag noscript.** Nel test di Resoneo ChatGPT e Claude leggevano il contenuto inserito in `noscript`. È un rimedio parziale, utile per testi brevi come una descrizione o un prezzo. - **Niente contenuti importanti in Shadow DOM o iframe.** Nel test quasi nessun assistente li leggeva. Se il tuo sito è su WordPress, di solito parti avvantaggiato: le pagine vengono generate sul server. Controlla però i plugin e i page builder che caricano blocchi di contenuto via JavaScript, come recensioni, tabelle prezzi e cataloghi. Il rendering è solo uno dei motivi per cui l'AI può non vedere un sito. Il secondo è il blocco dei crawler nel robots.txt o nel firewall, di cui parliamo nella [guida ai crawler AI](https://geosnap.ai/blog/il-tuo-sito-blocca-chatgpt-guida-crawler-ai). Nell'[analisi tecnica di Geosnap](https://geosnap.ai/features) entrambi i controlli sono automatici: pagine bloccate, contenuti caricati solo via JavaScript ed errori 404 compaiono in un unico elenco. Dopo ogni correzione, ripeti i cinque controlli: è il modo più rapido per sapere se il problema è risolto. ## Fonti - [L'ascesa dei crawler AI](https://vercel.com/blog/the-rise-of-the-ai-crawler) (Vercel (con MERJ), 2024-12-17) - [Test sui crawler della ricerca AI: gli assistenti eseguono JavaScript?](https://think.resoneo.com/sentinel/geo-llm-crawler-report.html) (Resoneo, 2026-01) - [Ultimi aggiornamenti della documentazione di Google Search](https://developers.google.com/search/updates) (Google Search Central, 2026-10-01) - [Google rimuove l'avvertenza sulla SEO JavaScript: è superata](https://www.searchenginejournal.com/google-removes-javascript-seo-warning-says-its-outdated/568829/) (Search Engine Journal, 2026-03-04) ## Domande frequenti ### I crawler AI eseguono JavaScript? Quelli di OpenAI, Anthropic e Perplexity no: secondo l'analisi di Vercel e MERJ e i test di Resoneo del 2026 leggono solo l'HTML inviato dal server. Google esegue JavaScript, e Microsoft Copilot lo fa in parte con tempi di attesa molto brevi. ### Se Google indicizza bene il mio sito, anche ChatGPT vede i miei contenuti? Non necessariamente. Google elabora JavaScript prima di indicizzare, quindi vede contenuti che i crawler di ChatGPT non vedono. Controlla il codice sorgente della pagina: se il testo non c'è, ChatGPT non lo legge. ### Un sito WordPress ha questo problema? Di solito meno, perché WordPress genera le pagine sul server. Il problema può comparire con plugin o page builder che caricano recensioni, cataloghi o tabelle prezzi via JavaScript: verifica quelle sezioni una per una. ### Devo rifare il sito con il rendering lato server? Non per forza. Spesso basta attivare il rendering lato server o la generazione statica solo per le pagine principali, oppure usare un servizio di pre-rendering come soluzione temporanea. L'obiettivo è che testo, prezzi e link siano nell'HTML iniziale.
Dati strutturati
Dati in formato Schema.org (JSON-LD) inseriti nel codice della pagina. Dicono all'AI in modo esplicito di cosa parla la pagina e chi l'ha pubblicata.
BreadcrumbList descrive il percorso nel sito
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://geosnap.ai/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://geosnap.ai/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Guide",
"item": "https://geosnap.ai/blog/#guide"
},
{
"@type": "ListItem",
"position": 4,
"name": "Sito in JavaScript: ChatGPT vede i tuoi contenuti? Come verificarlo",
"item": "https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo"
}
]
}
BlogPosting descrive l'articolo: autore, date e fonti
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"@id": "https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo#article",
"headline": "Sito in JavaScript: ChatGPT vede i tuoi contenuti? Come verificarlo",
"description": "ChatGPT, Claude e Perplexity non eseguono JavaScript. Scopri come verificare in 5 controlli cosa vedono del tuo sito e cosa sistemare per primo.",
"inLanguage": "it",
"url": "https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo",
"mainEntityOfPage": "https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo",
"image": "https://geosnap.ai/img/blog/p2026-10-13-javascript-crawler-ai.webp",
"articleSection": "Guide",
"wordCount": 1287,
"author": {
"@type": "Person",
"name": "Rinald Sefa",
"jobTitle": "CMO",
"url": "https://geosnap.ai/about",
"worksFor": {
"@id": "https://geosnap.ai/#organization"
}
},
"publisher": {
"@id": "https://geosnap.ai/#organization"
},
"isAccessibleForFree": true,
"abstract": "Probabilmente no, se testi, prezzi o recensioni vengono caricati con JavaScript: i crawler di ChatGPT, Claude e Perplexity leggono solo l'HTML che arriva dal server. Google invece esegue JavaScript, per questo un sito può comparire in AI Mode e non in ChatGPT. La soluzione è avere i contenuti essenziali già nell'HTML iniziale.",
"datePublished": "2026-10-13",
"dateModified": "2026-10-13",
"citation": [
"https://vercel.com/blog/the-rise-of-the-ai-crawler",
"https://think.resoneo.com/sentinel/geo-llm-crawler-report.html",
"https://developers.google.com/search/updates",
"https://www.searchenginejournal.com/google-removes-javascript-seo-warning-says-its-outdated/568829/"
],
"workTranslation": {
"@id": "https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo#article"
}
}
FAQPage descrive le domande frequenti
{
"@context": "https://schema.org",
"@type": "FAQPage",
"@id": "https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo#faq",
"mainEntity": [
{
"@type": "Question",
"name": "I crawler AI eseguono JavaScript?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Quelli di OpenAI, Anthropic e Perplexity no: secondo l'analisi di Vercel e MERJ e i test di Resoneo del 2026 leggono solo l'HTML inviato dal server. Google esegue JavaScript, e Microsoft Copilot lo fa in parte con tempi di attesa molto brevi."
}
},
{
"@type": "Question",
"name": "Se Google indicizza bene il mio sito, anche ChatGPT vede i miei contenuti?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Non necessariamente. Google elabora JavaScript prima di indicizzare, quindi vede contenuti che i crawler di ChatGPT non vedono. Controlla il codice sorgente della pagina: se il testo non c'è, ChatGPT non lo legge."
}
},
{
"@type": "Question",
"name": "Un sito WordPress ha questo problema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Di solito meno, perché WordPress genera le pagine sul server. Il problema può comparire con plugin o page builder che caricano recensioni, cataloghi o tabelle prezzi via JavaScript: verifica quelle sezioni una per una."
}
},
{
"@type": "Question",
"name": "Devo rifare il sito con il rendering lato server?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Non per forza. Spesso basta attivare il rendering lato server o la generazione statica solo per le pagine principali, oppure usare un servizio di pre-rendering come soluzione temporanea. L'obiettivo è che testo, prezzi e link siano nell'HTML iniziale."
}
}
]
}
Metadati
Le informazioni nell'intestazione della pagina, che crawler e motori leggono prima del contenuto.