SEO tecnica

JavaScript e SEO: cosa vede davvero Google

Un sito costruito con JavaScript può posizionare benissimo — se il motore riesce a vederne il contenuto. La differenza tra ciò che c'è nell'HTML e ciò che appare dopo l'esecuzione del codice è la fonte dei problemi più insidiosi della SEO tecnica.

A cura di ContatPubblicato il 9 min di lettura
Flusso illustrato di documenti HTML dal server al crawler e alla pagina renderizzata
Dal server al rendering

Dal server al rendering

Google prima legge l'HTML ricevuto dal server, poi torna sulla pagina per eseguire JavaScript e completare il rendering. Rendere visibile questo passaggio aiuta a capire dove un contenuto può perdersi.

Crawl e rendering: due fasi diverse

Google lavora sui tuoi contenuti in due momenti. Prima scansiona l'HTML ricevuto dal server; poi, quando ha risorse disponibili, renderizza la pagina eseguendo il JavaScript con un browser headless e aggiorna la sua copia. Per le pagine statiche le due fasi coincidono; per le pagine che costruiscono tutto nel browser, il contenuto esiste per Google solo dopo la seconda fase.

Le conseguenze pratiche: il rendering può avvenire con ritardo rispetto alla scansione (ore o giorni, non garantiti), consuma risorse che Google raziona, e qualsiasi errore JavaScript — un plugin rotto, una chiamata API fallita — può lasciare al motore una pagina vuota mentre agli umani sembra tutto funzionare.

SSR, CSR e idratazione

  • CSR (client-side rendering): il server manda un guscio vuoto; il browser costruisce la pagina eseguendo il codice. Semplice da sviluppare, fragile per la SEO: tutto dipende dalla seconda fase.
  • SSR (server-side rendering): il server invia già l'HTML completo; il JavaScript poi «attiva» la pagina (idratazione). Il contenuto è visibile alla prima fase, senza attendere il rendering.
  • Generazione statica: le pagine vengono pre-costruite al deploy: HTML pieno subito, prestazioni ottime. Ideale quando i contenuti non cambiano ad ogni richiesta.

I framework moderni permettono di scegliere pagina per pagina. È il modello con cui lavoriamo: la migrazione raccontata in da WordPress a Nuxt mostra come un sito editoriale passa al rendering server-side mantenendo la gestione dei contenuti. Se valuti un sito nuovo, chiedi sempre come verrà renderizzato: è una decisione che pesa sulla SEO più di quasi ogni altra scelta tecnica — e rientra nella costruzione di un sito web professionale fatto bene.

Verificare cosa vede Google

  1. Test del rendering live: nella Search Console, «Controllo URL» → «Verifica URL» mostra l'HTML renderizzato: cerca lì le tue frasi chiave.
  2. Confronta sorgente e DOM: view-source contro ispeziona-elemento. Le differenze sono il contenuto «solo JavaScript».
  3. Cerca su Google: una frase univoca della pagina tra virgolette, preceduta da site:tuosito.it. Se non compare, il contenuto non è (ancora) nella copia di Google.
  4. Copertura della Search Console: pagine «scoperte ma non indicizzate» su siti JavaScript pesanti spesso significano rendering in coda o bloccato.

Errori tipici

  • Contenuto caricato solo allo scroll: se i testi appaiono solo quando l'utente scorre, verifica che Google li veda comunque nel rendering completo.
  • Link solo via JavaScript: i collegamenti devono essere veri tag <a href>, non elementi cliccabili generati da script: senza href, niente scoperta.
  • Errori console in produzione: un'eccezione a metà pagina può troncare il contenuto renderizzato. Monitora gli errori JS come parte della manutenzione.
  • Meta tag gestiti male: title e description devono arrivare corretti anche nella prima risposta: sono quelli che finiscono nei risultati.
  • Pagine infinite senza paginazione: lo scroll infinito senza alternative navigabili nasconde i contenuti profondi ai crawler.

Domande su JavaScript e SEO

Sì, Google renderizza il JavaScript. Ma il rendering è una fase separata dalla scansione, con tempi e risorse non garantiti: un sito che funziona senza dipendere dal rendering ha sempre un vantaggio di certezza.
No. Con rendering server-side o generazione statica questi framework producono HTML pieno e si posizionano benissimo. Il problema non è il framework, è il rendering esclusivamente client-side.
Apri il sorgente pagina (view-source): se trovi poco HTML e molti script, e i contenuti compaiono solo nell'ispettore elementi, sei davanti a client-side rendering.
Sì, e i siti client-side tendono a soffrire di più su LCP e INP. Ottimizzare il JavaScript consegnato (dimensione, esecuzione, terze parti) migliora sia l'esperienza sia i segnali misurati.

Il tuo sito rende bene per Google?

Verifichiamo cosa vede davvero il motore sul tuo sito e, se serve, portiamo i contenuti dove devono essere: nell'HTML.