
Una pagina web può essere perfettamente visibile a una persona e, allo stesso tempo, essere più difficile da leggere per un sistema di intelligenza artificiale.
Non è necessariamente un errore del sito e non significa che JavaScript sia una tecnologia negativa.
Il problema può nascere quando le informazioni fondamentali di una pagina vengono inserite soltanto dopo il caricamento, attraverso JavaScript.
Questo aspetto è particolarmente importante nella Generative Engine Optimization (GEO) e nella visibilità sui sistemi di ricerca basati sull'intelligenza artificiale, compresi Google AI Overviews.
La domanda da cui partire è semplice:
Il contenuto che vediamo sullo schermo è sempre già presente nell'HTML che il server consegna al crawler?
La risposta è: non necessariamente.
Sì, può influire quando il contenuto fondamentale di una pagina viene generato o inserito esclusivamente tramite JavaScript.
Il browser dell'utente può eseguire JavaScript e mostrare correttamente il contenuto.
Un crawler, invece, può elaborare la pagina in modo diverso e potrebbe non ottenere lo stesso risultato.
Per questo, nella GEO, è preferibile che il contenuto principale sia già disponibile nell'HTML iniziale della pagina.
JavaScript è un linguaggio molto utilizzato nei siti web moderni.
Permette di creare:
Il problema, quindi, non è JavaScript.
Il problema nasce quando JavaScript diventa l'unico modo attraverso cui vengono rese disponibili le informazioni importanti.
Ristorante vegano a Roma
Quando la apriamo vediamo:
Sembra naturale pensare che queste informazioni siano semplicemente "dentro la pagina".
Ma tecnicamente possono esserci due situazioni molto diverse.
Il server può inviare direttamente:
<h1>Ristorante vegano a Roma</h1>
<p>Cucina 100% vegetale nel centro di Roma.</p>
<p>Menu stagionale e ingredienti biologici.</p>
Il browser riceve queste informazioni e le visualizza.
Il percorso è: Server → HTML → Browser
Il contenuto principale è quindi già presente nella risposta iniziale del server.
Il server potrebbe invece inviare inizialmente qualcosa di simile:
<div id="contenuto"></div>
<script src="app.js"></script>
JavaScript recupera successivamente le informazioni e le inserisce nella pagina.
Il percorso diventa: Server → HTML → JavaScript → contenuto → Browser
Alla fine l'utente vede esattamente la stessa pagina.
Ed è proprio questo che può creare confusione.
Sì.
Questa è una distinzione fondamentale.
Il contenuto può essere perfettamente presente:
Quindi non dobbiamo pensare:
"Se non è nell'HTML, allora il contenuto non esiste."
È sbagliato.
La questione è un'altra:
Il contenuto esiste, ma viene consegnato direttamente al crawler oppure deve essere recuperato e inserito successivamente da JavaScript?
Possiamo avere:
Database → Server → HTML → Browser
oppure:
Database → API → JavaScript → Browser → contenuto
La differenza è nel modo in cui il contenuto viene consegnato.
Quando una persona apre una pagina con Chrome, il browser può eseguire JavaScript e costruire il risultato finale.
Un crawler, invece, deve prima recuperare la pagina e comprenderne il contenuto.
Tuttavia, non tutti i crawler elaborano JavaScript nello stesso modo:
Per questo non possiamo dare per scontato che:
"Se io vedo il contenuto nel browser, allora qualsiasi crawler lo vedrà esattamente nello stesso modo."
Non necessariamente.
Immaginiamo il sito di un consulente.
La pagina contiene:
Consulente SEO e GEO a Roma: aiuto aziende e professionisti a migliorare la visibilità sui motori di ricerca e nei sistemi di intelligenza artificiale.
Una persona visita la pagina e legge tutto normalmente.
Ma supponiamo che il server restituisca inizialmente soltanto:
<div id="app"></div>
<script src="app.js"></script>
JavaScript recupera successivamente il contenuto e lo inserisce nella pagina.
Il risultato finale è perfetto per l'utente.
Ma un sistema che non riesce a completare correttamente quel processo potrebbe avere difficoltà a recuperare quelle informazioni.
Per la GEO, questo rappresenta una possibile criticità.
Google dispone di sistemi in grado di elaborare JavaScript, quindi il semplice utilizzo di JavaScript non significa che una pagina non possa essere indicizzata o utilizzata da Google.
Tuttavia, non è consigliabile affidarsi esclusivamente al rendering JavaScript per rendere disponibili le informazioni fondamentali di una pagina.
Google AI Overviews, come gli altri sistemi di ricerca e retrieval, deve poter recuperare e comprendere le informazioni che utilizza.
Per questo la strategia più solida è rendere il contenuto principale direttamente accessibile nell'HTML.
La regola non è:
"Google non legge JavaScript."
La regola corretta è:
"Non affidare esclusivamente a JavaScript la disponibilità del contenuto che vuoi rendere facilmente recuperabile e comprensibile."
Sì, è possibile.
Questo perché i diversi sistemi possono utilizzare modalità differenti per:
Non dobbiamo quindi ragionare soltanto in termini di:
"Google riesce a vedere la pagina?"
Nella GEO dobbiamo aggiungere una seconda domanda:
"Il contenuto viene consegnato in modo affidabile anche ai sistemi che devono recuperarlo per utilizzarlo nelle risposte AI?"
Non è necessario mettere tutto nell'HTML.
La regola riguarda soprattutto le informazioni fondamentali che permettono di capire la pagina.
Per esempio:
In pratica:
Se un'informazione è fondamentale per capire cosa offre una pagina, è meglio non renderla disponibile esclusivamente attraverso JavaScript.
Lo stesso principio vale per i dati strutturati.
Per esempio, una pagina può comunicare attraverso Schema.org che si tratta di un'attività locale:
{
"@type": "LocalBusiness",
"name": "Studio Rossi",
"address": {
"addressLocality": "Roma"
}
}
Queste informazioni aiutano i sistemi a comprendere il significato della pagina.
Per questo, nella GEO, è preferibile che il markup fondamentale sia presente direttamente nell'HTML e non dipenda inutilmente da un caricamento successivo tramite JavaScript.
Il principio è quindi lo stesso:
contenuto importante → HTML
funzionalità aggiuntive → JavaScript
No.
È importante non trasformare questa analisi in una contrapposizione tra HTML e JavaScript.
JavaScript è fondamentale per moltissimi siti moderni e può essere utilizzato tranquillamente per:
Il problema nasce quando JavaScript diventa l'unico veicolo attraverso cui vengono consegnate le informazioni fondamentali.
Possiamo quindi adottare una regola molto semplice:
HTML
JavaScript
Da qui nasce il principio:
HTML first. JavaScript second.
Questa è forse la parte più importante da capire.
Supponiamo che WordPress abbia nel database:
Il contenuto esiste.
Ma il server può decidere di inserirlo direttamente nell'HTML oppure di farlo recuperare successivamente da JavaScript.
Quindi:
Se il contenuto esiste nel sito, non significa necessariamente che il contenuto è già presente nell'HTML iniziale.
Per la GEO la seconda condizione è preferibile.
Il problema non è quindi:
"Dove è memorizzato il contenuto?"
Il problema è:
"Come viene consegnato a chi deve leggerlo?"
Un sistema AI deve prima poter recuperare un contenuto.
Poi deve poterlo comprendere e utilizzare.
Infine può arrivare a citarlo.
Questo si collega al Modello RUC:
R — Retrievability
Recuperabilità
↓
U — Utilization
Utilizzo
↓
C — Citation
Citazione
Il JavaScript rendering può diventare un problema soprattutto nel primo passaggio.
Se il contenuto fondamentale non viene recuperato correttamente, diventa più difficile arrivare ai passaggi successivi.
Per questo il rendering JavaScript è un elemento tecnico da considerare quando si lavora sulla AI Visibility.
Un audit può analizzare, tra le altre cose:
Per questo il JavaScript rendering non va analizzato da solo.
È una delle componenti della più ampia AI Crawlability.
Se vuoi approfondire la parte pratica e capire come verificare concretamente se l'AI riesce a leggere il tuo sito, puoi collegare questo articolo alla guida dedicata all'AI Crawlability Audit.
Il JavaScript non deve essere considerato un nemico della SEO o della GEO.
È una tecnologia indispensabile per il web moderno.
La vera questione riguarda come vengono consegnate le informazioni.
Una pagina può essere perfettamente visibile a una persona, avere il contenuto presente nel database e funzionare correttamente nel browser, ma non necessariamente consegnare quel contenuto nel modo più semplice e affidabile a tutti i sistemi che devono recuperarlo.
Per questo, quando lavoriamo sulla visibilità nei motori di ricerca e nei sistemi AI, è utile seguire una regola molto semplice:
Il contenuto fondamentale deve essere facilmente accessibile nell'HTML; JavaScript può occuparsi di rendere la pagina dinamica e interattiva.
Una pagina web non deve essere soltanto visibile alle persone.
Deve essere anche leggibile dalle macchine che devono comprenderla.
HTML first. JavaScript second.
Può rendere il contenuto meno facilmente recuperabile quando le informazioni fondamentali vengono generate esclusivamente tramite JavaScript. Per questo è preferibile che il contenuto principale sia già presente nell'HTML iniziale.
Google dispone di sistemi capaci di elaborare JavaScript, ma non è consigliabile affidarsi esclusivamente al rendering JavaScript per rendere disponibili le informazioni fondamentali di una pagina.
Può esserlo, ma dipende dal modo in cui viene fornito e dal sistema che deve elaborarlo. Il fatto che un contenuto venga visualizzato nel browser non garantisce che ogni crawler lo elabori nello stesso modo.
Per i contenuti fondamentali è la soluzione più sicura. Se un'informazione è importante per comprendere la pagina, è preferibile che sia già disponibile nell'HTML restituito dal server.
No. JavaScript non è negativo in sé. Il rischio nasce quando il contenuto fondamentale della pagina dipende esclusivamente dall'esecuzione di JavaScript.
Metti nell'HTML ciò che vuoi che le macchine comprendano; usa JavaScript per aggiungere funzionalità e interazioni.