GPTBot e PerplexityBot leggono il Suo HTML grezzo e saltano del tutto il Suo JavaScript. Beacon renderizza la Sua pagina in un vero browser headless e Le mostra esattamente i contenuti — e le parole chiave — che i motori AI non vedono mai.
I crawler AI come GPTBot (OpenAI / ChatGPT), PerplexityBot, ClaudeBot e Amazonbot richiedono il Suo URL e analizzano l’HTML grezzo che ritorna — gli stessi byte che vedrebbe con "Visualizza sorgente". Non avviano un motore di browser né eseguono i Suoi script. Quindi una single-page app che fornisce un root div quasi vuoto e inietta tutti i suoi contenuti reali con JavaScript appare completa a un essere umano e vuota a un bot. Può posizionarsi su Google, sembrare perfetta ai visitatori e restare comunque invisibile ai motori AI a cui i Suoi acquirenti chiedono raccomandazioni.
Recuperiamo l’HTML statico della Sua pagina come fa un crawler che non renderizza, carichiamo lo stesso URL in un vero browser headless per catturare il DOM renderizzato, poi confrontiamo i due — riportando la percentuale di contenuto che esiste solo dopo l’esecuzione di JavaScript, le parole chiave esatte assenti dalla versione statica e la Sua modalità di rendering (lato server, ibrida o lato client) così sa istantaneamente quanto è esposta.
La soluzione è sempre lo stesso principio: portare i Suoi contenuti importanti nell’HTML che il server invia, prima che venga eseguito qualsiasi JavaScript — tramite rendering lato server, generazione statica o rendering dinamico per i bot. Come minimo, si assicuri che intestazioni, testo del corpo, prezzi e risposte FAQ siano presenti nell’HTML statico anziché recuperati e iniettati dal JavaScript lato client.
Quasi nessuno lo fa. GPTBot (ChatGPT/OpenAI), PerplexityBot, ClaudeBot, Amazonbot e la maggior parte degli altri crawler AI recuperano il Suo HTML grezzo e lo analizzano così com’è. Non avviano un motore di browser per eseguire il Suo JavaScript, quindi qualsiasi contenuto iniettato da JS dopo il caricamento è di fatto invisibile per loro.
Un render gap è la differenza tra il Suo HTML statico (ciò che i crawler AI scaricano) e il Suo DOM renderizzato in JavaScript (ciò che un essere umano in un browser vede). Beacon lo esprime come la percentuale di contenuto visibile e l’insieme delle parole chiave che esistono solo dopo l’esecuzione di JavaScript. Un render gap ampio significa che i motori AI stanno leggendo una pagina quasi vuota.
Dipende da come renderizza. Un’app React puramente lato client (es. una SPA Vite o create-react-app) fornisce un guscio HTML quasi vuoto e costruisce tutto con JS — questo è un render gap massimo. Next.js, Remix, Astro e framework simili possono renderizzare lato server o generare staticamente le pagine, il che colma il gap — ma solo per le route che configura effettivamente in quel modo. Beacon controlla l’output reale anziché fare supposizioni.
Sposti i Suoi contenuti importanti nell’HTML che il server invia. Le opzioni principali sono il rendering lato server (SSR), la generazione statica del sito (SSG / prerendering al momento della build) e il rendering dinamico, in cui serve uno snapshot HTML pre-renderizzato ai bot. Come minimo, si assicuri che intestazioni, testo del corpo, prezzi e risposte FAQ siano presenti nell’HTML statico anziché recuperati e iniettati dal JavaScript lato client.
Per lo più sì — Googlebot esegue un moderno motore di rendering ed eseguirà il Suo JavaScript in un secondo passaggio, quindi i contenuti renderizzati lato client possono comunque posizionarsi (anche se il rendering è più lento e può essere posticipato). La differenza cruciale è la ricerca AI: GPTBot, PerplexityBot e la maggior parte dei crawler LLM non renderizzano affatto JavaScript. Quindi può superare un controllo Google di JS-SEO e restare comunque invisibile a ChatGPT e Perplexity.
Account gratuito — classificazione della modalità di rendering, le parole chiave che i bot perdono e come colmare il gap.