Creare un file robots.txt

Per iniziare

Il file robots.txt risiede nella directory principale del sito. Quindi, per il sito www.example.com, il file robots.txt si trova all'indirizzo www.example.com/robots.txt. Il file robots.txt è un file di testo normale conforme al Protocollo di esclusione robot. Un file robots.txt è formato da una o più regole. Ogni regola blocca (o consente) l'accesso di un determinato crawler a un percorso di file specificato nel sito web in questione.

Di seguito è riportato un semplice file robots.txt con due regole, spiegate sotto:

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

Spiegazione:

  1. Lo user agent denominato "Googlebot" non è autorizzato a eseguire la scansione della directory http://example.com/nogooglebot/ o di qualsiasi sottodirectory.
  2. Tutti gli altri user agent sono autorizzati a eseguire la scansione dell'intero sito. Se questa regola fosse stata omessa, il risultato sarebbe stato uguale perché il presupposto è l'accesso completo.
  3. Il file Sitemap del sito si trova all'indirizzo http://www.example.com/sitemap.xml.

Consulta la sezione Sintassi per ulteriori esempi.

Linee guida di base per i file robots.txt

Di seguito sono riportate alcune linee guida di base relative ai file robots.txt. Ti consigliamo di leggere la sintassi completa dei file robots.txt perché ha un comportamento non immediatamente evidente che dovresti comprendere.

Formato e posizione

Puoi utilizzare quasi ogni editor di testo per creare un file robots.txt. L'editor di testo dovrebbe essere in grado di creare file di testo UTF-8 standard. Non utilizzare un elaboratore di testi; questi spesso salvano i file in un formato proprietario e possono aggiungere caratteri non previsti, come le virgolette curve, che possono causare problemi per i crawler.

Regole per il formato e la posizione:

  • Il nome del file deve essere robots.txt.
  • Puoi avere un solo file robots.txt per il tuo sito.
  • Il file robots.txt deve risiedere nella directory principale dell'host del sito web a cui si applica. Ad esempio, per controllare la scansione di tutti gli URL compresi in http://www.example.com/, il file robots.txt deve trovarsi all'indirizzo http://www.example.com/robots.txt. Non può essere posizionato in una sottodirectory (ad esempio, in http://example.com/pages/robots.txt). Se hai dubbi su come accedere alla directory principale del tuo sito web o se hai bisogno di autorizzazioni per farlo, contatta il fornitore di servizi di hosting web. Se non riesci ad accedere alla directory principale del tuo sito web, usa un metodo di blocco alternativo come i meta tag.
  • Un file robots.txt può essere applicato ai sottodomini (ad esempio, http://website.example.com/robots.txt) o a porte non standard (ad esempio http://example.com:8181/robots.txt).
  • I commenti sono i contenuti che seguono il simbolo #.

Sintassi

  • Il file robots.txt deve essere un file di testo con caratteri UTF-8 (che comprende ASCII). Non è possibile utilizzare altri set di caratteri.
  • Un file robots.txt è formato da uno o più gruppi.
  • Ogni gruppo è formato da diverse regole o istruzioni, una per riga.
  • Un gruppo fornisce le seguenti informazioni:
    • A chi si applica il gruppo (lo user agent)
    • Le directory o i file a cui l'agente può accedere e/o
    • Le directory o i file a cui l'agente non può accedere.
  • I gruppi vengono elaborati dall'alto verso il basso e uno user agent può corrispondere a un solo insieme di regole, ovvero alla prima regola più specifica che si applica a un determinato user agent.
  • La supposizione predefinita è che uno user agent possa eseguire la scansione di pagine o directory non bloccate da una regola Disallow:.
  • Le regole sono sensibili alle maiuscole. Ad esempio, Disallow: /file.asp si applica a http://www.example.com/file.asp, ma non a http://www.example.com/FILE.asp.

Nei file robots.txt vengono usate le seguenti istruzioni:

  • User-agent: [Valore obbligatorio, uno o più per gruppo] L'istruzione specifica il nome di un motore di ricerca robot (software web crawler) che va cui viene applicata la regola. Si tratta della prima riga di ogni gruppo. I nomi degli user agent di Google sono elencati nell'elenco di user agent di Google. Se usi un asterisco (*), come nell'esempio che segue, la regola viene applicata a tutti i crawler tranne ai vari crawler AdsBot, i cui nomi devono essere indicati espressamente. Esempi:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • Disallow: [Almeno una o più voci Disallow o Allow per regola] Una directory o una pagina, relative al dominio principale, di cui non vuoi venga eseguita la scansione da parte dello user agent. Se la regola si riferisce a una pagina, deve essere indicato il nome completo mostrato nel browser; se si riferisce a una directory, il nome dovrebbe terminare con il carattere /.
  • Allow: [Almeno una o più voci Disallow o Allow per ogni regola] Una directory o una pagina, relative al dominio principale, che devono essere sottoposte a scansione dallo user agent appena menzionato. Questa opzione viene usata al posto di Disallow per consentire la scansione di una sottodirectory o di una pagina in una directory non consentita. Per una singola pagina, deve essere specificato il nome completo della pagina mostrato nel browser. Se si tratta di una directory, la regola deve terminare con il carattere/.
  • Sitemap: [Valore facoltativo; nessun valore o più valori per ogni file] La posizione di una Sitemap relativa al sito web. L'URL della Sitemap deve essere completo; Google non suppone l'esistenza di versioni alternative http/https/www.non-www e non le controlla. Le Sitemap rappresentano un valido metodo per indicare i contenuti che Google dovrebbe sottoporre a scansione e i contenuti che Google può o non può sottoporre a scansione. Scopri di più sulle Sitemap. Esempio:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

Tutte le istruzioni, tranne sitemap, supportano il carattere jolly * per il prefisso, il suffisso o l'intera stringa del percorso.

Le righe che non corrispondono a nessuna di queste istruzioni vengono ignorate.

Un altro file di esempio

Un file robots.txt è formato da uno o più gruppi, che iniziano ognuno con una riga User-agent in cui viene specificato il target dei gruppi. Di seguito è riportato un file con due gruppi, spiegati tramite commenti incorporati:

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

Sintassi completa dei file robots.txt

Puoi trovare qui la sintassi completa dei file robots.txt. Leggi la documentazione completa perché la sintassi del file robots.txt ha alcune parti complesse che è importante imparare a usare.

Regole utili per i file robots.txt

Di seguito alcune regole utili per i file robots.txt:

Regola Esempio
Non consentire la scansione dell'intero sito web. Ricorda che, in alcune situazioni, gli URL del sito web potrebbero essere comunque indicizzati, anche se non sono stati sottoposti a scansione.

User-agent: *
Disallow: /
Non consentire la scansione di una directory e dei relativi contenuti facendo seguire il nome della directory da una barra. Ricorda che non devi utilizzare il file robots.txt per bloccare l'accesso ai contenuti privati, bensì l'autenticazione corretta. Gli URL non consentiti dal file robots.txt possono essere comunque indicizzati senza essere sottoposti a scansione e il file robots.txt può essere visualizzato da chiunque, comunicando eventualmente il percorso dei contenuti privati.

User-agent: *
Disallow: /calendar/
Disallow: /junk/
Consentire l'accesso a un singolo crawler.

User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Consentire l'accesso a tutti i crawler tranne uno.

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Non consentire la scansione di una singola pagina web indicando la pagina dopo la barra.


User-agent: *
Disallow: /private_file.html

Bloccare un'immagine specifica su Google Immagini.


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Bloccare tutte le immagini del tuo sito su Google Immagini.


User-agent: Googlebot-Image
Disallow: /

Non consentire la scansione di un tipo di file specifico (ad esempio, .gif).


User-agent: Googlebot
Disallow: /*.gif$

Non consentire la scansione di un intero sito, ma mostrare gli annunci AdSense nelle pagine; non consentire l'accesso a tutti i web crawler diversi da Mediapartners-Google. Questa implementazione consente di non visualizzare le tue pagine nei risultati di ricerca, ma il web crawler Mediapartners-Google potrà ancora analizzarle per stabilire quali annunci mostrare ai visitatori del tuo sito.


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Usa il carattere $ per applicare la regola agli URL che terminano con una stringa specifica. Ad esempio, questo codice di esempio blocca tutti gli URL che terminano con .xls.

User-agent: Googlebot
Disallow: /*.xls$