Thomas Nedjar
Le applicazioni
Strumento gratuito

Googlebot Simulator: vedere una pagina come la renderizza Google, JavaScript incluso

Incollate l’indirizzo di una pagina pubblica. Lo strumento la carica con lo user agent di Googlebot per smartphone, esegue il suo JavaScript in Chromium e mette a confronto l’HTML inviato dal server con l’HTML renderizzato. Su un sito multilingue vedete la versione che riceve un bot che non ha scelto né l’italiano, né il tedesco, né il francese.

Senza registrazione e senza e-mail. Calcolate da 10 a 30 secondi: la pagina viene caricata in un vero browser.

Perimetro

Cosa contiene il rapporto

Un caricamento completo della pagina in Chromium, con rete, console e screenshot.

La risposta del server

Prima di ogni rendering

Stato HTTP, catena di reindirizzamenti passo per passo, intestazioni che contano per l’indicizzazione, come X-Robots-Tag e Link, lettura del robots.txt per Googlebot e cronologia del caricamento.

HTML grezzo e HTML renderizzato

13 segnali a confronto

Title, meta description, meta robots, URL canonico, H1, numero di H2, numero di parole, link interni ed esterni, immagini e attributi alt, JSON-LD, hreflang, lingua dichiarata. Ogni valore modificato dal JavaScript è evidenziato. I link che esistono solo dopo il rendering sono elencati a parte.

Cosa ha visto il browser

Screenshot, rete, console

Screenshot della pagina in larghezza mobile, risorse non caricate con lo stato o il motivo dell’errore, errori JavaScript della console e i due codici sorgente da consultare.

I limiti, prima di iniziare

Lo strumento simula Googlebot: stesso user agent, stessa famiglia di browser, ma le richieste partono dal nostro server e non dagli indirizzi IP di Google. Un sito che verifica la provenienza reale di Googlebot risponde quindi in modo diverso, spesso con un 403. Il rapporto descrive ciò che un bot riceve caricando la pagina. Per sapere se la pagina è nell’indice, il riferimento resta la Search Console. Sono accettate solo pagine pubbliche in HTTP o HTTPS sulle porte standard. Lo strumento non clicca nulla, non scorre la pagina, non accetta alcun banner e non sceglie alcuna lingua. Lo screenshot si ferma a 2600 pixel di altezza, ogni codice sorgente a un milione di caratteri, e il servizio è limitato a otto ispezioni all’ora per connessione.

Siti multilingue

Un sito svizzero in più lingue: la versione che riceve Googlebot

Googlebot non invia l’intestazione Accept-Language e scansiona per lo più da indirizzi IP statunitensi. Riceve la versione che il vostro sito serve per impostazione predefinita.

Reindirizzamento in base alla lingua del browser

Da leggere in «Risposta del server»

Molti siti svizzeri indirizzano il visitatore verso /it/, /de/ o /fr/ in base alla lingua del browser o all’indirizzo IP. Un bot che non annuncia nessuna di queste lingue finisce sempre nello stesso ramo. La catena di reindirizzamenti del rapporto mostra quale. Se la home porta sempre alla versione tedesca, Google scopre le vostre pagine in italiano solo tramite i link interni e gli hreflang.

Hreflang inseriti da uno script

Riga «Tag hreflang»

Le annotazioni it-CH, de-CH e fr-CH vengono talvolta inserite da un tag manager o dal framework. Il rapporto le conta nell’HTML grezzo e nell’HTML renderizzato. Zero da una parte e tre dall’altra: i vostri hreflang dipendono dalla riuscita del rendering, e i bot senza JavaScript non li vedono mai.

Lingua dichiarata della pagina

Riga «Lingua dichiarata»

Un template condiviso tra le tre versioni linguistiche conserva spesso lo stesso attributo lang ovunque. Una pagina in italiano che dichiara de-CH confonde il segnale per i motori di ricerca e per gli screen reader. Ispezionate una pagina per lingua e confrontate la riga corrispondente.

SEO JavaScript

Perché confrontare HTML grezzo e HTML renderizzato

La SEO JavaScript si riduce a una domanda: ciò che conta per il posizionamento è già nella risposta del server, oppure arriva solo dopo l’esecuzione degli script?

Google renderizza le pagine in due tempi

Googlebot legge prima l’HTML inviato dal server, poi mette la pagina in coda per renderizzarla con Chromium. I link e il testo presenti già alla prima lettura vengono scoperti subito. Ciò che dipende da uno script attende il rendering e manca se quel giorno lo script fallisce.

Gli assistenti IA si fermano all’HTML grezzo

A oggi, la maggior parte dei bot che alimentano gli assistenti IA recupera la risposta del server senza eseguire alcuno script. Una pagina il cui contenuto arriva interamente via JavaScript appare loro vuota. Riguarda la visibilità nelle risposte generate tanto quanto la ricerca classica.

Un tag riscritto crea due versioni della pagina

Un title, un canonical o un meta robots modificato dal JavaScript dà a Google due letture contraddittorie. Un noindex presente nell’HTML grezzo è il caso più rischioso: Google può rinunciare al rendering, e lo script che doveva rimuoverlo non viene mai eseguito.

Una risorsa bloccata degrada il rendering in silenzio

Un file JavaScript vietato dal robots.txt, un bundle in 404 dopo un rilascio, un’API che respinge i bot: da voi la pagina appare completa grazie alla cache, per un bot senza cache resta incompleta. L’elenco delle risorse non caricate serve a individuare questi casi.

Metodo

Leggere il rapporto, nell’ordine

1

Verificare che la pagina sia indicizzabile

Stato 200, nessun reindirizzamento inatteso, nessun noindex nel meta robots né nell’intestazione X-Robots-Tag, indirizzo consentito dal robots.txt, canonical che punta alla pagina stessa.

2

Controllare la versione linguistica servita

Guardate l’indirizzo finale, la lingua dichiarata e il numero di hreflang. Ripetete l’ispezione su una pagina di ogni lingua: i tre rapporti devono mostrare la stessa struttura.

3

Misurare la dipendenza dal JavaScript

Confrontate il numero di parole e di link tra le due colonne. Uno scarto ridotto indica un rendering lato server solido. Un HTML grezzo quasi vuoto indica un’applicazione renderizzata nel browser, da trattare con priorità sulle pagine che devono posizionarsi.

4

Correggere alla fonte, poi rilanciare

Rendering lato server, generazione statica o prerendering per i contenuti e i link che contano. I tag SEO e gli hreflang vanno inseriti già nella risposta del server. Rilanciate l’ispezione dopo il rilascio: la cache dello strumento scade dopo dieci minuti.

Andare oltre

Oltre una pagina pubblica

La pagina che avete davanti

Estensione Chrome · gratuita, senza account

Per una pagina protetta da password, un ambiente di staging o un’installazione locale, cioè dove uno strumento online non arriva. L’analisi riguarda la pagina così come l’ha renderizzata il vostro browser.

  • Tag, titoli e link della pagina renderizzata
  • Link rotti evidenziati nella pagina
  • Dati strutturati JSON-LD
  • Tutto resta nel browser
Installare l’estensione

Un sito intero

Crawler desktop · gratuito fino a 500 URL per sito

Un’ispezione riguarda un solo indirizzo. Per sapere quante pagine rispondono con un errore, reindirizzano o puntano a link morti in ogni lingua, bisogna scansionare tutto il sito.

  • Stati 4XX e 5XX, pagine senza risposta
  • Reindirizzamenti, catene e loop
  • Link rotti interni ed esterni
  • Pagina di origine di ogni link in errore
Scoprire il crawler

Per controllare i link di una sola pagina senza installare nulla, lo strumento per trovare i link rotti funziona con lo stesso principio. Sull’intero sito, l’audit tecnico SEO analizza il crawl completo: stati, tag, canonical, profondità.

FAQ

Domande frequenti

Come testare una pagina come Googlebot?
Incollate l’indirizzo nel modulo in cima a questa pagina e lasciate selezionato lo user agent «Googlebot per smartphone». Lo strumento carica la pagina in Chromium, esegue il suo JavaScript e mostra l’HTML inviato dal server accanto all’HTML renderizzato, con uno screenshot, le risorse non caricate e gli errori della console.
Il mio sito reindirizza in base alla lingua del browser: cosa vede Googlebot?
Googlebot non invia l’intestazione Accept-Language e scansiona soprattutto da indirizzi IP statunitensi. Riceve quindi la versione predefinita. Google raccomanda di non reindirizzare automaticamente in base alla lingua, di dare a ogni versione un indirizzo proprio e di collegarle con gli hreflang. Il rapporto mostra la catena di reindirizzamenti seguita e la lingua dichiarata della pagina ricevuta.
Che differenza c’è con l’ispezione URL della Search Console?
L’ispezione URL della Search Console resta il riferimento per i vostri siti: solo lei dice se una pagina è nell’indice e che cosa Google ne ha conservato. Richiede una proprietà verificata. Questo strumento funziona su qualsiasi pagina pubblica, compresa quella di un concorrente o di un cliente di cui non avete ancora gli accessi, e affianca HTML grezzo e HTML renderizzato.
Google esegue il JavaScript?
Sì. Googlebot renderizza le pagine con una versione recente di Chromium. Il rendering è una fase separata dalla scansione: la pagina viene letta prima così come la invia il server, poi messa in coda per essere renderizzata. Il contenuto presente già nell’HTML grezzo viene quindi considerato prima e in modo più affidabile rispetto a quello inserito da uno script.
Perché il risultato è diverso da quello che vedo nel mio browser?
Lo strumento arriva senza cookie, senza sessione e senza cronologia, in larghezza mobile di 412 pixel, e non clicca nulla. Un banner di consenso, un contenuto riservato ai visitatori connessi, un reindirizzamento in base al paese o alla lingua, oppure un blocco che si apre al clic spiegano la maggior parte delle differenze. Su questi punti Googlebot si comporta allo stesso modo.
La pagina risponde 403 allo strumento, cosa fare?
Molti firewall verificano che una richiesta firmata Googlebot provenga davvero dagli indirizzi IP di Google e respingono le altre. È una protezione sana. Rilanciate l’ispezione con lo user agent «Chrome su smartphone»: il rendering JavaScript resta identico, cambia solo la firma della richiesta.
Gli assistenti IA leggono il contenuto caricato in JavaScript?
A oggi, i bot che alimentano gli assistenti IA recuperano per lo più l’HTML grezzo e non eseguono alcuno script. Un testo che esiste solo dopo il rendering sfugge loro. La colonna «HTML grezzo» del rapporto mostra ciò che ricevono.
Lo strumento conserva gli indirizzi ispezionati?
Il risultato resta in cache dieci minuti per evitare di renderizzare due volte la stessa pagina, poi viene cancellato. Non viene tenuto alcuno storico degli indirizzi. Un limite di otto ispezioni all’ora per connessione protegge il server.
France
Suisse