Robots.txt

Robots.txt implementa il Robots Exclusion Protocol: gruppi User-agent, regole di prefisso Disallow/Allow, righe Sitemap opzionali ed estensioni dei vendor. Una regola con un ambito errato può bloccare gran parte di un sito.

A cosa serve

I crawler scaricano robots.txt per conoscere i permessi di scaricamento a livello di percorso prima della scansione su larga scala. Ogni hostname (e scheme) ha bisogno del proprio file nella root web; CDN e host di staging sono facili da configurare male.

Bloccare un URL con robots.txt impedisce la scansione ma non necessariamente l'indicizzazione: Google può comunque mostrare l'URL se esistono link, a volte senza snippet.

Direttive

I prefissi Disallow bloccano gli scaricamenti; Allow può riaprire percorsi annidati secondo le regole di precedenza del crawler. Elenca gli URL assoluti delle sitemap con righe Sitemap ripetute quando servono. I wildcard sono supportati in modo limitato: verifica sulla specifica di Google prima di farci affidamento.

  • Ordina le regole con attenzione quando più prefissi si sovrappongono.
  • Non usare mai robots.txt per i segreti: usa l'autenticazione.
  • Tratta i domini di staging come cittadini di prima classe, con politiche esplicite.

File di esempio

Qui sotto c'è uno snippet didattico con commenti e una riga Sitemap. Le regole live di questo sito sono sempre su /robots.txt della stessa origine da cui stai navigando: il percorso è identico su host locali e di produzione, cambia solo l'hostname nella barra degli indirizzi. Quel file mostra cosa è escluso dalla scansione (qui, /api/). Per gli URL assoluti altrove (per esempio la riga Sitemap generata da Next), imposta NEXT_PUBLIC_SITE_URL nell'ambiente di deploy.

txt
User-agent: *
Allow: /
Disallow: /api/

# Teaching: block a tree but reopen a branch
# Disallow: /admin/
# Allow: /admin/public/

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

Errori comuni

  • Bloccare CSS/JS così Googlebot non può rendere la pagina in modo fedele.
  • Errori di battitura nei percorsi che non corrispondono in silenzio agli URL previsti.
  • Regressioni di robots dopo la migrazione che bloccano intere sezioni.
  • Confondere robots.txt con la semantica di meta robots o X-Robots-Tag.

Prassi

  • Lascia scansionabili gli asset di rendering, se non accetti un rendering parziale.
  • Referenzia gli indici di sitemap da robots.txt e ritesta dopo i rilasci.
  • Traccia le modifiche di robots.txt nel version control insieme alle note di deploy.

FAQ

Robots.txt rimuove le pagine da Google?
No: gestisce la scansione. Usa noindex, gli status HTTP appropriati, pareti con autenticazione o le rimozioni di Search Console secondo l'intento.
Più file robots?
Ogni hostname ha bisogno del proprio robots.txt nella sua root; i sottodomini sono host separati.
Bing segue le stesse regole?
La sintassi REP di base coincide, ma verifica sempre le note specifiche dei vendor per i wildcard e le direttive di tipo crawl-delay.
Disallow deve finire con uno slash?
Il confronto dei prefissi è letterale: /admin blocca anche /administration se non delimiti bene le regole. Verifica nei report di scansione.