Vai al contenuto

Impostazioni cookie

Scelga per ogni tipo quali cookie consente. Può modificare la sua scelta in qualsiasi momento tramite Impostazioni cookie in fondo a ogni pagina. Informativa sulla privacy

Necessari

Sempre attivi

Servono per accedere, conservare il carrello e ricordare le sue scelte. Sono sempre attivi.

Quali cookie?
  • weboke_sessie, weboke_klant, weboke_remember: la sua sessione e la permanenza dell'accesso
  • weboke_basket: il suo carrello
  • wkBtwIncl: visualizzazione dei prezzi con o senza IVA
  • wok_cookies: la sua scelta sui cookie, 12 mesi

Misurano quale annuncio porta a una visita o a un ordine, così non paghiamo annunci che non funzionano.

Quali cookie?
  • Google Ads tramite Google Tag Manager (_gcl_au, _gcl_aw), fino a 90 giorni
  • OpenAI Ads, annunci in ChatGPT
  • wok_aff: tramite quale partner è arrivato da noi (programma di affiliazione), 60 giorni

4,6

Paese e lingua

Ogni paese ha il suo sito, con i prezzi e l'IVA di quel paese.

Vedi

Modulo 3 · 3.3

robots.txt: che cosa bloccare e che cosa no

Modulo 3: La base tecnica di una pagina · Tempo di lettura: 13 minuti

Obiettivo della lezione: Al termine di questa lezione saprà leggere e scrivere un robots.txt, calcolare da sé se un indirizzo è consentito a Googlebot, spiegare che cosa succede quando il file manca o non è raggiungibile, e saprà perché robots.txt non è una protezione e non è un noindex.

Concetti chiave: robots.txt (RFC 9309), crawler, gruppo, User-agent, Disallow, Allow, corrispondenza più lunga, stessa lunghezza (vince Allow), * e $, Sitemap:, codice di stato di robots.txt (4xx, 5xx), 500 KiB, cache di 24 ore, nessuna protezione, nessun noindex, crawler di IA (Google-Extended, GPTBot)

Un cartello sulla porta d'ingresso

Un robots.txt è un semplice file di testo nella cartella principale del Suo sito, sempre allo stesso indirizzo: https://www.example.com/robots.txt. Un crawler corretto (lezione 1.2) richiede prima questo file e legge quali parti del sito non può visitare. È un cartello sulla porta d'ingresso, non una serratura: Googlebot e Bingbot lo rispettano, ma un robot malintenzionato legge il cartello ed entra comunque.

Dal 2022 il protocollo è uno standard Internet ufficiale: RFC 9309. Inoltre Google descrive con precisione come Googlebot legge il file. In questa lezione usiamo entrambe le fonti.

Alcune regole fisse:

  • Il file si trova nella cartella principale dell'host. Un robots.txt in /blog/robots.txt non viene letto.
  • Vale solo per quell'host, quel protocollo e quella porta. https://www.example.com/robots.txt non vale per https://shop.example.com/, che ha bisogno di un proprio file.
  • È testo semplice in UTF-8.

Com'è strutturato il file

User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips

User-agent: Googlebot
Disallow: /concepten/

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

Il file è composto da gruppi. Un gruppo inizia con una o più righe User-agent:, seguite dalle regole Disallow: (non visitare) e Allow: (visitare). Il percorso dopo Disallow: è l'inizio di un indirizzo: Disallow: /zoeken blocca /zoeken, /zoeken?q=rozen e anche /zoekenmachine, perché iniziano tutti con /zoeken.

La riga Sitemap: non appartiene a nessun gruppo e indica dove si trova la Sua sitemap (lezione 3.4). Google richiede un indirizzo completo con https:// e nome host.

Un Disallow: senza percorso non blocca nulla. Disallow: / blocca tutto.

Quale gruppo vale?

Un crawler sceglie un solo gruppo: quello con il nome più specifico che corrisponde a lui. Googlebot segue quindi il gruppo User-agent: Googlebot se esiste, e in tal caso ignora completamente il gruppo *. Nell'esempio qui sopra Googlebot può quindi entrare in /winkelmand/: quella regola si trova solo nel gruppo *. È uno degli errori più frequenti: chi crea un gruppo separato per Googlebot deve ripetere lì tutte le regole che valgono anche per Google.

Il nome non distingue tra maiuscole e minuscole (googlebot = Googlebot). Se ci sono due gruppi per lo stesso crawler, Google li unisce.

Quale regola vince?

All'interno del gruppo un indirizzo può rientrare in più regole. In quel caso vale:

  1. Vince la regola corrispondente più lunga (il percorso più specifico).
  2. Se un Allow e un Disallow sono esattamente della stessa lunghezza, vince Allow. Google la chiama "la regola meno restrittiva".

Due caratteri hanno un significato speciale:

CarattereSignificatoEsempioCorrispondeNon corrisponde
*zero o più caratteri qualsiasiDisallow: /*?sessie=/rozen?sessie=12/rozen?kleur=rood
$fine dell'indirizzoDisallow: /*.pdf$/folder.pdf/folder.pdf?v=2

Esempio di calcolo con il gruppo * qui sopra, per il crawler Bingbot (che non ha un gruppo proprio):

IndirizzoRegole corrispondentiRisultato
/winkelmand/Disallow: /winkelmand/non consentito
/zoeken/tipsDisallow: /zoeken (7 caratteri) e Allow: /zoeken/tips (12)consentito: vince la più lunga
/zoeken?q=rozenDisallow: /zoekennon consentito
/bruidsboekettennessunaconsentito
/robots.txt(sempre)consentito: robots.txt stesso è sempre permesso

Se il file non c'è, o il server ha problemi

Ciò che fa Google dipende dal codice di stato con cui il Suo server risponde a /robots.txt:

RispostaChe cosa fa Google
200 (trovato)Legge le regole
Reindirizzamento (301, 302)Segue almeno cinque passaggi; dopodiché Google lo tratta come 404
4xx, come 404 o 403 (tranne 429)Come se non ci fosse un robots.txt: tutto è consentito
5xx o nessuna connessionePer le prime 12 ore Google non esegue la scansione del sito e riprova; poi, fino a 30 giorni, usa l'ultima versione valida dalla cache. Se il problema persiste mentre il resto del sito funziona, Google si comporta come se non ci fosse un robots.txt

Un robots.txt mancante non è quindi un problema: in quel caso tutto è consentito. Un robots.txt che restituisce un errore del server invece è un problema: Google interrompe temporaneamente la scansione. RFC 9309 è ancora più severa: se il file non è raggiungibile, un crawler deve presumere che tutto sia vietato.

Inoltre:

  • Google legge al massimo 500 KiB; ciò che segue viene ignorato.
  • Google conserva di solito robots.txt nella cache fino a 24 ore. Una modifica quindi non ha effetto immediato. In Search Console, in Impostazioni, trova il rapporto robots.txt: quale versione Google ha recuperato per ultima, con errori e avvisi, e un pulsante per richiedere un nuovo recupero.
  • Google conosce solo User-agent, Allow, Disallow e Sitemap. Regole come Crawl-delay o Noindex vengono ignorate da Googlebot.

Che cosa robots.txt non fa

Non è una protezione

Chiunque può leggere il Suo robots.txt, anche chi ha cattive intenzioni. Una regola Disallow: /beheer-oud/ indica proprio dove si trova qualcosa di interessante. Lo dice la stessa RFC 9309: le regole non sono una forma di controllo degli accessi. Per proteggere davvero una parte del sito si usa una password oppure si fa in modo che il server rifiuti l'accesso, per esempio con .htaccess (veda Per approfondire).

Non è un noindex

Questa è la lezione più importante. robots.txt regola la scansione, non l'indicizzazione (lezione 1.3). Google scrive testualmente che robots.txt non è un metodo per tenere una pagina fuori da Google. Se altri siti rimandano a un indirizzo bloccato, l'indirizzo può comunque comparire nei risultati di ricerca, solo senza descrizione.

Se vuole tenere una pagina fuori dai risultati di ricerca, usi noindex (in un <meta name="robots"> o nell'intestazione X-Robots-Tag) oppure protegga la pagina con una password. E faccia attenzione alla classica trappola: se mette una pagina con noindex anche in Disallow nel robots.txt, Google non può visitare la pagina e quindi non leggerà mai il noindex.

Non blocchi elementi di cui Google ha bisogno

Non blocchi cartelle con fogli di stile, script o immagini di cui la Sua pagina ha bisogno per essere visualizzata correttamente. Google osserva la Sua pagina come fa un browser; senza quei file Google comprende peggio la pagina.

Crawler di IA

Sempre più aziende raccolgono pagine web per l'intelligenza artificiale. Ad alcune di esse può rivolgersi tramite robots.txt:

  • Google-Extended non è un robot separato, ma un nome in robots.txt con cui indica se Google può usare i Suoi contenuti per addestrare i modelli Gemini e per il grounding. Google scrive che ciò non influisce sulla Sua inclusione o posizione in Ricerca Google.
  • GPTBot di OpenAI raccoglie pagine che possono essere usate per addestrare modelli. OAI-SearchBot serve per la funzione di ricerca di ChatGPT: se lo blocca, il Suo sito non compare nelle risposte di ricerca di ChatGPT.
User-agent: GPTBot
Disallow: /

Se desidera farlo è una scelta, non una necessità tecnica. Se blocca per errore un robot di ricerca (Googlebot, Bingbot, OAI-SearchBot), verrà trovato meno bene su quel servizio.

In pratica: dove si trova il Suo robots.txt?

  • L'AI Builder di WebOké crea automaticamente, alla pubblicazione, un robots.txt con User-agent: *, Allow: / e una riga Sitemap:. Se imposta il sito su non indicizzare, o se si tratta di una demo gratuita, il file contiene Disallow: /.
  • WordPress crea un robots.txt virtuale con un riferimento alla sitemap. Se carica Lei stesso un file robots.txt nella cartella web, quest'ultimo ha la precedenza.
  • Un sito proprio su un pacchetto di hosting: carica robots.txt nella cartella web (in DirectAdmin public_html) tramite Gestione file o FTP.

Con altri fornitori funziona in modo simile: il file deve essere sempre raggiungibile su /robots.txt del Suo host.

Riepilogo

  • robots.txt si trova su /robots.txt di ogni host e indica ai crawler corretti che cosa non possono visitare.
  • Un crawler segue un solo gruppo (il nome più specifico, altrimenti *). All'interno del gruppo vince la regola più lunga; a parità di lunghezza vince Allow.
  • 404 significa "tutto consentito", un errore del server fa interrompere temporaneamente la scansione a Google. Google legge 500 KiB e conserva il file in cache fino a 24 ore.
  • robots.txt non è una protezione e non è un noindex. Non blocchi in robots.txt una pagina con noindex.
  • I crawler di IA come GPTBot e il nome Google-Extended si possono gestire separatamente, senza conseguenze per Ricerca Google.

Quiz

1. Nel robots.txt ci sono un gruppo User-agent: * con Disallow: /winkelmand/ e un gruppo User-agent: Googlebot con solo Disallow: /concepten/. Googlebot può eseguire la scansione di /winkelmand/?



2. Nel gruppo per Googlebot ci sono Disallow: /folder e Allow: /folder. /folder/rozen.html è consentito?



3. Il Suo robots.txt restituisce per una settimana un errore 503. Che cosa fa Google?



4. Vuole che la pagina /bedankt non compaia in Google. Qual è l'approccio migliore?



5. Che cosa succede in Ricerca Google se aggiunge User-agent: Google-Extended con Disallow: /?



Esercizio

Esercizio A3.3: Analisi del Suo robots.txt. Inserisca il Suo dominio e, accanto, tre indirizzi del Suo sito (per esempio la homepage, una pagina prodotto e il carrello o la pagina di ricerca), indicando per ciascun indirizzo la Sua previsione: Googlebot può eseguirne la scansione, sì o no? Il programma recupera il Suo robots.txt, controlla il codice di stato, la dimensione, i gruppi e la riga Sitemap:, e calcola per ogni indirizzo che cosa è consentito a Googlebot secondo le regole di questa lezione. La Sua previsione è corretta? Non ha un sito proprio? Usi www.wikipedia.org.

Esercizio A3.3: Analisi del Suo robots.txt








Quello che inserisce e quello che rileviamo non vengono salvati. Il Suo browser ricorda le Sue risposte e se ha superato l'esercizio. Se ha effettuato l'accesso, conserviamo in I miei corsi solo il fatto che l'esercizio era (quasi) corretto; anche lì può eliminarlo.

Per approfondire

I passaggi descritti in questi articoli valgono per i pannelli di WebOké; con altri fornitori funziona in modo simile.

Un momento…

Configuri i suoi domini

Per ogni dominio imposti i nameserver, il collegamento al suo hosting e chi ne diventa l'intestatario.

Caricamento dei suoi domini…