Googlebot può leggere JavaScript: come dovrebbero reagire i SEO?
Pubblicato: 2017-12-11Tradizionalmente, i motori di ricerca hanno solo letto e visualizzato il codice HTML di un sito web. Ciò significava che l'ottimizzazione del codice HTML era ciò su cui i SEO dovevano concentrarsi. Cosa significa per l'ottimizzazione dei motori di ricerca se Googlebot è ora in grado di eseguire la scansione e l'indicizzazione di JavaScript? Abbiamo chiesto ad alcuni esperti del settore di scoprirlo.

Googlebot e JavaScript: cosa dicono gli esperti
Per avere una serie di punti di vista sull'argomento Googlebot e JavaScript, abbiamo posto ai nostri esperti le seguenti domande:
- Google afferma che Googlebot può eseguire la scansione di siti Web basati su JavaScript: quali sfide e opportunità vedete per i SEO?
- Quali aspetti particolari dovrebbe considerare qualcuno se sta pianificando un rilancio di un sito Web JavaScript?
- Quali cambiamenti in termini di efficienza e precisione prevedi derivino da un aggiornamento del rendering web in Chrome?
E qui arrivano le risposte.
Martin Tauber
Socio amministratore, Marketing Factory GmbH
I siti Web basati su JavaScript offrono grandi opportunità in termini di esperienza utente perché sono più veloci e più interattivi da utilizzare.
Tuttavia, il Googlebot ha ancora difficoltà nell'interpretazione di JavaScript, il che significa che lo sviluppo deve essere estremamente pulito e deve essere radicato in una stretta collaborazione con l'unità SEO, se si vogliono evitare spiacevoli sorprese.
Domenico Wojcik
Amministratore delegato, agenti fiduciari
Ci sono opportunità in quanto ora non hai due mondi di programmazione separati (ad esempio per i frammenti sfuggiti), permettendoti di concentrarti su codice pulito e un ambiente web pulito. Finché gli sviluppatori considerano il miglioramento progressivo e sviluppano le loro applicazioni web di conseguenza, Google dovrebbe essere in grado di farcela bene.
Ci sono, tuttavia, sfide nascoste. Quale quadro viene utilizzato? Ci sarà il rendering lato client o è possibile implementare il rendering lato server? Potrebbe anche essere possibile implementare JavaScript isomorfo? JavaScript è implementato internamente o esternamente? Come SEO, dovremo fare un'incredibile quantità di test e provare diverse cose, al fine di garantire che Google indicizzi e pesi le nostre pagine come desideriamo.
Prima di un rilancio, occorre prendere una decisione attenta sul framework da utilizzare. È necessario considerare sia la scansione che le prestazioni. Idealmente, dovrebbe essere creato un ambiente di test che consenta di testare lo sviluppo attuale dall'esterno, se viene utilizzato il rendering lato client. Detto questo, consiglio vivamente di utilizzare anche il rendering lato server. Ciò influisce sulle prestazioni del server, ma dovrebbe ridurre al minimo i rischi. Soprattutto, devi davvero testare, testare e testare, utilizzando fetch & render per vedere cosa trova, indicizza e scansiona Googlebot.
Se Google dovesse finalmente passare a una versione di Chrome superiore alla V49, potremmo utilizzare Chrome senza testa in combinazione con qualcosa come Rendertron per creare ambienti di test che ci consentano di simulare una configurazione simile a quella di Googlebot. Questo ci aiuterebbe a capire meglio come e cosa può interpretare Google. Questo renderebbe le cose molto più facili per noi SEO
Bartosz Goralwicz
Co-fondatore e responsabile SEO, Elephate
Al Searchmetrics Summit di novembre 2017, Bartosz Goralwicz di Elephate ha parlato della relazione tra Googlebot e JavaScript:
Stephan Czysch
Fondatore e amministratore delegato, agenti fiduciari

Non vogliamo che SEO (o agenzie) sentano le persone dire: "A proposito, passeremo presto a JavaScript. C'è qualcosa a cui dobbiamo pensare in termini di SEO? Non dovrebbe essere, dovrebbe esserci? Ma sarebbe fantastico se tu potessi dare una rapida occhiata prima che andiamo online con il nuovo sito lunedì". Questo scenario finirebbe inevitabilmente nel caos più completo. Bartosz [nel video sopra] ha fornito uno sguardo meraviglioso sull'argomento JavaScript e SEO.
Oltre a chiedere cosa può visualizzare Google, i SEO dovrebbero guardare, quando rilancia un sito web, a ciò che il bot può vedere e stabilire cosa è diverso dal vecchio sito web. Di recente ho avuto a che fare con un sito Web in cui l'intero sistema di collegamento interno è stato incasinato a seguito di un rilancio di JavaScript, perché la logica di collegamento del vecchio sito non è stata trasferita. C'erano anche problemi di hreflang. È quindi essenziale lavorare con un elenco di controllo delle "caratteristiche SEO" desiderate. Inoltre, dovresti chiederti cosa significa veramente il rendering JavaScript per i tuoi usi: che tipo di hardware stanno usando per accedere al tuo sito web e in che modo ciò influirà sui tempi di caricamento? Per ulteriori informazioni su questo argomento, posso consigliare questo articolo di Addy Osmani.

Sebastiano Adler
Consulente SEO , leap.de
Anche con una migliore capacità di eseguire la scansione di JavaScript, Google preferirà il contenuto HTML puro perché occupa meno risorse. La domanda non è se Google può leggere e rendere JS, ma se puoi e vuoi togliere parte del lavoro dalle mani di Google. Se il mio contenuto può essere letto, funziona e si carica rapidamente perfettamente senza JS, allora è ancora meglio per me.
La capacità di rendere dipende sempre dalla tecnologia che sta dietro e, come ha detto Bartosz (rispetto a lui per tutto lo sforzo che mette nei suoi esperimenti e ricerche!), devi comprendere appieno la tecnologia se vuoi sfruttarla al meglio . La grande opportunità qui sta nel ridurre al minimo i rischi fornendo contenuti importanti come HTML e usando JS solo come è inteso: per funzionalità aggiuntive. La difficoltà maggiore sta nel trovare errori se ti impegni completamente in JavaScript.
Quando rilancia una pagina, assicurati che il contenuto con cui desideri classificare funzioni senza JavaScript. Ciò include non solo il contenuto principale, ma anche gli elementi di navigazione. Molte pagine non hanno un menu quando JS è disattivato. Ha senso non includere ogni singola caratteristica di fantasia, ma chiedersi se una funzione è davvero necessaria per la tua attività e il tuo pubblico di destinazione. Quale sarebbe l'impatto se una determinata funzionalità non funzionasse? E poi fare le prove pertinenti.
Oltre al fatto che non mi aspetto che Google comunichi molto bene l'aggiornamento del rendering web ai webmaster, mi aspetto che la cosa principale che cambierà sarà la suscettibilità agli errori. Chrome e i framework si sviluppano molto rapidamente e con le nuove versioni è probabile che nuovi bug entrino in RWS.
Alcune cose verranno sicuramente elaborate più rapidamente o renderizzate in modo più pulito. Ma il problema principale rimane lo stesso. Il codice errato (dal punto di vista del motore in uso) non può essere interpretato. Dobbiamo scoprire come il motore interpreta il nostro codice. Durante lo sviluppo, questo cambia lo strumento che dobbiamo usare per il debug. Ma se hai le tue risorse più importanti come file HTML (ecc.) a caricamento rapido, non devi preoccuparti: puoi concentrarti sul corretto lavoro SEO.
Bjorn Beth
Direttore dei servizi professionali, Searchmetrics

Dobbiamo distinguere tra scansione e indicizzazione. Google può eseguire la scansione di JavaScript, ma richiede molte più risorse rispetto alla scansione di puro HTML. È più problematico per l'indicizzatore che esegue il rendering dei collegamenti (URL) ricevuti dal crawler con l'aiuto del servizio di rendering Web (WRS), in modo simile a Fetch & Render nella Search Console. Per fare ciò, Google utilizza il proprio browser Chrome (versione 41). Con l'aiuto del browser, tenta di creare un Document Object Model (DOM) e di interpretare la pagina nello stesso modo in cui verrà visualizzata in un browser. Ciò può causare problemi, poiché Google, ad esempio (come mostrato nei test eseguiti da Distilled e Bartosz Goralewicz), non è in grado di far fronte a problemi nel codice o si verificano altri problemi di grandi dimensioni durante il rendering, quindi Google interrompe il rendering della pagina dopo cinque secondi . Ciò è stato dimostrato nei test condotti da Screaming Frog.
Fondamentalmente, JavaScript rende la scansione e l'indicizzazione molto più complicate e crea una relazione altamente inefficiente tra i due. Se la SEO è importante per te, dovresti sempre assicurarti che un bot possa leggere le tue pagine nel modo più rapido ed efficiente possibile.
Prima di eseguire il riavvio da un sito Web basato su HTML a un framework o una libreria basati su JavaScript, è necessario assicurarsi che sia incluso il rendering lato server. Ad esempio, React viene fornito con una propria soluzione, chiamata renderToString. Questo utilizza un'interfaccia DOM indipendente dal browser che esegue il rendering del JavaScript sul server, crea il DOM e lo invia al bot. AngularJS utilizza Angular Universal. Questo dimostra al client tutto ciò che è importante come HTML pre-renderizzato. Il client ottiene quindi JavaScript come richiesto. Tuttavia, puoi anche lavorare con Chrome senza testa sul server e inviare HTML prerenderizzato al bot.
Soprattutto, mi aspetto che un rendering più veloce ed efficiente provenga da Chrome 59, andando verso prestazioni alla pari del puro HTML. Solo i test diranno se questo accade davvero.
Scansiona nel fango: valuta lo stato di salute del tuo sito web
Analizza sia l'HTML che il JavaScript con l'ottimizzazione della struttura del sito, incluso il crawler JavaScript, ora con Searchmetrics! I tuoi vantaggi:
- Scansiona tutti i framework JavaScript rilevanti, inclusi Angular e React
- Migliora le prestazioni del sito Web attraverso un elenco prioritario di problemi tecnici
- Confronta le scansioni con e senza la scansione JavaScript
Leggi di più sulla nostra scansione JavaScript
E cosa ne pensi?
Questo è ciò che pensano questi cinque esperti, ma abbiamo molti più esperti che leggono questo blog. Allora cosa ne pensi di JavaScript? Hai già apportato modifiche ai tuoi siti web? Hai già scoperto qualcosa di interessante nei tuoi test?
