Tutti gli articoli

robots.txt: come i bot di ricerca decidono cosa possono scansionare

robots.txt è un file di testo nella radice del sito che i crawler leggono prima di iniziare la scansione, per sapere quali sezioni possono visitare e quali no. La sintassi sembra minimale, ma alcuni caratteri speciali nelle regole vengono interpretati in modo diverso da un crawler all'altro.

Le direttive User-agent, Disallow e Allow

Il file è organizzato in blocchi, ciascuno introdotto da User-agent:, seguito dalle direttive Disallow e Allow che indicano percorsi vietati o esplicitamente consentiti. Il crawler applica il primo blocco il cui User-agent corrisponde al proprio nome, ricadendo sul blocco generico User-agent: * in assenza di corrispondenza.

I caratteri jolly * e $: un'estensione non ufficiale diventata standard di fatto

Googlebot e la maggior parte dei crawler moderni supportano * per rappresentare una sequenza qualsiasi di caratteri e $ per indicare la fine dell'URL — ad esempio Disallow: /*.pdf$ blocca tutti i file PDF indipendentemente dalla loro posizione nel sito. Questi simboli, però, non facevano parte della specifica informale del 1994: alcuni bot più datati o meno diffusi possono ignorarli, trattandoli come semplici caratteri letterali nel percorso.

Sitemap: un suggerimento, non un obbligo

La direttiva Sitemap: indica al motore di ricerca dove si trova il file sitemap.xml. Non è obbligatoria, ma è comoda: il crawler non deve indovinare il percorso della mappa del sito né affidarsi solo alla sua registrazione in una search console.

Perché conviene validare questo file

  • Verificare la sintassi di robots.txt prima della pubblicazione, così un semplice errore di battitura non blocca l'intero sito dalla scansione.
  • Assicurarsi che nessuna sezione importante resti nascosta a causa di regole contraddittorie tra blocchi diversi.
  • Testare all'istante una combinazione specifica di user-agent e percorso, senza aspettare la prossima scansione.

Perché Disallow non nasconde una pagina dai risultati

È il malinteso più comune: Disallow impedisce a un bot di scansionare il contenuto di una pagina, ma non impedisce che il suo URL venga indicizzato. Se un altro sito già indicizzato collega quella pagina bloccata, Google può comunque mostrarne l'URL nei risultati, senza descrizione, perché il contenuto non è mai stato scansionato.

Prova lo strumento