Il robots.txt, come lo vuole Google

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! 🙂

Condividi su facebook
Facebook
Condividi su google
Google+
Condividi su twitter
Twitter
Condividi su linkedin
LinkedIn
Condividi su pinterest
Pinterest

13 Comments

  • Evidentemente Gary Illyes non lavora quotidianamente con la parte SEO di centinaia di siti, altrimenti saprebbe che la maggior parte dei plugin per CMS free (es. BWP Minify, W3 Total Cache per WordPress, e così via), appendono dei parametri GET alle versioni minificate di .css e .js. Usando le righe robots suggerite da lui, quindi, Googlebot continuerebbe a NON vedere quelle risorse. Il robots corretto è così:

    User-Agent: *
    Allow: *.js$
    Allow: *.css$
    Allow: *.js?*$
    Allow: *.css?*$

    Questo permette anche di scansionare file del tipo
    miosito.it/style.css?qualcosa=qualcosa

  • In effetti non è esattamente chiaro il perchè dell’invio massivo delle mail, che vogliano intervenire seriamente penalizzando i siti che non consentono una “comprensione completa” della loro struttura?! Ad ogni modo bisogna garantire l’accesso ai .js e come dice giustamente Danilo Petrozzi, utilizzando sistemi di caching bisogna dare l’accesso anche alle versioni con parametri GET appesi!

  • Se la notifica del blocco del robots.txt dipende, come nel mio caso, esclusivamente dagli script e stili delle emoji, si può anche ovviare rimuovendoli completamente: in questo modo si riducono ben due richieste http a tutto vantaggio delle performance nel caricamento della pagina, sempre che si voglia rinunciare all’utilizzo delle faccine.
    Basta inserire nel functions.php del proprio tema queste righe di codice:

    remove_action( 'wp_print_styles', 'print_emoji_styles' );
    remove_action( 'admin_print_styles', 'print_emoji_styles' );
    remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );

  • Ciao,
    ricevuto la comunicazione da GWT di contenuti bloccati, ma tramite FTP non riesco a trovare il file robots.txt nella root …. ho una installazione di wordpress.
    da GWT trovo il classico
    User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    che vorrei cambiare

    mi sapete dire come posso risolvere? grazie

  • Prova a creare un file robots.txt con un editor di testo, mettendo dentro solo:

    User-agent: *
    Disallow: /wp-admin/

    Sitemap: https://blog.tagliaerbe.com/sitemap.xml

    (Ovviamente cambia l’URL della sitemap con quella del tuo sito).

    Poi caricalo via FTP nella root della tua installazione WordPress, quindi vai in GWT->Scansione->Tester dei file robots.txt e invia il nuovo robots.txt

  • Ciao,
    Search console da qualche giorno indica una risorsa bloccata nel robots.txt del mio sito:
    Disallow: /wp-content/ (BLOCCATO)
    Allow: /wp-content/uploads/
    Allow: /wp-content/themes/enfold/js/
    Allow: /wp-content/themes/enfold/css/
    Allow: /wp-content/themes/enfold/style.css
    Allow: /wp-content/includes/js/
    ……..
    Questa impostazione era in uso da qualche mese. Non capisco perchè adesso non vada più bene.
    Ho verificato e visto che il blocco riguarda le risorse legate a cache/minify/000000…
    Io uso W3TC.
    Cosa ne pensi?
    Grazie 1000!

  • Ciao Davide una curiosità, perché carichi la sitemap tramite file robots.txt. Come dice il doc. di google il robots.txt andrebbe utilizzato solo per escludere non per includere/indicizzare. Grazie in anticipo per la risposta.

  • @Adelaide, a meno che non hai qualcosa di “segreto” dall’interno di /wp-content/ , credo tu possa sbloccare l’intera cartella, o eventualmente solo quello che c’è sotto cache/minify/ (se la segnalazione ti è stata fatta per quello specifico percorso).

  • Ciao, mi riallaccio a questo vecchio post se attuale, ma per Joomla! come consigliate di fare, al momento è così:

    User-agent: *
    Disallow: /administrator/
    Disallow: /bin/
    Disallow: /cache/
    Disallow: /cli/
    Disallow: /components/
    Disallow: /includes/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /layouts/
    Disallow: /libraries/
    Disallow: /logs/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /tmp/

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Max Valle

Max Valle

Da oltre 20 anni, fornisco consulenze per aziende e professionisti, che vogliono sviluppare il loro business, 
aumentando i clienti, utilizzando le ultime tecnologie e nel pieno rispetto delle normative vigenti in materia.

Seguimi sui social

Iscriviti alla Newsletter

Main sponsor

Scroll to Top

Utilizziamo i cookie per personalizzare contenuti ed annunci, per fornire funzionalità dei social media e per analizzare il nostro traffico. Condividiamo inoltre informazioni sul modo in cui utilizza il nostro sito con i nostri partner che si occupano di analisi dei dati web, pubblicità e social media, i quali potrebbero combinarle con altre informazioni che ha fornito loro o che hanno raccolto dal suo utilizzo dei loro servizi. Acconsenta ai nostri cookie se continua ad utilizzare il nostro sito web. Per maggiori informazioni visualizza la Privacy & Cookie policy