Francesco Giammanco Exit Reader Mode

SEO e Javascript: i limiti dell’ottimizzazione

L’articolo prende spunto da una pagina ufficiale, Concetti di base della SEO per JavaScript, ma ne amplia la portata aggiungendo commenti autorevoli sulla capacità di indicizzazione delle pagine.

Cos’è Javascript?

Javascript (abbreviato JS) è un linguaggio di programmazione orientato agli oggetti e interpretato.

Ha una sintassi basata sui linguaggi di programmazione più famosi come C++ e Java e ne condivide molte costruzioni del linguaggio.

Le applicazioni più famose e utilizzate riguardano il web client side e il suo caricamento impatta sulla velocità di caricamento delle pagine e sulla capacità di essere interpretate dai bot.

Che rapporto ha con Googlebot?

Nel maggio del 2019 Google annuncia la completa lettura da parte di Googlebot delle pagine che utilizzano Javascript e fogli di stile (CSS).

Nonostante l’entusiasta dichiarazione molti specialisti SEO cominciano a sondare i limiti della nuova scansione, che si rivela in ogni caso sicuramente più affidabile delle versioni precedenti.

Per comprendere come Googlebot possa analizzare i siti, bisogna conoscere il servizio di rendering web (WRS) e il sistema di elaborazione del codice Javascript.

Elaborazione di Javascript e WRS

WRS o servizio di rendering web è un browser che riesce ad accedere al codice sorgente di un sito, ed equivale per gli utenti all’opzione Visualizza come Google presente in Search Console.

Ovviamente lo scopo di questo servizio sarebbe di rendere visualizzabile il sito ai bot alla stessa maniera di come lo visualizza un utente tramite un browser tradizionale, ma non sempre questo accade.

I passaggi effettuati durante un’elaborazione sono i seguenti:

Problemi con crawlers diversi da Googlebot

Non tutti i crawlers leggono perfettamente Javascript, motivo per cui è sempre meglio eseguire alcuni processi in pre-rendering o SSR (server side rendering) per far si che la prima scansione riporti tutti gli elementi HTML che devono essere presenti nella pagina.

Risoluzione problemi SEO con Javascript

I problemi principali nel rendering di un file riguarda ovviamente solo quelli HTML (non certo i PDF o altro), e una delle cause principali degli errori in questo caso riguarda la presenza di codice Javascript esterno e non incorporato nella pagina, come nell’esempio:

<script type = "text / javascript" src = "https://www.example.com/wp-admin/javascript.js" />

Il problema principale nasce a causa di eventuali directory bloccate dal robots.txt che non permettono di recuperare il file javascript.

Un problema altrettanto comune è inerente alla sincronizzazione tra i file javascript esterni e la cache della pagina.

Molto spesso i browser non continuano a recuperare gli elementi della pagina nel tempo, ma si affidano alle indicazioni della cache.

E terzo, sebbene Google faccia un controllo delle operazioni Javascript effettuate durante il caricamento della pagina, alcuni script che fanno richieste HTTP potrebbero non essere compatibili con il tipo di scansione effettuata dal motore di ricerca.

In realtà oltre queste tre categorie di possibili problemi difficilmente un bot controllerà:

Lazy loading

Per quando riguarda il caricamento “pigro” delle immagini non ci sono problemi particolari, basta seguire la guida di Google che potete raggiungere tramite questo link.

Verificare errori di indicizzazione

Sebbene l’indicizzazioni di pagine non eccessivamente complesse sia da considerarsi avvenuto, è sempre bene effettuare almeno una verifica manuale.

Per farlo basta effettuare una scansione con lo strumento Rendimento di Search Console, caricare una URL che abbia in comune con le altre gli script caricati e controllare le eventuali eccezioni presenti nella console Javascript.

A tal proposito bisogna però sapere che alcuni errori sono costitutivi, perché riguardano eventuali blocchi al permesso di scansione da parte di utenti che non siano registrati (es. una sezione privata del sito), ed effettivamente il bot non lo è.

Allo stesso modo molti dei dati della sessione potrebbero venire cancellati tra diversi caricamenti della pagina, ma un WRS non tiene conto del rapporto tra le aperture della varie pagine, quindi ogni controllo è da considerarsi disgiunto dagli altri.

Lo stesso ragionamento riguarda anche il salvataggio di cookie.

Per quanto riguarda invece il rilevamento delle funzionalità, ossia quelle operazioni riguardante API che tengono conto della geolocalizzazione e altro, come per esempio la risoluzione di WebGL. Molti di queste funzione sarebbe meglio che funzionassero con caricamenti server-side, per non generare problemi in un secondo momento.

Terminata questa operazione, o meglio ancora con una priorità identica a questa, è il caso di effettuare un’analisi che riguardi il caricamento della versione mobile del sito.

Per quanto riguarda invece eventuali problemi di visualizzazione in siti che lavorano utilizzando light DOM e shadow DOM, vi rimando ad un articolo sul tag slot e alle best practices relative ai componenti web.

Notifica per la pagina AMP. Il sistema serve per memorizzare la tua decisione sulla registrazione dei cookie.