Nel precedente articolo abbiamo parlato dell’illusione del “Selfie in posa”: il tool SEO aspetta che la pagina sia perfetta prima di scattare la foto, Google no. Ora andiamo più a fondo, perché questa non è solo una metafora carina. È un problema architetturale reale, documentato, e spesso ignorato.
La fake news che vogliamo smontare è semplice:
“Se il tool vede tutto il contenuto dopo il rendering, allora Google lo vede.”
Non è così. E Google lo dichiara apertamente nella propria documentazione.
Il fotografo paziente contro il paparazzo in scooter
Immagina una festa di compleanno. C’è il fotografo ufficiale che aspetta che tutti si sistemino: sistema le luci, aspetta che il bambino smetta di muoversi, che la nonna si tolga gli occhiali scuri, che il palloncino smetta di oscillare. Scatta quando tutto è perfetto.
Poi passa un paparazzo in scooter davanti al cancello. Vede la scena per un secondo, scatta al volo e se ne va.
Il tool SEO è il fotografo ufficiale.
Google è il paparazzo.
Molti strumenti SEO eseguono il rendering con logiche come:
- attesa del “network idle”
- timeout generosi
- retry automatici
- scroll forzato per attivare lazy loading
- esecuzione prolungata del JavaScript
Google no.
Come funziona davvero il rendering di Google
Secondo la documentazione ufficiale di Google Search Central (“Understand JavaScript SEO Basics”, aggiornata più volte tra 2024 e 2025), il processo avviene in tre fasi:
- Crawl: Googlebot effettua la richiesta HTTP e legge l’HTML iniziale.
- Render: la pagina entra nella Render Queue e il JavaScript viene eseguito.
- Index: Google utilizza l’HTML renderizzato per l’indicizzazione.
Il punto cruciale è questo:
“If content is not visible in the rendered HTML, Google won’t be able to index it.”
(Se il contenuto non è visibile nell’HTML renderizzato, Google non sarà in grado di indicizzarlo.)
Questo significa che il DOM finale prodotto dal Web Rendering Service è la fotografia ufficiale. Non la tua esperienza utente. Non quella del tool.
Esempio reale con il ristorante e la cucina lenta
Immagina un ristorante con un’insegna luminosa e una sala elegante. Entri e trovi i tavoli vuoti. Il cameriere ti dice: “Aspetti 5 minuti, stanno preparando tutto”.
Il tool SEO aspetta quei 5 minuti.
Google potrebbe non farlo.
Nel mondo reale questo succede quando:
- il contenuto principale viene caricato via API dopo 3–4 secondi
- l’HTML iniziale contiene solo un div vuoto
- la descrizione prodotto viene iniettata dopo un evento asincrono
Il tool vede la sala piena.
Google potrebbe aver visto solo i tavoli vuoti.
Il problema del tempo e come Google non ha pazienza infinita
Google non esegue un rendering “umano”. Non scrolla con curiosità, non aspetta animazioni, non clicca pulsanti.
La documentazione ufficiale chiarisce che:
- il rendering è soggetto a risorse limitate
- esiste una coda di elaborazione
- l’esecuzione JavaScript può essere ritardata o limitata
Se il tuo contenuto critico dipende da:
- richieste API lente
- framework pesanti
- hydration tardiva
- caricamenti condizionati
stai delegando la tua SEO alla puntualità del tuo codice.
L’illusione del network idle
Molti tool aspettano che non ci siano più richieste di rete attive prima di considerare la pagina “completa”.
Google non garantisce questa attesa.
Secondo Google Search Central, l’esecuzione del JavaScript avviene in un ambiente headless Chromium, ma non viene dichiarato che il sistema attenda indefinitamente la fine di ogni operazione asincrona.
Tradotto: se un fetch parte tardi o si risolve lentamente, il contenuto potrebbe non entrare nella fotografia finale.
Lazy loading e viewport.. un altro equivoco
Google ha dichiarato che supporta il lazy loading quando implementato correttamente. Tuttavia, la stessa documentazione specifica che il contenuto deve essere caricato quando entra nel viewport simulato.
Ora immaginiamo un caso pratico.
Hai una pagina molto lunga.
Le FAQ vengono caricate solo quando l’utente scrolla manualmente fino in fondo.
Google simula un viewport, ma non fa uno scroll umano progressivo.
Se il trigger JavaScript è legato a uno scroll preciso o a un’interazione particolare, quel contenuto potrebbe non essere mai eseguito nel rendering.
Tu lo vedi.
Il tool lo forza.
Google potrebbe ignorarlo.
Il DOM instabile e quando la pagina cambia da sola
Un altro problema raramente discusso è l’instabilità del DOM.
In alcune SPA moderne:
- l’ordine di caricamento degli script può variare
- le API possono rispondere in tempi diversi
- la cache può alterare il contenuto iniziale
- componenti possono montarsi in momenti diversi
Questo significa che lo stesso URL può produrre DOM leggermente differenti in momenti diversi.
Se il tuo sito non produce sempre la stessa struttura renderizzata, la SEO non è prevedibile.
Google non esegue test multipli per scegliere la versione migliore. Indicizza quella che ottiene.
Come verificare cosa vede davvero Google
La prova definitiva non è il tuo tool. È la Search Console.
Procedura pratica:
- Apri “Controllo URL”
- Testa l’URL pubblicato
- Clicca su “Visualizza HTML”
- Cerca una frase critica (es. descrizione prodotto)
Se quella frase non è presente nell’HTML renderizzato da Google, non è indicizzabile.
Non è un’opinione.
È verificabile.
Cosa dice Google sul rendering JavaScript
Google consiglia esplicitamente:
- Preferire Server-Side Rendering o Static Generation quando possibile.
- Assicurarsi che i contenuti critici siano presenti nel DOM iniziale.
- Testare sempre con l’URL Inspection Tool.
- Evitare che contenuti fondamentali dipendano da interazioni utente.
Queste indicazioni sono pubblicate nelle guide ufficiali su JavaScript SEO Basics e nella documentazione dedicata al Web Rendering Service.
Non sono teorie di settore.
Sono linee guida dirette.
La differenza tra esperienza utente e indicizzazione
Qui sta il nodo centrale.
Un sito può essere:
- fluido
- animato
- interattivo
- visivamente perfetto
e allo stesso tempo essere indicizzato in modo incompleto.
La SEO tecnica non si basa su ciò che appare dopo qualche secondo in più. Si basa su ciò che è presente nel DOM renderizzato nel momento in cui Google conclude il processo.
Smettere di fidarsi della foto più bella
L’illusione del Selfie in posa nasce da un equivoco semplice: confondere l’esperienza utente con la fotografia tecnica del crawler.
Il tool può restituirti una foto perfetta.
Google potrebbe averne scattata una diversa.
Se il tuo contenuto critico dipende da attese, da eventi tardivi o da condizioni particolari, stai costruendo la tua visibilità su un terreno instabile.
La SEO moderna non è questione di estetica del rendering. È questione di coerenza tra:
- HTML iniziale
- DOM renderizzato da Google
- contenuto effettivamente indicizzato
E su questo Google è stato chiaro: se non è nel DOM finale, non esiste.
Fonti ufficiali e riferimenti tecnici
Google Search Central – Understand JavaScript SEO Basics
Guida ufficiale Google su come funziona il crawling e il rendering delle pagine JavaScript. Spiega chiaramente le tre fasi Crawl, Render, Index e ribadisce che Google indicizza l’HTML renderizzato.
https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
Google Search Central – JavaScript SEO overview
Panoramica completa sulle best practice per contenuti caricati dinamicamente, hydration, rendering lato client e lato server.
https://developers.google.com/search/docs/crawling-indexing/javascript
Google Search Central – Render queue and JavaScript execution
Sezione della documentazione che spiega come il rendering può essere ritardato e che l’esecuzione JavaScript avviene con risorse limitate.
https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics#how-google-processes-javascript
Google Search Central – URL Inspection Tool
Guida ufficiale allo strumento “Controllo URL” per visualizzare l’HTML renderizzato da Googlebot.
https://support.google.com/webmasters/answer/9012289
Google Search Central Blog – JavaScript SEO and rendering limitations
Comunicazioni ufficiali di Google sul funzionamento del Web Rendering Service (WRS) e sulle limitazioni operative.
https://developers.google.com/search/blog
Google Search Central – Lazy loading best practices
Linee guida su come implementare il lazy loading in modo compatibile con Googlebot.
https://developers.google.com/search/docs/crawling-indexing/javascript/lazy-loading
