robots.txt: guida all’impostazione per il tuo sito web e per Google

Da sempre al centro dell’attenzione per le attività SEO, il file robots.txt è perlopiù uno strumento che viene utilizzato a sproposito; per combattere la cattiva informazione che ancora oggi spopola sul web, cercheremo di chiarire passo-passo le varie criticità che lo riguardano.

Che cos’è è il file robots.txt

Chiamato tecnicamente protocollo di esclusione robot , si tratta di un file di testo che indica le regole e le restrizioni di scansione da applicare sulle pagine web di un sito. Il file è scritto in chiaro ed è pubblicamente disponibile sulla maggioranza dei siti web, ad esempio per il sito google.it si può trovare aprendo google.it/robots.txt. Generalmente sono interessati al contenuto del file robots.txt gli addetti ai lavori (SEO e webmaster) oltre che i crawler dei motori di ricerca.

Protocolli supportati dal robots.txt

I protocolli utilizzati dal robots.txt sui siti sono HTTPS e HTTP, mediante una GET non condizionale. Google accetta eventuali robots.txt anche visibili via protocollo FTP, per la cronaca.

Visibilità del robots.txt

Ogni sito dovrebbe avere il proprio robots.txt che rimane valido per l’intero dominio. Se il sito è singolo, basta inserire un robots.txt che sia accessibile dalla cartella principale del sito (senza sottocartelle). Se invece uno stesso sito sito ha più versioni multilingua suddivise per URL o più sottodomini, bisogna fare più attenzione.

Queste indicazioni possono essere utili per i siti multilingua, i multi-siti in WordPress oppure i siti web composti da più sottodomini. Queste sono le regole che segue Google nella sua documentazione ufficiale (vedi a fine articolo il link).

  1. Un file robots.txt in un dominio è valido solo per quel dominio. Quindi ad esempio http://www.example.com/robots.txt vale per http://www.example.com, ma non per http://pippo.example.com/
  2. Se un dominio non ha configurato correttamente il CNAME del prefisso www, example.com/robots.txt sarà valido per example.com ma non per www.example.com
  3. Un file robots.txt in un dominio è valido per tutte le sottocartelle di quel dominio. Quindi ad esempio http://www.example.com/robots.txt vale sia per http://www.example.com/abc che per per http://www.example.com/xyz
  4. HTTPS: per rendere correttamente visibile un file robots.txt è anche necessario che il protocollo TLS, se disponibiel, sia correttamente configurato e non presenti problemi di mixed content: per intenderci, http://www.example.com/robots.txt non è visibile per https://www.example.com/ a meno che non ci sia un opportuno redirect da HTTP a HTTPS.

A che serve il robots.txt

Il file utilizza una sintassi molto semplice che permette al webmaster di definire le “aree” o path che sono attraversabile da un crawler di motore di ricerca oppure no.

 

CMS (WordPress, Joomla!, …) e robots.txt

Il fatto che sia un file .txt non implica automaticamente che sia un file fisicamente rintracciabile via FTP: molti CMS come ad esempio WordPress lo virtualizzano, cioè lo rendono reperibile da browser senza conservarne una copia come file all’interno di /htdocs o /www.

Sintassi del file robots.txt

In genere ci sono una serie di righe ognuna delle quali è scritta come:

direttiva: valore

quindi ad esempio:

User-agent: *

oppure:

Disallow: /

La direttiva indica il tipo di istruzione o “suggerimento” che stiamo dando al crawler, mentre il valore dopo i due punti indica il riferimento della direttiva. Esempi di user-agent possono essere i browser web, i crawler dei motori, i lettori multimediali, i client di posta e naturalmente.

La posizione della sitemap XML in un file robots.txt si possono specificare così:

Sitemap: https://www.google.com/sitemap.xml

Sono ammesse più sitemap, se necessario: basta ripetere più volte la stessa riga con gli URL corrispondenti.

I commenti in un file robots.txt si possono inserire con un # come primo carattere della riga:

# Come se fosse antani

Ad oggi non esiste una sintassi unificata per il robots.txt, per cui non tutti gli user-agent sono in grado di riconoscere ogni direttiva.

robots.txt permissivo al massimo

Per permettere l’accesso a tutto il sito web (va bene in molti casi pratici):

User-agent: *
Disallow:

Bloccare un intero sito

Per bloccare un intero sito:

User-agent: *
Disallow: /

Bloccare un’intera directory di un sito

Per bloccare lo scaricamento di una directory:

User-agent: *
Disallow: /directory/

Bloccare una pagina specifica di un sito

Per bloccare una pagina:

User-agent: *
Disallow: /pagina.html

Direttiva allow

Google è in grado di riconoscere anche la direttiva allow, per consentire la scansione di una sezione specifica, ad esempio possiamo avere robots.txt misti (di seguito ad esempio stiamo consentendo a tutti (*) di scansionare le cartelle /about e /howsearchworks, e stiamo suggerendo di non farlo alla cartella /search)

User-agent: *
Disallow: /search
Allow: /search/about
Allow: /search/howsearchworks

robots.txt versus .htaccess

Non bisogna fare confusione tra le indicazioni che vengono date al robots.txt (che sono in genere facoltative da seguire per i motori) e quelle di un file di direttive come ad esempio .htaccess (che sono direttive obbligatorie per tutti). Le seconde, in genere, sovrastano tecnologicamente le prime, nel senso che hanno sempre la precedenza a parità di condizioni espresse. Se ad esempio in un file robots.txt lasciamo tutto scansionabile:

User-agent: * 
Disallow:

ma poi esiste un blocco per la home del sito che richieda username e password, il sito non sarà scansionabile nè indicizzabile.

Nel contesto di server Apache, ad esempio, il file .htaccess da’ delle direttive che il server è obbligato ad eseguire, e che valgono per motori di ricerca, bot e utenti. Il file robots.txt è invece un file che indica dei “suggerimenti” per i crawler in modo da facilitarne il lavoro (e come molte cose cose “in buonafede”, in molti casi ha un’utilità ed una portata limitate).

Errori comuni sul file robots.txt (da evitare)

I comandi del file robots.txt non sono regole che tutti i crawler devono seguire, ma sono piuttosto linee guida per l’accesso ai siti. Googlebot e altri web crawler affidabili seguono le istruzioni contenute in un file robots.txt, ma non è detto che altri crawler facciano altrettanto.

Utilizzarlo per nascondere sottodirectory interne di un sito. Attenzione, questo sistema è insicuro! In molti casi capitano robots.txt di siti in WordPress che presentano disallow sulla cartella wp-admin, wp-content o wp-include. Per quanto non sia sbagliato concettualmente, non si tratta di un procedimento ottimale: prima di tutto, così facendo, stiamo mettendo in chiaro un’informazione molto utile per eventuali attacchi informatici, cioè che il nostro sito è fatto in WordPress e che al suo interno potrebbero esserci informazioni riservate. In secondo luogo anche se i crawler affidabili rispettano le istruzioni di un file robots.txt, altri potrebbero interpretarle in modo imprevedibile. Per garantire la reale sicurezza delle informazioni riservate, ti consigliamo di utilizzare altri metodi di blocco, come la protezione mediante password dei file privati presenti sul tuo server (htaccess).

Utilizzarlo per nascondere una pagina ai motori. Attenzione, non serve a questo! Sebbene Google non esegua la scansione o l’indicizzazione dei contenuti bloccati dal file robots.txt, potrebbe comunque trovare e indicizzare un URL non consentito dal robots mediante un backlink esterno. Di conseguenza, l’indirizzo URL e, potenzialmente, anche altre informazioni disponibili pubblicamente, quali l’anchor text nei link che rimandano alla pagina, potrebbero continuare a essere visualizzati nei risultati della Ricerca Google. Per evitare che l’URL venga visualizzato nei risultati di Google, si suggerisce ancora una volta di proteggere tramite password i file sul server oppure usare il meta tag noindex, cambiare l’URL di risposta con uno diverso da 200 o rimuovere del tutto la pagina (404).

(fonte)

4.57/5 (7)

Ti piace / Ti sembra utile?