Come ben sanno molti di voi, un file robots.txt di qualità ha una notevole importanza per la popolarità della maggioranza dei siti web. Nel paragrafo precedente abbiamo visto i principi generali per la creazione di un buon robots.txt.
Molti di voi sanno però altrettanto bene che un sito web basato su un CMS ci aggiunge delle difficoltà in più nella creazione del robots.txt realmente efficiente. Le difficoltà consistono nel dover vietare l’indicizzazione di una molteplicità di pagine generate automaticamente dal CMS (nel nostro specifico caso il WordPress) che ripetono i contenuti delle pagine originali create dagli amministratori del sito. Si tratta quindi delle pagine-doppioni sulle quali i contenuti vengono richiamati e visualizzati perché selezionati per categoria, tag, data, anno, mese etc. Eliminando tutti i doppioni dai risultati di ricerca sui «motori» (Google e altri) facciamo aumentare l’affidabilità del sito e la quantità delle visite alle sue pagine originali.
Inoltre, per motivi di sicurezza conviene eliminare dai risultati di ricerca tutte le pagine che riguardano l’amministrazione del nostro sito.
Vediamo subito un esempio pratico di un file robots.txt scritto appositamente per un sito costruito su WordPress. Ecco il suo testo minimo indispensabile (l’unica cosa che dovrete necessariamente cambiare è l’indirizzo del sito all’ultima riga):
User-agent: * # la direttiva per i robots diversi da quelli di Google e Yandex Disallow: /cgi-bin # una directory del vostro spazio web Disallow: /? # tutti i parametri della ricerca sulla home Disallow: /wp- # tutti i file di WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # nel caso della eventuale esistenza del sottocatalogo /wp/ dove e installata la CMS Disallow: *?s= # ricerca Disallow: *&s= # ricerca Disallow: /search/ # risultati ricerca Disallow: /author/ # archivio autori Disallow: /users/ # archivio autori Disallow: */trackback # tutti i trackback nei commenti Disallow: */feed # tutti i feed Disallow: */rss # i feed via rss Disallow: */embed # tutti gli elementi incorporati Disallow: */wlwmanifest.xml # il file xml del Windows Live Writer (se non lo utilizzate, eliminate la direttiva) Disallow: /xmlrpc.php # il file WordPress API Disallow: *utm= # i link con i parametri utm Disallow: *openstat= # i link con i parametri openstat Allow: */uploads # la directory con i file uploads User-agent: GoogleBot # la direttiva per Google (evito di ripetere i commenti identici) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # gli script js dentro alla /wp- (/*/ — per la priorita) Allow: /*/*.css # i file css dentro alla /wp- (/*/ — per la priorita) Allow: /wp-*.png # le immagini nei plugin, cartella cache etc Allow: /wp-*.jpg # le immagini nei plugin, cartella cache etc Allow: /wp-*.jpeg # le immagini nei plugin, cartella cache etc Allow: /wp-*.gif # le immagini nei plugin, cartella cache etc Allow: /wp-admin/admin-ajax.php # utilizzata dai plugin per non bloccare JS e CSS User-agent: Yandex # la direttiva per Yandex.ru (non ripeto i commenti in quanto sarebbero uguali ai precedenti) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php # Non dimenticatevi di indicare il file Sitemap (senza indicarlo per ogni User-agent Sitemap: http://nomesito.it/sitemap.xml
Come potete vedere, il significato di ogni direttiva è spiegato dal relativo commento (come ben sapete, nei file robots.txt i commenti iniziano con il simbolo #).
Alla fine della lista di istruzioni per ogni User-agent potete eventualmente aggiungere tutte le direttive che ritenete necessarie secondo le vostre esigenze. Infatti, una volta dichiarate tutte le istruzioni rese necessarie dalle particolarità tecniche del WordPress, si passa a stabilire le regole — questa volta sulla indicizzazione o non delle pagine del sito — di carattere più ampio già descritte nel paragrafo precedente.
Inoltre, come ho già scritto, è consigliato non far indicizzare le pagine-doppioni, quali gli archivi (creati secondo vari possibili criteri) e i raggruppamenti per categorie e tag. A tal fine dobbiamo aggiungere nell’esempio appena riportato le seguenti righe:
Disallow: /tag # le pagine dei tag Disallow: /category # le pagine delle categorie Disallow: /archive # lepagine degli archivi
Potete metterle in ogni blocco User-agent dopo la riga Disallow: /users/
A questo punto mi restano da aggiungere solo tre precisazioni:
1. Il percorso della mappa del sito (Sitemap) va indicato solo una volta in tutto il file robots.txt.
2. A causa della evoluzione dei meccanismi di Google e altri «motori» di ricerca, non ha più senso vietare l’indicizzazione delle cartelle wp-content, cache, plugins e themes. Ma anche se lo fate, non succede nulla di grave.
3. Evitate di inventare delle regole particolari troppo strane. Per esempio, la direttiva Disallow: /10 nasconderà non solo i vari archivi con le date, ma anche gli articoli con i nomi del tipo «10 consigli su come conquistare le ragazze cinesi» (se l’URL è stato generato dal nome dell’articolo).
Ecco, ora penso di avervi fornito tutte le informazioni essenziali.
P.S.: ovviamente, il file robots.txt deve essere caricato nella root.