Blocco degli URL con robots.txt

Creare un file robots.txt

Guida introduttiva

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:

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

 

Spiegazione:

  1. Lo user-agent denominato "Googlebot" (crawler) non deve eseguire la scansione della cartella http://example.com/nogooglebot/ o di eventuali sottodirectory.
  2. Tutti gli altri user-agent possono accedere all'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.

Forniremo un esempio più dettagliato in un secondo momento.

Regole di base dei file robots.txt

Di seguito sono riportate alcune regole di base sui file robots.txt. Prova a usare lo strumento Tester dei file robots.txt per scrivere o modificare i file robots.txt relativi al tuo sito. Questo strumento ti consente di testarne la sintassi e il comportamento direttamente sul sito. Dopodiché leggi la sintassi completa dei file robots.txt perché è un po' più complessa di quanto possa sembrare inizialmente.

Formato e posizione

Puoi utilizzare praticamente qualsiasi editor di testo per creare un file robots.txt. L'editor di testo deve essere in grado di creare file di testo con caratteri ASCII o UTF-8 standard; non utilizzare un elaboratore di testo perché spesso questi elaboratori 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 file robots.txt è un file di testo con caratteri ASCII o UTF-8. Non sono consentiti altri caratteri.
  • 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 contenuto in una sottodirectory (ad esempio, http://example.com/pages/robots.txt). Se hai dubbi su come accedere alla directory principale del tuo sito web o se ti occorre l'autorizzazione ad accedere, contatta il fornitore del tuo servizio 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 a sottodomini (ad esempio, http://sitoweb.example.com/robots.txt) o a porte non standard (ad esempio, http://example.com:8181/robots.txt).

Sintassi

  • Un file robots.txt è formato da uno o più insiemi di regole.
  • Ogni regola indica il nome di uno o più user-agent e descrive le directory o i file a cui lo user-agent può o non può accedere.
  • Le regole vengono elaborate dall'alto verso il basso e uno user-agent può corrispondere a un solo insieme di regole, ovvero alla prima più specifica regola che si applica a un determinato user-agent.
  • La supposizione predefinita è che uno user-agent possa eseguire la scansione di una pagina o una directory non bloccate da una regola Disallow:.
  • Per le regole viene fatta distinzione tra maiuscole e minuscole. Ad esempio, la regola Disallow: /file.asp viene applicata a http://www.example.com/file.asp, ma non a http://www.example.com/File.asp.

Nei file robots.txt vengono usate le seguenti parole chiave:

  • User-agent. [Valore obbligatorio; uno o più per ogni regola] Il nome del robot di un motore di ricerca (software web crawler) a cui viene applicata la regola. La maggior parte dei nomi di user-agent è indicata nel database Web Robots Database o nell'elenco di user-agent di Google. È supportato il carattere jolly * per il prefisso, il suffisso o l'intera stringa del percorso. 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. Consulta l'elenco di nomi dei crawler di Google.
    # Block all but AdsBot crawlers
    User-agent: *
  • Disallow. [Almeno una o più voci Disallow o Allow per ogni regola] Una directory o una pagina, relative al dominio principale, che non devono essere sottoposte a scansione dallo user-agent. Se si tratta di una pagina, deve essere indicato il nome completo mostrato nel browser; se si tratta di una directory, il nome dovrebbe terminare con il carattere /.  È supportato il carattere jolly * per il prefisso, il suffisso o l'intera stringa del percorso.
  • 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. Questo valore viene usato al posto di Disallow per consentire la scansione di una sottodirectory o di una pagina in una directory non consentita. Se si tratta di una pagina, deve essere indicato il nome completo mostrato nel browser; se si tratta di una directory, il nome dovrebbe terminare con il carattere /. È supportato il carattere jolly * per il prefisso, il suffisso o l'intera stringa del percorso.
  • Sitemap. [Valore facoltativo; nessun valore o più valori per ogni file] La posizione di una Sitemap relativa al sito web. Questa riga è facoltativa e puoi specificare diverse Sitemap, su righe separate. Le Sitemap rappresentano un valido metodo per distinguere i contenuti che Google deve sottoporre a scansione dai contenuti che Google può o non può sottoporre a scansione. Leggi ulteriori informazioni sulle Sitemap.

Le parole chiave sconosciute vengono ignorate.

Un altro file di esempio

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

# Impedisci a Googlebot di accedere a example.com/directory1/... e a example.com/directory2/...
# ma consenti l'accesso a directory2/subdirectory1/...
# Tutte le altre directory sul sito sono consentite per impostazione predefinita.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Blocca l'accesso di tutti gli altri crawler all'intero sito (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. Nota: questa regola non viene applicata ai vari crawler AdsBot, i cui nomi devono essere indicati espressamente.
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:

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 dell'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 può comunque 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$
Hai trovato utile questo articolo?
Come possiamo migliorare l'articolo?