SEO

SEO JavaScript: rendering lato server e indicizzazione

Un sito JavaScript può posizionarsi? Cosa fa il rendering lato server, come nascono i problemi di indicizzazione e gli errori che costano visibilità.

Team rabbitclipPubblicato: 8 min di lettura

In breve

Un sito costruito con JavaScript può comparire nella ricerca, ma posizionamento e indicizzazione sono più fragili quando il contenuto viene disegnato nel browser, perché un motore di ricerca riceve prima la pagina come HTML grezzo, ed eseguire il JavaScript per vedere il contenuto reale è un passaggio separato e successivo. Se contenuto, titoli, link e meta tag sono già nel primo HTML, quel ritardo smette di contare. La strada per arrivarci è il rendering lato server oppure le pagine generate in anticipo.

Il problema non è JavaScript in sé, ma un contenuto che ne dipende. Due siti costruiti sullo stesso framework possono comportarsi in modo molto diverso nella ricerca, perché uno prepara la pagina sul server e l'altro invia un guscio vuoto e lascia il contenuto al browser.

Qui di seguito spieghiamo come un motore di ricerca elabora una pagina JavaScript, quale metodo di rendering si adatta a quale attività e quali errori vediamo più spesso.

Come elabora un motore di ricerca una pagina JavaScript?

Il processo ha all'incirca tre passaggi. Il motore di ricerca scansiona l'indirizzo e riceve l'HTML grezzo, la pagina entra in una coda di rendering e, quando arriva il suo turno, il JavaScript viene eseguito per produrre la pagina finale, che poi viene indicizzata. Google esegue questo rendering con un motore di browser aggiornato, ma il passaggio è separato e in mezzo può esserci un'attesa.

Una pagina senza nulla nell'HTML grezzo sembra quindi vuota a prima vista. Il contenuto arriva dopo, ma il tempo in coda varia da pagina a pagina. Per una pagina di notizie o di disponibilità che cambia spesso, questa attesa significa che il contenuto compare in ritardo.

Non tutti i motori di ricerca e non tutti i crawler di IA eseguono il rendering altrettanto bene. Alcuni non eseguono affatto JavaScript, o solo in parte. Un contenuto che compare solo dopo il rendering mette a rischio non un motore di ricerca, ma ogni strumento che legge il suo sito.

Cosa distingue rendering lato client, rendering lato server e pagine generate in anticipo?

Con il rendering lato client il server invia un guscio di pagina vuoto e il browser costruisce il contenuto con JavaScript. Con il rendering lato server la pagina viene preparata sul server al momento della richiesta e arriva piena; poi JavaScript prende in carico l'interazione nel browser. Con la generazione anticipata la pagina viene prodotta una volta al momento della pubblicazione e servita come file pronto.

Per le pagine che cambiano raramente, la generazione anticipata è l'opzione più veloce e solida: pagine aziendali, pagine di servizio, articoli. Le pagine che portano prezzi, giacenze o dati personalizzati si adattano meglio al rendering lato server. Le aree che i motori di ricerca comunque non devono vedere, come una dashboard dopo il login, possono tranquillamente usare il rendering lato client.

La maggior parte dei framework moderni permette di mescolare tutti e tre i metodi in un solo sito. La decisione si prende per tipo di pagina; non deve scegliere un unico metodo per tutto.

Come capire se JavaScript danneggia il suo sito?

Il test più semplice è visualizzare il sorgente della pagina. Se vi vede il titolo, il testo principale e i link, non c'è un problema di fondo. Se vede solo un elemento radice vuoto e tag di script, il contenuto viene costruito nel browser.

Il secondo test è lo strumento di ispezione dell'URL in Google Search Console, che mostra l'HTML ricevuto e la pagina come la vede il motore di ricerca dopo il rendering. Ogni scarto tra la pagina reale e quella renderizzata emerge lì. Può anche controllare rapidamente titoli, descrizioni e struttura del contenuto con il nostro audit SEO on-page gratuito.

Il terzo segnale è nei report dell'indice: molte pagine segnalate come sottoposte a scansione ma attualmente non indicizzate, o risultati il cui titolo e la cui descrizione non corrispondono al contenuto reale, possono indicare un problema di rendering.

  • Testo principale e link sono visibili nel sorgente della pagina
  • L'HTML renderizzato nell'ispezione dell'URL corrisponde alla pagina reale
  • Titolo e meta description sono nel primo HTML o vengono aggiunti dopo
  • Menu e link nel testo sono costruiti con veri tag di collegamento
  • File di script e di stile sono bloccati da robots.txt

Quali errori sono comuni nei siti JavaScript?

L'errore più comune è costruire i link con elementi che funzionano su un evento di clic invece che con veri tag di collegamento. I motori di ricerca seguono solo i link che portano un indirizzo; una struttura in cui un pulsante cambia la pagina impedisce che quelle pagine vengano scoperte. Un difetto affine è mettere le pagine dietro un frammento hash nell'indirizzo, che comprime pagine distinte in un solo URL.

Il secondo è legare il contenuto all'interazione dell'utente. Il contenuto che si carica quando qualcuno clicca su una scheda, scorre verso il basso o preme un pulsante mostra altro è un contenuto che il motore di ricerca non vede. Il testo centrale di una pagina non dovrebbe mai stare dietro tali interazioni.

Il terzo è bloccare i file di script e di stile in robots.txt, il che impedisce al motore di ricerca di eseguire il rendering della pagina e lo porta a leggere male layout o contenuto. Il quarto è non restituire un corretto stato di errore per le pagine che non esistono: le applicazioni a pagina singola possono rispondere a un indirizzo non valido con un codice di successo e un messaggio di pagina non trovata, e il motore di ricerca la scambia per una pagina reale e prova a indicizzarla.

Legga ancheCome ottenere lo snippet in primo piano: formato e risposta

Titoli, meta tag e dati strutturati si possono aggiungere con JavaScript?

Si possono, conoscendo il rischio. Google può leggere titoli e meta tag dopo il rendering, ma se mancano nel primo HTML, non tutti i crawler né tutti gli strumenti di anteprima dei social li vedranno. Una scheda di anteprima vuota quando si condivide un link dipende spesso proprio da questo.

La stessa logica vale per i dati strutturati. Può aggiungerli con JavaScript, ma averli nel primo HTML è più sicuro e comporta meno dipendenze. I tag critici, come l'indirizzo canonico e la direttiva robots, devono stare nel primo HTML; una direttiva cambiata dopo il rendering può contraddire il valore che il motore di ricerca ha letto per primo.

Gli assistenti di IA leggono i contenuti JavaScript?

Questo ambito cambia in fretta e non esiste una risposta unica. I crawler usati dagli assistenti di IA e dai riassunti di ricerca in genere non eseguono il rendering con la stessa capacità di un motore di ricerca classico, e alcuni si accontentano dell'HTML grezzo. Tenere i contenuti importanti nel primo HTML è quindi la via più sicura per tutti i probabili lettori.

Se punta alla visibilità nelle IA, metta la risposta principale della pagina e i fatti essenziali in HTML renderizzato sul server. Può verificare come il suo sito appare a questi strumenti con il nostro controllo gratuito della visibilità IA.

Quando non serve passare al rendering lato server?

Non ogni sito JavaScript va riscritto. Un portale clienti, uno strumento di prenotazione o un'applicazione dietro un login non ha bisogno di traffico di ricerca, quindi basta il rendering lato client. Quelle aree vorrà comunque tenerle fuori dalla ricerca.

Se il suo sito attuale mostra il contenuto nel sorgente della pagina, usa veri tag di collegamento e l'ispezione dell'URL non solleva dubbi, non c'è motivo di cambiare il metodo di rendering. Ricostruire un impianto che funziona per timori legati alla ricerca crea nuovi difetti. Prima misuri, poi decida.

JavaScript non è il nemico della visibilità nella ricerca; il nemico è il contenuto che esiste solo dopo l'esecuzione di JavaScript. Metta contenuto, link e tag delle pagine importanti nel primo HTML e lasci il resto dell'interazione al browser. Se desidera esaminare insieme come appare oggi il suo sito ai motori di ricerca, può fissare un incontro conoscitivo con rabbitclip.

Domande frequenti

Google indicizza i siti JavaScript?

Sì. Riceve prima l'HTML grezzo, poi esegue il JavaScript in un passaggio di rendering. Quel passaggio può subire ritardi e non tutti i crawler lo eseguono, quindi è più sicuro tenere i contenuti importanti nel primo HTML.

Un sito costruito con React o Vue è un problema per la SEO?

No. Il problema non è il framework, ma il modo in cui il contenuto viene consegnato. Con rendering lato server o generazione anticipata sullo stesso framework, il contenuto arriva nel primo HTML e il problema scompare.

Come controllo come appare una pagina a un motore di ricerca?

Visualizzi il sorgente della pagina e usi lo strumento di ispezione dell'URL in Search Console. Entrambi mostrano se testo principale, titolo e link sono visibili.

Il rendering dinamico è una soluzione?

Servire ai motori di ricerca una versione separata già renderizzata è stata usata come ripiego, ma è difficile da mantenere e non è vista come raccomandazione a lungo termine. La soluzione duratura è il rendering lato server o la generazione anticipata.

Un sito JavaScript lento influisce sul posizionamento?

Indirettamente. Gli script pesanti danneggiano la velocità di interazione e il tempo di caricamento, il che indebolisce sia l'esperienza dell'utente sia le misurazioni dell'esperienza di pagina.

Condividi

Servizio correlatoSEO, GEO & AEOFacciamo in modo che il suo sito sia visibile nella ricerca, nelle risposte dell’IA e nei riquadri di risposta. Dalla SEO tecnica alla SEO locale ed e-commerce, fino a GEO e AEO, procediamo in un unico piano.

Strumenti gratuiti correlati

Termini del glossario

Articoli correlati

Altro su questo tema

Se non sa da dove iniziare, non è un problema: è nel posto giusto.

Il progetto che ha in mente può essere già definito, oppure ancora solo un'idea. Vanno bene entrambi. Con una breve conversazione parliamo insieme di dove si trova e dove può arrivare.

Organizziamo un incontro
Parliamo del progetto