La notifica di Google su CSS e JavaScript bloccati nel robots.txt

Il 28 Luglio 2015, Google ha inviato a moltissimi webmaster delle email – e notifiche all’interno di Search Console – simili a quella qui sopra. Il messaggio è chiaro: secondo Google, il robots.txt limita l’accesso ad alcuni file JavaScript e/o CSS, e questo può causare problemi all’indicizzazione di alcuni contenuti, o addirittura “ranking inferiori a quelli ottimali“. In altre parole, Google ci dice di individuare le risorse bloccate, aggiornare il file robots.txt e quindi verificare con la funzione “Visualizza come Google” che tutto si sia sistemato.

Non bloccare CSS e JS!

Sono anni che Google ci dice di non bloccare i JavaScript e i CSS, di permettere insomma al Googlebot di scansionarli. La prima volta il 26 Marzo 2012:

nel video qui sopra, Matt Cutts suggerisce di “rimuovere i blocchi” dal robots.txt, per permette al crawler di “farsi una idea migliore di quello che c’è sulla pagina”. E aggiunge anche una frase un po’ sibillina (verso il minuto 1:10), che suona più o meno così: “ciò aiuta tutti; se possiamo trovare migliori risultati nelle ricerche, saremo in grado di restituirli agli utenti”. Il 23 Maggio 2014 è invece la volta di Erik Hendriks, Michael Xu e Kazushi Nagayama, che sul Webmaster Central Blog annunciano che Google è ora in grado di “comprendere meglio le pagine web”. Il punto più interessante dell’articolo è probabilmente questo:

Se le risorse come JavaScript o CSS, in file separati, sono bloccate (ad esempio, col robots.txt) in modo che Googlebot non è in grado di recuperarle, i nostri sistemi di indicizzazione non saranno in grado di vedere il tuo sito come lo vede un utente medio. Consigliamo di consentire a Googlebot di recuperare JavaScript e CSS in modo che il contenuto possa essere indicizzato meglio. Ciò è particolarmente importante per i siti mobile, dove le risorse esterne come CSS e JavaScript aiutano i nostri algoritmi a capire se sono pagine ottimizzate per il mobile.

Da notare sia l’accenno alla miglior indicizzazione, sia quello al mobile-friendly (che diventerà un tormentone solo qualche mese dopo). Il 27 Ottobre 2014 è il turno di Pierre Far, che sempre sul Google Webmaster Central Blog annuncia un aggiornamento alle linee guida per i webmaster:

Per un rendering e una indicizzazione ottimale, le nostre nuove linee guida specificano che si dovrebbe consentire a Googlebot l’accesso a JavaScript, CSS e immagini utilizzate nelle tue pagine. Questo permette il rendering e l’indicizzazione ottimale del tuo sito. Non consentire la scansione di JavaScript o CSS del tuo sito, nel file robots.txt, danneggia direttamente il modo con cui i nostri algoritmi fanno il rendering e l’indicizzazione dei tuoi contenuti, e ciò può portare ad un ranking non ottimale.

In pratica, più o meno la stessa frase riportata nell’email di Google di qualche giorno fa.

WordPress e la cartella wp-includes

A moltissimi utilizzatori di WordPress, fra cui il sottoscritto, l’avviso è arrivato perché il robots.txt bloccava… le faccine! 😀 Google mi ha segnalato infatti il blocco di wp-includes/js/wp-emoji-release.min.js, che credo abbia a che fare con le emoji, emoticon, smiley o – per dirla all’italiana – le faccine. Ringrazio Google e faccio subito un mea culpa: mi sono accorto che sul TagliaBlog avevo un robots.txt davvero pieno zeppo di inutili disallow, probabilmente copiato e incollato da vecchie discussioni trovate su WordPress.org che suggerivano cose tipo questa: User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-includes/js Disallow: /trackback Disallow: /category/*/* Disallow: */trackback Disallow: /*?* Disallow: /*? Disallow: /*~* Disallow: /*~ Proprio in quella vecchissima discussione, Mika Epstein intervenne dicendo che il robots.txt di default di WordPress è: User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/ E’ forse questo il motivo delle tantissime email/notifiche di Google che hanno inondato le mailbox dei webmaster? In ogni caso, se usi WordPress e vuoi seguire le indicazioni del noto “guru della SEO” Joost de Valk (meglio conosciuto come Yoast), il suggerimento è quello di bloccare esclusivamente la cartella wp-admin, e lasciare libero tutto il resto.

Allow e Disallow

E se invece volessi sbloccare solo JS e CSS al Googlebot, e mantenere bloccato tutto il resto? In questo caso, Gary Illyes (Webmaster Trends Analyst di Google) consiglia di aggiungere al robots.txt queste 3 righe: User-Agent: Googlebot Allow: .js Allow: .css

Conclusione

Potremmo riassumere il punto di vista di Google su questo tema con quanto pubblicato qualche giorno fa da John Mueller sul suo profilo di Google+:

Bloccare CSS e JS è qualcosa che aveva senso tanti anni fa, quando i motori di ricerca non erano evoluti come oggi, e non potevano indicizzare e posizionare questi file nelle SERP. Fortunatamente, da molto tempo non è più il caso di farlo, e oggi è estremamente utile permettere al Googlebot di accedere ai file CSS e JS così da fargli comprendere come è davvero una pagina. E’ mobile-friendly? Ha del contenuto che potrebbe non essere visualizzato togliendo JavaScript? Il blocco dei file CSS e JS è uno dei più grossi problemi che stiamo attraversando.

Mueller suggerisce la lettura di questa risorsa (che parla di file JavaScript, CSS e immagine bloccati); io ti consiglio anche questa (che spiega in dettaglio il robots.txt, dal punto di vista di Google). Buon sblocco! 🙂