Il nuovo paragrafo di Inerario (§ 17) spiega come utilizzare in modo intelligente i meta tag robots sui siti costruiti su WordPress.
Ai non professionisti ricordo che si tratta di uno dei possibili modi di influire sulla indicizzazione del sito sui cosiddetti «motori» di ricerca.
http://www.eugigufo.net/it/inerario/paragrafo17/
L’archivio del tag «seo»
Supponiamo di voler utilizzare sul nostro sito i meta tag robots. Il loro inserimento nei codici delle singole pagine sarebbe stato una operazione semplicissima, ma i siti moderni sono ormai tutti (o quasi) fatti con i CMS: con il codice comune a tutte le pagine (o a dei grossi insiemi di esse). I parametri dei meta tag robots da noi voluti, però, potrebbero variare da pagina a pagina. La soluzione esiste ed è abbastanza semplice.
Prima di tutto rifiutiamo l’idea di creare una molteplicità delle pagine header.php solo per metterci i meta tag diversi: associare i header ai rispettivi contenuti e aggiornarli in base alle necessità mutate è un lavoro troppo impegnativo che tende ad azzerare i vantaggi dell’utilizzare un tema. E noi siamo pigri.
Di conseguenza, dobbiamo ragionare in modo strutturato e immaginare prima di tutto i casi in cui potrebbero variare i parametri dei meta tag robots.
1. I meta tag robots per le pagine-doppioni
Come ho già accennato nel paragrafo dedicato alla costruzione di un file robots.txt corretto, i CMS generano una grande quantità delle pagine almeno in parte coincidenti tra loro nei contenuti. Quindi noi dobbiamo prima di tutto vietare l’indicizzazione di tutte le pagine-doppioni. Tali pagine sono generate dalle seguenti funzioni:
– la funzione che mostra i contenuti delle categorie;
– la funzione che mostra ogni genere di archivio;
– la funzione che mostra gli archivi per anni;
– la funzione che mostra gli archivi per mesi;
– la funzione che mostra gli archivi per giorni;
– la funzione che mostra gli archivi per date;
– la funzione che mostra gli archivi per autori;
– la funzione che mostra le pagine con i tag;
– la funzione che mostra la tassonomia delle pagine casuali;
– la funzione che mostra le pagine con dei file allegati;
– la funzione che mostra il menu di navigazione tra le pagine in sequenza;
– la funzione che mostra le pagine dei feed;
– la funzione che mostra le pagine dei risultati delle ricerche interne al sito.
Ecco, il nostro compito consiste nell’inserire i meta tag robots con i parametri di diniego noindex e nofollow nei codici delle pagine dell’elenco sovrastante tra i tag <head> e </head>.
Lo possiamo fare con una funzione inserita nel file functions.php subito sotto il tag di apertura <?php.
Ecco il suo codice:
function pagdoppie_robots () { if (is_archive() or is_category() or is_feed () or is_author() or is_date() or is_day() or is_month() or is_year() or is_tag() or is_tax() or is_attachment() or is_paged() or is_search()) { echo "".'<meta name="robots" content="noindex,nofollow" />'."\n"; } } add_action('wp_head', 'pagdoppie_robots');
In sostanza, questa funzione contiene una condizione che «scatterà» con l’avvio di ognuna delle funzioni elencate e tramite il comando echo aggiungerà il meta tag robots nel codice delle pagine-doppioni. Poi, con l’aiuto dell’action hook wp_head la nostra azione verrà automaticamente attaccata alla funzione wp_head(), la quale, a sua volta, inserirà il meta tag nel header tra i tag <head> e </head>.
Ebbene, è tutto qui. Dopo un tempo relativamente breve, entro un paio di giorni, le pagine-doppioni scompariranno dai risultati di ricerca di Google e altri «motori». E vi resteranno solo quelle sensate e originali, raccogliendo dunque più visite di prima.
2. I meta tag robots per le pagine determinate
Ora ipotizziamo di voler utilizzare i meta tag robots solo per alcune singole pagine del sito, quelle contenenti i testi originali. Non importa se le abbiamo create attraverso la voce «pagina» o «articolo» delmenu di WordPress: il loro codice sorgente è in ogni caso molto simile a tutte le altre.
Di conseguenza, anche in questo caso dobbiamo scrive una funzione da inserire nel file functions.php del nostro tema. L’unica differenza di questa funzione dalla precedente è l’utilizzo della funzione «is_page» con l’elenco degli ID delle pagine alle quali vogliamo applicare i meta tag robots:
function pagalcune_robots () { if ((is_page(array(11, 222, 345)))) { echo "".'<meta name="robots" content="noindex,nofollow" />'."\n"; } } add_action('wp_head', 'pagalcune_robots');
Ovviamente, al posto dei numeri utilizzati nel mio esempio («11», «222» etc) dovete inserire gli ID corretti delle vostre pagine.
Non sapete come scoprire l’ID di una pagina? È semplicissimo. Andate sulla admin di WordPress del vostro sito, entrate nella sezione «articoli» o «pagine» (in base alla modalità con la quale avete pubblicato la pagina) e posizionate il cursore sopra il nome della pagina alla quale volete applicare i meta tag. L’unico numero che vedrete nell’indirizzo comparso in basso è l’ID della pagina (sì, proprio quello dopo la dicitura ?post=).
Qualora si volesse applicare i meta tag robots a una sola pagina (invece che a più pagine), il codice della funzione sarà ancora più semplice:
function pagina_robots () { if ((is_page('123'))) { echo "".'<meta name="robots" content="noindex,nofollow" />'."\n"; } } add_action('wp_head', 'pagina_robots');
Ovviamente anche in questo caso non dovete dimenticare di inserire l’ID corretto al posto di «123».
E pure questo caso è da considerare risolto.
P.S. Naturalmente, le operazioni descritte in questo paragrafo non sono necessarie qualora volessimo negare l’indicizzazione dell’intero sito. In quest’ultimo caso, infatti, è sufficiente inserire nel codice della pagina header.php questa riga:
<meta name="robots" content="noindex, nofollow" />
Immaginiamo di non avere la possibilità, voglia o capacità di creare/modificare il file robots.txt del proprio sito. Oppure immaginiamo di non volerlo ingrandire troppo. In tutti questi casi potremmo impostare l’indicizzazione del nostro sito o di alcune sue pagine (cioè la sua comparsa tra i risultati di ricerca) con i meta tag da inserire direttamente nel codice. Nonostante una quantità molto limitata dei possibili parametri di tale tag, esso permette di impostare l’indicizzazione in un modo preciso e dettagliato.
La sintassi del meta tag robots è talmente semplice che mi sembra superfluo spiegarla. Passiamo subito allo studio degli esempi concreti.
Prima di tutto ricordatevi che il meta tag robots non fa distinzione tra le lettere maiuscole e minuscole (come tutti gli altri tag di HTML). Di conseguenza, possiamo scrivere così:
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"/>
Oppure, per esempio, così:
<META name="ROBOTS" CONTENT="noindex, nofollow"/>
Entrambi gli esempi sono perfettamente funzionanti e producono lo stesso effetto.
Come avrete potuto intuire dai codici precedenti, a variare sono i parametri del «content». Ecco il loro elenco, breve e allo stesso tempo completo:
– index – indicizzare il testo della pagina,
– noindex – non indicizzare il testo della pagina,
– follow – seguire i link della pagina e indicizzarli,
– nofollow – non seguire i link della pagina e non indicizzarli,
– all – indicizzare il testo della pagina, seguire e indicizzare i suoi link,
– none – non indicizzare il testo della pagina, non seguire e non indicizzare i suoi link.
Oltre alla indicazione di un parametro permissivo, esistono altri due modi di autorizzare l’indicizzazione. Il primo – generale – consiste nell’ommettere l’intero meta tag. Il secondo, invece, consiste nell’ommettere uno dei possibili parametri del «content».
Facciamo un esempio. L’assenza del parametro relativo ai link della pagina verrà interpretata come l’autorizzazione a seguire e indicizzare i link:
<meta name="robots" content="noindex" />
L’esempio appena visto del codice farà dunque lo stesso effetto di questo:
<meta name="robots" content="noindex, follow" />
Il divieto totale della indicizzazione della pagina si realizza nel seguente modo:
<meta name="robots" content="noindex, nofollow" />
Il modo più breve per negare totalmente l’indicizzazione alla pagina:
<meta name="robots" content="none" />
Mentre l’autorizzazione alla totale indicizzazione della pagina può anche essa essere fatta con un elenco di due parametri:
<meta name="robots" content="index, follow" />
Oppure di un unico parametro «all»:
<meta name="robots" content="all" />
E ora ipotizziamo la situazione del conflitto tra due meta tag. Immaginiamo che essi contengano i parametri opposti:
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, follow" />
Ebbene, ricordiamoci che nel caso di un conflitto il robot di ricerca applicherà il meta tag permissivo: nell’esempio appena fatto si tratta di quello alla riga 2.
Oltre alla solita indicizzazione delle pagine potremmo necessitare di vietare ai robot di ricerca a salvare le nostre pagine nei propri cache (cioè archivi). Questo è realizzabile con l’aiuto del parametro «noarchive»:
<meta name="robots" content="noarchive"/>
Bisogna ricordare, però, che anche nel caso del divieto totale della indicizzazione (quindi con l’utilizzo contemporaneo dei parametri noindex e nofollow) la pagina non finirà nel cache.
Ecco, ora sapete anche voi come si comunica con i robot attraverso i meta tag.
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.
Il nuovo paragrafo di Inerario (§ 14) è dedicato alla costruzione di un file robots.txt corretto e ottimale. Come ben sanno i miei lettori, dal file robots.txt dipende — in una buona misura — il posizionamento delle pagine dei siti tra i risultati di ricerca su Google e altri «motori».
Il testo è di una lunghezza leggermente superiore alla media, ma tocca tutti gli aspetti che un amministratore, developer o addetto al SEO dovrebbe trovarsi ad affrontare nelle condizioni di lavoro medie.
http://www.eugigufo.net/it/inerario/paragrafo14/
Diamo pure per scontato che tutti sappiano che cosa sia un file robots.txt (in sostanza, regola la comparsa o meno delle pagine del sito tra i risultati di ricerca sui cosiddetti «motori» di ricerca) e perché è importante farlo bene (per escludere dai risultati di ricerca le pagine tecniche e quelle con i contenuti privati e/o non significanti, migliorando il posizionamento di quelle importanti).
L’obbiettivo del presente paragrafo è fornire alcuni consigli sulla creazione di un file robots.txt realmente efficace. Evitiamo le lungaggini manualistiche e andiamo per punti.
1. Come creare un file robots.txt
Apriamo un qualsiasi editor di testo (gli utenti di Windows si troveranno benissimo con il Blocco note presente su tutti i computer) e salviamo un file vuoto con il nome robots e l’estensione .txt (infatti, è un semplice file di testo, non uno script).
Attenzione: al 99,99% il vostro sito ha già questo file (si trova nella root, quindi il suo indirizzo è nomesito.it/robots.txt). Seguendo i consigli di questo paragrafo potete modificarlo o sostituirlo con la vostra versione.
I più pigri possono utilizzare uno dei numerosissimi servizi online per generare un file robots.txt in automatico. Allo stesso tempo bisogna ricordare che il file creato manualmente rispecchierà in modo più preciso le vostre preferenze circa il rapporto del sito con i motori di ricerca. L’interpretazione del file generato online e la sua correzione, invece, possono portare alle sviste tragiche per il vostro successo su internet. In ogni caso, il file robots.txt può essere aggiornato e perfezionato manualmente in qualsiasi momento.
2. Qual è il contenuto minimo del file robots.txt
Il contenuto minimo indispensabile di un file robots.txt è quello che autorizza l’indicizzazione del 100% del sito. Questo significa che tutti i file caricati – anche quelli non utilizzati sulle pagine del sito – potranno uscire tra i risultati delle ricerche.
Tale contenuto minimo è:
User-agent: * Allow: /
Se, invece, volessimo vietare l’indicizzazione dell’intero sito, il contenuto minimo del file robots.txt diventa questo:
User-agent: * Disallow: /
3. Le impostazioni corrette del file robots.txt
La prima cosa che dobbiamo sapere del file robots.txt è: le istruzioni in esso contenute sono solo delle istruzioni e non delle barriere insuperabili. I meccanismi – robots – dei motori di ricerca di qualità (come, per esempio, Google o Yandex) seguono fedelmente le istruzioni contenute nei file robots.txt, mentre gli altri potrebbero anche ignorarle.
Ma questo non significa che non dobbiamo impegnarci. Dobbiamo dunque comprendere bene le regole, la sintassi e le direttive del file robots.txt.
Un buon file robots.txt inizia con la direttiva User-agent che indica al quale robot sono rivolte le direttive elencate nelle righe che la seguono.
Gli esempi del User-agent nel file robots.txt:
# Indica le direttive a tutti i robot contemporaneamente User-agent: * # Indica le direttive a tutti i robot del Google User-agent: Googlebot # Indica le direttive a tutti i robot del Yandex User-agent: Yandex # Indica le direttive solo al robot principale del Yandex User-agent: YandexBot
Del codice appena riportato è importantissimo capire due cose. In primo luogo, vediamo che in un file robots.txt possono essere indicati più User-agent (uno generico e uno per ogni «motore» di ricerca al quale vogliamo dare delle istruzioni). In secondo luogo, vediamo che a ogni «motore» di ricerca vengono fornite solo le istruzioni elencate per il User-agent con il suo nome (quindi potremmo anche dare istruzioni diverse ai «motori» diversi).
Facciamo un esempio pratico:
# Sara utilizzata da tutti i robot del Google User-agent: Googlebot Disallow: /*utm_ # Sara utilizzata da tutti i robot del Yandex User-agent: Yandex Disallow: /*utm_ # Sara utilizzata da tutti i robot tranne quelli di Google e Yandex User-agent: * Allow: /*utm_
La direttiva User-agent si limita a «richiamare l’attenzione» del rispettivo robot del «motore» di ricerca, mentre le direttive seguenti danno le istruzioni concrete da eseguire. Nell’ultimo esempio la direttiva «Disallow» (diniego) ha il valore «*utm_». In tal modo escludiamo dai risultati di ricerca tutte le pagine con i parametri UTM.
Sempre dall’ultimo esempio possiamo imparare che nel file robots.txt le istruzioni per ogni robot (cioè gli User-agent) vanno raggruppati in blocchi divisi con una riga vuota l’uno dall’altro (è una regola obbligatoria!). Un blocco può contenere le istruzioni per un solo robot oppure le regole comuni a tutti i robot (in questo ultimo caso il valore del User-agent è «*»).
Un’altra cosa importante è il rispetto dell’ordine corretto delle direttive «Disallow» (diniego) e «Allow» (permesso, quindi il contrario della precedente). Facciamo subito un esempio pratico:
User-agent: * Disallow: /blog Allow: /blog/page
Nell’esempio appena riportato abbiamo negato a tutti i robot (si veda «*») l’indicizzazione (la visualizzazione tra i risultati) di tutte le pagine il cui indirizzo inizia con «/blog» (quindi l’indirizzo nomesito.it/blog non comparirà tra i risultati). Allo stesso tempo abbiamo consentito l’indicizzazione delle pagine i cui indirizzi iniziamo con il percorso «/blog/page». L’ordine di indicazione del diniego e del permesso deve essere proprio quello: vietare tutta la sezione e poi autorizzare quelle sue parti che secondo noi possono essere trovate dai terzi.
Prima di procedere dobbiamo vedere le nozioni essenziali sulla sintassi del file robots.txt.
4. La sintassi del file robots.txt
Per creare un file robots.txt interpretabile in modo corretto dai robot di ricerca, bisogna seguire una serie di semplicissime regole:
1. Ogni direttiva inizia da una riga nuova;
2. Non iniziare una riga con uno spazio [vuoto];
3. Il parametro di una direttiva deve essere tutto sulla stessa riga;
4. I parametri delle direttive non devono essere racchiuse tra le virgolette;
5. I parametri delle direttive non richiedono il punto e virgola di chiusura;
6. Le istruzioni in un file robots.txt hanno il formato [Nome_direttiva]:[spazio_non_obbligatorio][valore][spazio_non_obbligatorio]
7. I commenti sono possibili nel file robots.txt, ma devono iniziare con il simbolo «#»;
8. Una riga vuota è considerata come il segno della fine della direttiva User-agent;
9. La direttiva «Disallow: » (cioè con il valore vuoto) equivale a «Allow: /» (cioè autorizzare tutto);
10. Per ogni direttiva «Allow» o «Disallow» può essere indicato solo un parametro;
11. Il nome del file robots.txt deve contenere solo le lettere minuscole;
12. È fortemente consigliato di evitare le maiuscole nei nomi delle direttive (tranne la prima lettera) e nei parametri: il file robots.txt non fa la differenza tra le maiuscole e le minuscole, ma i nomi dei file e delle directory spesso sì;
13. Se il parametro di una direttiva è una directory, quest’ultima deve essere preceduta da uno slash «/», per esempio: Disallow: /category
14. I file robots.txt troppo pesanti (più di 32 KB) vengono interpretati come completamente permissivi, quindi equivalenti a «Disallow: » (di conseguenza, evitate di metterci delle direttive inutili, meglio averne poche ma realmente necessarie);
15. Il file robots.txt inaccessibile o assente viene considerato completamente permissivo;
16. Il file robots.txt vuoto viene considerato completamente permissivo;
17. Nel caso della indicazione di più direttive «User-agent» non divise tra loro da una riga vuota, solo la prima «User-agent» viene interpretata, mentre quelle seguenti andranno ignorate (l’unica eccezione è il robot del russo Yandex);
18. L’uso dei simboli appartenenti agli alfabeti nazionali non è ammissibile (quindi niente vocali accentate italiane).
5. Come verificare il funzionamento del file robots.txt
Prima di tutto il file robots.txt va creato, salvato e caricato nella root del sito. Successivamente, accertata la sua presenza all’indirizzo nomesito.it/robots.txt, è possibile servirsi degli strumenti di controllo disponibili su internet. Io ne indico solo due:
– lo strumento di controllo di Google: https://www.google.com/webmasters/tools/siteoverview?hl=it
– lo strumento di controllo di Yandex (molte cose si capiscono anche senza la conoscenza del russo): http://webmaster.yandex.ru/robots.xml
6. È meglio un robots.txt generico o dedicato?
Le persone esperte hanno osservato che i file robots.txt dedicati (cioè con i «User-agent: Googlebot», «User-agent: Yandex» etc anche quando i loro contenuti sono identici) funzionano meglio del solo generico «User-agent: *». Non si conosce una spiegazione razionale di questo fenomeno. Probabilmente, anche ai grossi siti piace essere chiamati per nome.
7. La direttiva Disallow vista in dettaglio
Disallow è la direttiva più frequentemente utilizzata nei file robots.txt. Essa può essere utilizzata per il diniego della indicizzazione dei siti interi o delle loro parti singole (che altrimenti sarebbero indicizzati per default, senza la necessita della direttiva Allow).
Abbiamo già visto che il diniego della indicizzazione generica dell’intero sito va fatta nel seguente modo:
User-agent: * Disallow: /
Nei parametri della Direttiva Disallow è ammissibile l’uso dei simboli speciali «*» e «$». Vediamoli molto brevemente:
* – il simbolo indica un insieme illimitato di simboli di ogni genere. Così, per esempio, al parametro /page* corrispondono /page, /page1, /page-ciao-mario, /page-che-ne-so etc. Allo stesso tempo è importante ricordare che non è necessario mettere il simbolo * alla fine di ogni parametro, ma solo quando a un inizio comune a più parametri possibili seguono, appunto, le diverse varianti. Mentre queste due direttive saranno interpretate allo stesso modo:
User-agent: Googlebot Disallow: /page User-agent: Googlebot Disallow: /page*
$ – il simbolo indica la precisa corrispondenza del parametro alla pagina che si vuole escludere dai risultati di ricerca. Se, per esempio, volessimo negare l’indicizzazione della pagina /page ma non delle pagine /page, /page1, /page-ciao-mario, /page-che-ne-so etc la direttiva dovrà essere fatta in questo modo:
User-agent: Googlebot Disallow: /page$
8. La direttiva Allow vista in dettaglio
Allow è la direttiva permissiva, l’opposto della appena vista direttiva Disallow. La direttiva Allow funziona secondo la stessa logica e sintassi della Disallow.
Facciamo solo un esempio pratico. Immaginiamo di voler vietare l’indicizzazione di tutto il sito tranne quelle sue pagine i cui indirizzi iniziano con /page.
Ecco la direttiva:
User-agent: * Disallow: / Allow: /page
9. Le direttive Allow e Disallow con i parametri di valore vuoto
La direttiva Allow senza alcun parametro vieta l’indicizzazione dell’intero sito:
User-agent: * Allow:
Lo stesso fa un esempio che abbiamo già visto in precedenza:
User-agent: * Disallow: /
La direttiva Disallow senza alcun parametro non vieta alcunché e quindi autorizza l’indicizzazione dell’intero sito:
User-agent: * Disallow:
Lo stesso fa un esempio che abbiamo visto in precedenza:
User-agent: * Allow: /
10. La direttiva sitemap
Le due scuole di pensiero esistenti cercano di imporci due opinioni opposte sulla opportunità o meno di far indicizzare la mappa del sito. Il mio compito non è quello di appoggiare una delle due. Mi limito a dire che per negare l’indicizzazione dovete utilizzare la direttiva Disallow, mentre per farla indicizzare utilizzate la direttiva apposita Sitemap:
User-agent: * Disallow: /page Sitemap: http://www.mysite.ru/sitemap.xml
11. La direttiva Clean-param
La direttiva Clean-param permette di escludere dalla indicizzazione le pagine con i parametri dinamici. Tali pagine potrebbero avere gli URL diversi tra loro ma i contenuti identici. Pensate agli articoli raggruppati per tag, categorie e date: è abbastanza facile che su più pagine compaiano gli stessi testi. Quindi la stessa pagina potrebbe essere disponibile a più indirizzi. Molti di quei indirizzi sono dinamici e noi li escludiamo dalla indicizzazione con l’aiuto della direttiva Clean-param.
La sintassi della direttiva Clean-param è:
Clean-param: parm1[&parm2&parm3&parm4&..&parmn] [Percorso]
Immaginiamo di avere una pagina con l’URL www.nomesito.it/page.html?&parm1=1&parm2=2&parm3=3
Quindi nel nostro file robots.txt la direttiva Clean-param avrà questo parametro:
Clean-param: parm1&parm2&parm3 /page.html # solo per page.html
Ma, se serve, possiamo fare anche così:
Clean-param: parm1&parm2&parm3 / # per tutte le pagine
12. La direttiva Crawl-delay
La direttiva Crawl-delay permette di ridurre il carico sul nostro server qualora i robot «visitassero» troppo spesso il nostro server. Tale direttiva è utile prevalentemente nel caso dei siti con una alta quantità delle pagine.
Quindi ipotizziamo di voler chiedere ai «motori» di ricerca di scaricare le pagine del nostro sito non più spesso di una volta in – per esempio – tre secondi. La direttiva sarà fatta così:
User-agent: Googlebot Disallow: /page Crawl-delay: 3
Ovviamente il numero dei secondi può essere cambiato.
13. I commenti nel file robots.txt
Nel file robots.txt i commenti devono iniziare con il simbolo «#». Tutto ciò che è scritto da quel simbolo fino al termine della riga è considerato un commento e viene dunque ignorato dai robot di ricerca.
Vediamo un esempio pratico dei possibili modi corretti di scrivere i commenti nel file robots.txt:
User-agent: * # Il commento puo' iniziare all'inizio di una riga nuova Disallow: /page # oppure essere la continuazione della riga con una direttiva # I robot # ignorano # i commenti
14. L’esempio di un file robots.txt completo
Un esempio di un file robots.txt completo è impossibile da fare. Infatti, il file deve rispecchiare le necessità concrete dell’amministratore del sito e corrispondere alla organizzazione di quest’ultimo.
Spero che questo paragrafo vi sia d’aiuto nella creazione di un robots.txt ottimale.