Concetti di base della SEO per JavaScript

JavaScript è una parte importante della piattaforma web perché offre molte funzionalità che trasformano il Web in una potente piattaforma applicativa. Rendere le tue applicazioni web basate su JavaScript rilevabili tramite la Ricerca Google può aiutarti a trovare nuovi utenti e a coinvolgere nuovamente gli utenti esistenti, quando cercano i contenuti offerti dalle tue applicazioni web. Anche se la Ricerca Google esegue JavaScript con una versione sempre valida di Chromium, puoi comunque ottimizzare alcuni elementi.

Questa guida descrive il modo in cui la Ricerca Google elabora JavaScript e le best practice per migliorare le applicazioni web JavaScript per la Ricerca Google.

Elaborazione di JavaScript da parte di Googlebot

Googlebot elabora le applicazioni web JavaScript in tre fasi principali:

  1. Scansione
  2. Rendering
  3. Indicizzazione

Googlebot esegue la scansione e il rendering di una pagina, quindi la indicizza.

Googlebot prende un URL dalla coda di scansione, lo sottopone a scansione e lo trasferisce alla fase di elaborazione. La fase di elaborazione estrae i link che tornano nella coda di scansione e accoda la pagina per il rendering. La pagina passa dalla coda di rendering al renderer, che trasferisce di nuovo il codice HTML sottoposto a rendering alla fase di elaborazione, che indicizza i contenuti ed estrae i link per inserirli nella coda di scansione.

Quando Googlebot recupera un URL dalla coda di scansione tramite una richiesta HTTP, controlla innanzitutto se tu consenti la scansione leggendo il file robots.txt. Se nel file la scansione dell'URL è contrassegnata come non consentita, Googlebot salta la richiesta HTTP per questo URL e salta l'URL.

Googlebot analizza quindi la risposta per altri URL nell'attributo href dei link HTML e aggiunge gli URL alla coda di scansione. Per impedire il rilevamento del link, utilizza il meccanismo nofollow.

La scansione di un URL e l'analisi della risposta HTML funzionano bene per siti web classici o per pagine con rendering lato server, in cui l'HTML nella risposta HTTP include tutti i contenuti. Alcuni siti JavaScript potrebbero utilizzare il modello shell dell'app, in cui il codice HTML iniziale non presenta i contenuti effettivi e porta pertanto Googlebot a eseguire JavaScript prima di riuscire a vedere i contenuti effettivi della pagina generati da JavaScript.

Googlebot accoda tutte le pagine per il rendering, a meno che un meta tag o un'intestazione del file robots non indichi a Googlebot di non indicizzare una determinata pagina. La pagina potrebbe rimanere in questa coda per alcuni secondi, ma potrebbe anche restarci più a lungo. Quando le risorse di Googlebot lo consentono, un Chromium headless esegue il rendering della pagina ed esegue il codice JavaScript. Googlebot analizza di nuovo l'HTML di cui è stato eseguito il rendering per estrarre i link e aggiunge gli URL individuati alla coda di scansione. Googlebot utilizza l'HTML di cui è stato eseguito il rendering anche per indicizzare la pagina.

Tieni presente che il rendering lato server o il pre-rendering sono comunque un'ottima soluzione, perché rendono il tuo sito web più veloce per utenti e crawler e anche perché non tutti i bot possono eseguire JavaScript.

Descrivere la pagina con titoli e snippet univoci

Titoli univoci e descrittivi e meta descrizioni utili aiutano gli utenti a identificare rapidamente il risultato migliore per il loro scopo. Scopri quali caratteristiche rendono efficaci i titoli e le descrizioni nelle nostre linee guida.

Puoi utilizzare JavaScript per impostare o modificare la meta descrizione e il titolo.

Scrivere codice compatibile

I browser offrono molte API e JavaScript è un linguaggio in rapida evoluzione. Googlebot ha alcune limitazioni relative alle API e alle funzioni JavaScript che supporta. Per assicurarti che il tuo codice sia compatibile con Googlebot, segui le nostre linee guida per la risoluzione dei problemi relativi a JavaScript.

Utilizzare codici di stato HTTP significativi

Googlebot utilizza i codici di stato HTTP per scoprire se si sono verificati dei problemi durante la scansione della pagina.

Dovresti utilizzare un codice di stato significativo per comunicare a Googlebot se una pagina non deve essere sottoposta a scansione o indicizzazione, ad esempio un codice 404 per una pagina che non può essere trovata o un codice 401 per le pagine disponibili previo accesso. Puoi utilizzare i codici di stato HTTP per comunicare a Googlebot se una pagina è stata spostata su un nuovo URL, in modo che l'indice possa essere aggiornato di conseguenza.

Ecco un elenco dei codici di stato HTTP e del loro impiego:

Stato HTTP Quando usarlo
301/302 La pagina è stata spostata su un nuovo URL.
401/403 La pagina non è disponibile a causa di problemi di autorizzazione.
404/410 La pagina non è più disponibile.
5xx Si è verificato un problema lato server.

Utilizzare meta tag robots con attenzione

Puoi impedire a Googlebot di indicizzare una pagina o di seguire i link tramite il meta tag robots. Ad esempio, se aggiungi il seguente meta tag nella parte superiore della pagina, impedisci a Googlebot di indicizzare la pagina:

    <!-- Googlebot won't index this page or follow links on this page -->
    <meta name="robots" content="noindex, nofollow">

Quando Googlebot rileva "noindex" nel meta tag robots, non esegue il rendering o l'indicizzazione della pagina.

Correggere le immagini e i contenuti con caricamento lento

Le immagini possono incidere negativamente sulla larghezza di banda e sulle prestazioni. Una soluzione efficace consiste nell'uso del caricamento lento che consente di caricare le immagini solo quando l'utente sta per visualizzarle. Per assicurarti di implementare il caricamento lento in modo ottimizzato per la ricerca, segui le nostre linee guida per il caricamento lento.