Come scrivere e inviare un file robots.txt

Puoi controllare a quali file possono accedere i crawler sul tuo sito con un file robots.txt.

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 robots. Un file robots.txt è formato da una o più regole. Ogni regola blocca o consente l'accesso di tutti o di uno specifico crawler a un percorso di file specificato nel dominio o nel sottodominio in cui è ospitato il file robots.txt. A meno che non venga specificato diversamente nel file robots.txt, la scansione è implicitamente autorizzata per tutti i file.

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

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

Ecco cosa significano le istruzioni nel file robots.txt:

  1. Lo user agent denominato Googlebot non è autorizzato a eseguire la scansione di qualsiasi URL che inizia con https://example.com/nogooglebot/.
  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; il comportamento predefinito prevede che gli user agent siano autorizzati a eseguire la scansione dell'intero sito.
  3. Il file Sitemap del sito si trova all'indirizzo https://www.example.com/sitemap.xml.

Consulta la sezione Sintassi per ulteriori esempi.

Linee guida di base per la creazione di un file robots.txt

Per creare un file robots.txt e renderlo utile e pubblicamente accessibile sono necessari quattro passaggi:

  1. Creare un file denominato robots.txt.
  2. Aggiungere regole al file robots.txt.
  3. Caricare il file robots.txt nella directory principale del sito.
  4. Testare il file robots.txt.

Creare un file robots.txt

Puoi utilizzare praticamente qualsiasi editor di testo per creare un file robots.txt. Ad esempio, Blocco note, TextEdit, vi e Emacs sono in grado di creare file robots.txt validi. 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. Assicurati di salvare il file con la codifica UTF-8, se ti viene chiesto nella finestra di dialogo relativa al salvataggio del file.

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 a cui si applica. Ad esempio, per controllare la scansione di tutti gli URL compresi in https://www.example.com/, il file robots.txt deve trovarsi all'indirizzo https://www.example.com/robots.txt. Non può essere posizionato in una sottodirectory (ad esempio, in https://example.com/pages/robots.txt). Se hai dubbi su come accedere alla directory principale del tuo sito 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, usa un metodo di blocco alternativo come i meta tag.
  • Un file robots.txt può essere pubblicato su un sottodominio (ad esempio https://site.example.com/robots.txt) o su porte non standard (ad esempio https://example.com:8181/robots.txt).
  • Un file robots.txt si applica solo ai percorsi all'interno del protocollo, dell'host e della porta in cui viene pubblicato. In altre parole, le regole in https://example.com/robots.txt si applicano solo ai file in https://example.com/, non ai sottodomini come https://m.example.com/ o a protocolli alternativi, come http://example.com/.
  • Un file robots.txt deve essere un file di testo codificato in UTF-8 (che comprende ASCII). Google potrebbe ignorare i caratteri che non fanno parte della codifica UTF-8, invalidando potenzialmente le regole del file robots.txt.

Come scrivere le regole del file robots.txt

Le regole sono istruzioni per i crawler che specificano di quali parti del tuo sito possono eseguire la scansione. Segui queste linee guida quando aggiungi le regole al tuo file robots.txt:

  • Un file robots.txt è formato da uno o più gruppi (insieme di regole).
  • Ogni gruppo è formato da più regole (note anche come istruzioni), una per riga. Ogni gruppo inizia con una riga User-agent in cui viene specificato il target dei gruppi.
  • Un gruppo fornisce le seguenti informazioni:
    • A chi si applica il gruppo (lo user agent).
    • Le directory o i file a cui l'agent può accedere.
    • Le directory o i file a cui l'agent non può accedere.
  • I crawler elaborano i gruppi dall'alto verso il basso. Uno user agent può corrispondere a un solo insieme di regole, ovvero al primo gruppo più specifico che corrisponde a un determinato user agent. Se sono presenti più gruppi per lo stesso user agent, i gruppi verranno combinati in un unico gruppo prima di essere elaborati.
  • Per impostazione predefinita, si presume che uno user agent possa eseguire la scansione di qualsiasi pagina o directory non bloccata da una regola disallow.
  • Le regole sono sensibili alle maiuscole. Ad esempio, disallow: /file.asp si applica a https://www.example.com/file.asp, ma non a https://www.example.com/FILE.asp.
  • Il carattere # segna l'inizio di un commento. I commenti vengono ignorati durante l'elaborazione.

I crawler di Google supportano le seguenti regole nei file robots.txt:

  • user-agent: - [Obbligatoria, una o più per gruppo] La regola specifica il nome del client automatico noto come crawler dei motori di ricerca a cui viene applicata la regola. Si tratta della prima riga di ogni gruppo di regole. I nomi degli user agent di Google sono disponibili nell'elenco di user agent di Google. Se usi un asterisco (*), la regola viene applicata a tutti i crawler tranne ai vari crawler AdsBot, i cui nomi devono essere indicati espressamente. Ad esempio:
    # 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 crawlers except AdsBot (AdsBot crawlers must be named explicitly)
    User-agent: *
    Disallow: /
  • disallow: - [Almeno una o più voci disallow o allow per regola] Una directory o una pagina, relativa al dominio principale, di cui non vuoi che venga eseguita la scansione da parte dello user agent. Se la regola si riferisce a una pagina, deve essere indicato il nome completo della pagina mostrato nel browser. Deve iniziare con un carattere / e, se fa riferimento a una directory, deve terminare con il carattere /.
  • allow: - [Almeno una o più voci disallow o allow per ogni regola] Una directory o una pagina, relativa al dominio principale, che può essere sottoposta a scansione dallo user agent appena menzionato. Questa regola viene usata per eseguire l'override di una regola disallow in modo da consentire la scansione di una sottodirectory o di una pagina in una directory non consentita. Per una singola pagina, specifica il nome completo della pagina mostrato nel browser. Deve iniziare con un carattere / e, se fa riferimento a una directory, deve terminare con il carattere /.
  • sitemap: - [Facoltativa, zero o più per file] La posizione di una Sitemap relativa al sito. L'URL della Sitemap deve essere completo; Google non presume né verifica l'esistenza di versioni alternative http/https/www.non-www. Le Sitemap rappresentano un valido metodo per indicare i contenuti che Google dovrebbe, può o non può sottoporre a scansione. Scopri di più sulle Sitemap. Esempio:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: https://www.example.com/sitemap.xml

Tutte le regole, 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 regole vengono ignorate.

Per la descrizione completa di ciascuna regola, leggi la nostra pagina sull'interpretazione di Google della specifica del file robots.txt.

Caricare il file robots.txt

Dopo aver salvato il file robots.txt sul computer, puoi renderlo disponibile ai crawler dei motori di ricerca. Non esiste alcuno strumento che possa aiutarti a eseguire questa operazione, perché le modalità di caricamento del file robots.txt sul tuo sito dipendono dall'architettura del sito e del server. Contatta la tua società di hosting o cerca la relativa documentazione; ad esempio cerca "caricare file infomaniak".

Dopo aver caricato il file robots.txt, verifica se è accessibile pubblicamente e se Google può analizzarlo.

Testare il markup del file robots.txt

Per verificare se il file robots.txt appena caricato è accessibile pubblicamente, apri una finestra di navigazione privata (o equivalente) nel browser e vai alla posizione del file robots.txt. Ad esempio, https://example.com/robots.txt. Se vedi i contenuti del file robots.txt, puoi testare il markup.

Google offre due opzioni per risolvere i problemi relativi al markup del file robots.txt:

  1. Il report sul file robots.txt in Search Console. Puoi utilizzare questo report solo per i file robots.txt che sono già accessibili sul tuo sito.
  2. Se sei uno sviluppatore, dai un'occhiata alla libreria open source dei file robots.txt di Google, utilizzata anche nella Ricerca Google. Puoi utilizzare questo strumento per testare i file robots.txt in locale sul tuo computer.

Inviare il file robots.txt a Google

Dopo che hai caricato e testato il file robots.txt, i crawler di Google lo troveranno automaticamente e inizieranno a utilizzarlo. Non devi fare nulla. Se hai aggiornato il file robots.txt e devi aggiornare al più presto la copia memorizzata nella cache di Google, scopri come inviare un file robots.txt aggiornato.

Regole utili per i file robots.txt

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

Regole utili
Non consentire la scansione dell'intero sito

Ricorda che, in alcune situazioni, gli URL del sito 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

Aggiungi una barra al nome della directory per impedire la scansione di un'intera directory.

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

Solo googlebot-news può eseguire la scansione dell'intero sito.

User-agent: Googlebot-news
Allow: /

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

Unnecessarybot non può eseguire la scansione del sito, tutti gli altri bot possono farlo.

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Non consentire la scansione di una singola pagina web

Ad esempio, non consentire la pagina useless_file.html in https://example.com/useless_file.html e other_useless_file.html nella directory junk.

User-agent: *
Disallow: /useless_file.html
Disallow: /junk/other_useless_file.html

Non consentire la scansione dell'intero sito, tranne di una sottodirectory

I crawler possono accedere solo alla sottodirectory public.

User-agent: *
Disallow: /
Allow: /public/

Bloccare un'immagine specifica su Google Immagini

Ad esempio, non consentire l'immagine dogs.jpg.

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

Bloccare tutte le immagini del tuo sito su Google Immagini

Google non è in grado di indicizzare immagini e video senza eseguirne la scansione.

User-agent: Googlebot-Image
Disallow: /

Non consentire la scansione di un tipo di file specifico

Ad esempio, non consentire la scansione di tutti i file .gif.

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

Non consentire la scansione di un intero sito, ma consentire Mediapartners-Google

Questa implementazione consente di non visualizzare le tue pagine nei risultati di ricerca, ma il web crawler Mediapartners-Google potrà comunque analizzarle per stabilire quali annunci mostrare ai visitatori del sito.

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Utilizza i caratteri jolly * e $ per applicare una regola agli URL che terminano con una stringa specifica

Ad esempio, non consentire tutti i file .xls.

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