Holistika
In viaggio verso la missione
Lettura

In sintesi: Il robots.txt è un file di testo che sta nella radice del dominio e dice ai crawler quali URL possono scansionare. Blocca la scansione, non l’indicizzazione: una pagina in Disallow può comparire lo stesso nei risultati, e Google non riuscirà a leggere l’eventuale noindex al suo interno. Per escludere davvero una pagina servono il noindex o una password, non il robots.txt.

Il sito nuovo va online di venerdì. Tre settimane dopo il titolare si accorge che su Google non c’è traccia delle sue pagine, nemmeno cercando il nome dell’azienda. Nella radice del dominio era rimasto il robots.txt dell’ambiente di sviluppo, con due righe che vietavano tutto.

È lo scenario più comune e più evitabile della SEO tecnica. Secondo il Web Almanac 2025 di HTTP Archive l’84,9 per cento dei siti ha un robots.txt valido: quasi tutti ne hanno uno, quasi nessuno lo rilegge dopo il lancio.

Vediamo dove deve stare, la sintassi che serve davvero, la differenza tra scansione e indicizzazione, cosa ha senso escludere, come funziona su WordPress e cosa fare con i crawler delle intelligenze artificiali.

Il file più piccolo del sito è quello che fa i danni più grossi

Il robots.txt è un file di testo in UTF-8 che deve stare nella radice dell’host, all’indirizzo www.tuosito.it/robots.txt e mai dentro una cartella. È la prima cosa che un crawler chiede quando arriva.

Vale un file per ogni host, protocollo e porta: quello di www.tuosito.it non copre shop.tuosito.it, che ha bisogno del proprio. Chi gestisce un sottodominio se ne dimentica quasi sempre.

Dal 2022 il protocollo è formalizzato in RFC 9309, il Robots Exclusion Protocol, Proposed Standard IETF scritto anche da due ingegneri di Google. Da lì arrivano i limiti della specifica Google del robots.txt: Google legge al massimo 500 KiB di file, ne tiene il contenuto in cache fino a 24 ore e, se il file risponde con un errore 4xx, si comporta come se non esistesse e scansiona tutto.

Bloccare la scansione non è bloccare l’indicizzazione

Da qui dipende tutto il resto. Il robots.txt decide chi può leggere cosa, non cosa finisce nei risultati di ricerca. Google lo scrive senza giri di parole nella sua introduzione al robots.txt: non è un meccanismo per tenere una pagina fuori da Google.

Se altre pagine linkano un URL che hai messo in Disallow, Google può indicizzarlo senza visitarlo e mostrarlo in SERP con il solo indirizzo: la pagina è visibile e tu non controlli come appare.

C’è di peggio. Chi vuole escludere una pagina mette il noindex nel codice e, per sicurezza, aggiunge anche un Disallow. Le due cose si annullano: il crawler non può aprire la pagina, quindi non legge mai il noindex, e la pagina resta indicizzata.

Cosa significa in pratica: se vuoi che una pagina non compaia su Google, lasciala scansionabile e mettici un noindex, oppure proteggila con una password. E se dopo un lancio il sito è sparito, apri tuodominio.it/robots.txt e cerca il Disallow: / rimasto dall’ambiente di sviluppo: il controllo richiede cinque secondi. Il resto del lavoro è nella guida su come indicizzare un sito su Google.

La sintassi sta in cinque direttive e due caratteri jolly

Il file si scrive per gruppi: ognuno comincia con una riga User-agent e prosegue con le regole valide per quel crawler.

  • User-agent: indica a chi si applica il gruppo. User-agent: * vale per tutti i bot senza un gruppo dedicato, User-agent: Googlebot ne apre uno specifico. Ogni crawler segue un solo gruppo.
  • Disallow: vieta la scansione dei percorsi che iniziano con la stringa indicata, maiuscole comprese. Disallow: /privata/ blocca la cartella e il suo contenuto, una riga Disallow: vuota non blocca nulla.
  • Allow: fa l’eccezione dentro un blocco più ampio, quando vuoi chiudere una cartella ma tenere aperto un file al suo interno.
  • Sitemap: indica l’URL assoluto della sitemap, vale per l’intero file e puoi ripeterla. Se la tua non è ancora in ordine, la trovi spiegata nella guida alla sitemap XML.
  • Asterisco e dollaro: l’asterisco sostituisce qualsiasi sequenza di caratteri, il dollaro indica la fine dell’URL. Disallow: /*?ordina= blocca gli indirizzi con quel parametro, Disallow: /*.pdf$ solo quelli che finiscono in .pdf.
  • Precedenza: quando due regole si contraddicono vince quella con il percorso più lungo, cioè la più specifica. A parità vince la meno restrittiva, quindi l’Allow batte il Disallow.

Cosa bloccare davvero e cosa non devi toccare mai

La lista di ciò che merita un Disallow è più corta di quanto immagini: URL privi di valore nei risultati e che si moltiplicano da soli. Il resto va lasciato aperto.

  • URL con parametri: filtri, ordinamenti e codici di tracciamento generano migliaia di indirizzi quasi identici. È il caso in cui il robots.txt rende di più.
  • Carrello, checkout e area account: pagine che cambiano per ogni utente e inutili in SERP.
  • Risultati della ricerca interna: pagine create su richiesta, senza valore autonomo.
  • Ambienti di staging: qui il Disallow serve ma non basta, perché un ambiente di prova va protetto con una password.

L’errore più costoso è invece bloccare i CSS e i JavaScript necessari a mostrare la pagina: Googlebot renderizza i contenuti come un browser e senza di essi vede una pagina rotta. Vale lo stesso per le immagini di prodotto e per le pagine con un noindex.

Per un sito vetrina su WordPress un file corretto è breve così:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
 
Sitemap: https://www.tuosito.it/sitemap_index.xml

Per un e-commerce, dove il problema vero sono i parametri, diventa così:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /carrello/
Disallow: /checkout/
Disallow: /mio-account/
Disallow: /*?orderby=
Disallow: /*?filter_
Disallow: /*add-to-cart=
 
Sitemap: https://www.tuosito.it/sitemap_index.xml

Cosa significa in pratica: parti dal file minimo e aggiungi una regola solo quando vedi il problema nei dati. Ogni Disallow scritto per scrupolo rischia di bloccare qualcosa che ti serviva.

Infografica che confronta cosa ha senso bloccare nel robots txt (parametri, carrello, ricerca interna, staging) e cosa non bloccare mai (CSS, JavaScript, immagini, pagine con noindex)

Crawl budget: quasi certamente non è il tuo problema

Il crawl budget è la quantità di risorse che Google dedica alla scansione di un sito, e giustifica gran parte dei robots.txt inutilmente complicati. Google è esplicito su chi debba occuparsene: la guida al crawl budget si rivolge a siti con oltre un milione di pagine uniche che cambiano ogni settimana, o con oltre 10.000 pagine che cambiano ogni giorno.

Se il tuo sito ha duecento pagine e i contenuti nuovi vengono scansionati il giorno stesso, il tema non ti riguarda.

L’eccezione sono gli e-commerce con filtri combinabili, dove trenta prodotti e cinque filtri generano decine di migliaia di URL. Lì Google consiglia il robots.txt e non il noindex, perché con il noindex il crawler deve comunque aprire la pagina per scoprire che non va indicizzata. Il quadro completo è nella guida alla SEO tecnica.

Su WordPress il robots.txt è virtuale finché non lo crei

Se cerchi il file via FTP in un’installazione WordPress standard non lo trovi: WordPress ne genera uno virtuale su richiesta, che consente tutto tranne la cartella di amministrazione, con un’eccezione per admin-ajax.php. Appena carichi un file reale nella radice, quello sostituisce il virtuale, ed è il motivo per cui a volte modifichi il robots.txt dal plugin e non cambia nulla.

Con Yoast SEO lo modifichi da Yoast SEO, Strumenti, Modifica file. Con Rank Math il percorso è Impostazioni generali, Modifica robots.txt. Prima però controlla in Impostazioni, Lettura la casella “Scoraggia i motori di ricerca dall’indicizzare questo sito”: è quella che produce il blocco totale durante lo sviluppo e che nessuno ricorda di togliere al lancio.

Per verificare il risultato hai due strumenti ufficiali. Il rapporto robots.txt di Search Console, sotto Impostazioni, mostra i file trovati per i primi 20 host, quando sono stati scansionati e quali errori contengono, e permette di richiedere una nuova scansione. Per una singola pagina usa Controllo URL, che ti dice se è bloccata e da quale regola.

GPTBot, ClaudeBot e gli altri: conviene bloccare i crawler AI?

Puoi bloccarli, con la stessa sintassi che useresti per Googlebot. Prima però serve distinguerli, perché alcuni addestrano i modelli e altri alimentano le risposte che le persone leggono.

  • Bot di addestramento: GPTBot di OpenAI, ClaudeBot di Anthropic e Google-Extended. Google specifica che bloccare quest’ultimo non influisce sulla presenza in Search e non è un segnale di ranking.
  • Bot che alimentano le risposte: OAI-SearchBot, Claude-SearchBot e PerplexityBot mostrano e linkano i siti dentro le risposte generate. Bloccarli equivale a chiedere di non essere citati.
  • Fetcher su richiesta dell’utente: ChatGPT-User, Claude-User e Perplexity-User aprono una pagina perché una persona l’ha chiesta in quel momento. Perplexity dichiara apertamente che Perplexity-User ignora il robots.txt.

Sempre secondo il Web Almanac 2025, GPTBot è bloccato dal 4,5 per cento dei siti desktop, ClaudeBot dal 3,6, Google-Extended dal 3,4 e PerplexityBot dal 2,7: percentuali in crescita rapida ma ancora minoritarie.

Cosa significa in pratica: se il tuo sito serve a farti trovare, bloccare i bot che alimentano le risposte lavora contro di te, perché le persone cercano fornitori anche lì. Il blocco dei soli bot di addestramento ha senso se i contenuti sono il tuo prodotto. Come i motori generativi scelgono le fonti lo abbiamo approfondito parlando di generative engine optimization.

Il robots.txt giusto è quello che scrivi una volta in dieci righe e ricontrolli dopo ogni intervento sul sito, perché i danni si vedono settimane dopo. In Holistika lavoriamo con professionisti e PMI proprio su questa parte poco visibile del lavoro: se sospetti che qualcosa stia bloccando le tue pagine, scrivici e ci diamo un’occhiata insieme.

FAQ

A cosa serve il file robots txt?

Il robots.txt dice ai crawler dei motori di ricerca quali URL del tuo sito possono scansionare e quali no. È un file di testo che sta nella radice del dominio e viene letto prima di qualsiasi pagina. Serve a gestire il traffico dei bot, evitando che consumino risorse su indirizzi senza valore come i risultati della ricerca interna o gli URL generati dai filtri. Non serve a tenere una pagina fuori dai risultati: lì servono una password o il noindex.

Dove si trova il file robots.txt di un sito?

Sempre nella radice dell’host, cioè all’indirizzo tuodominio.it/robots.txt, mai in una sottocartella: puoi verificarlo su qualsiasi sito digitando quell’indirizzo nel browser. Vale un file per ogni combinazione di host, protocollo e porta, quindi quello del dominio principale non copre i sottodomini e un negozio su shop.tuodominio.it ha bisogno del proprio. Su WordPress il file spesso non esiste sul server, perché il CMS ne genera uno virtuale, ma l’indirizzo resta lo stesso.

Il robots.txt impedisce l’indicizzazione su Google?

No, ed è il malinteso più diffuso: il robots.txt blocca la scansione, non l’indicizzazione. Google dichiara che non è un meccanismo per tenere una pagina fuori dai risultati. Se altri siti linkano un indirizzo messo in Disallow, quello può comparire in SERP senza descrizione, perché Google conosce il link ma non ha letto la pagina. C’è anche un effetto collaterale pesante: se blocchi una pagina con un noindex, Google non leggerà mai quel tag e la pagina resterà indicizzata.

Come modifico il robots.txt su WordPress?

WordPress genera un file virtuale che consente tutto tranne la cartella wp-admin, con un’eccezione per admin-ajax.php. Puoi modificarlo dai plugin SEO: con Yoast SEO il percorso è Yoast SEO, Strumenti, Modifica file, con Rank Math l’editor è in Impostazioni generali, Modifica robots.txt. Se nella radice esiste già un robots.txt fisico, quello ha la precedenza e le modifiche dal plugin non avranno effetto: lì intervieni via FTP o dal file manager dell’hosting. Controlla anche la visibilità in Impostazioni, Lettura.

Devo bloccare i crawler AI nel robots.txt?

Dipende da cosa fa il tuo sito. Conviene distinguere i bot che raccolgono dati per addestrare i modelli, come GPTBot, ClaudeBot e Google-Extended, da quelli che citano i siti dentro le risposte, come OAI-SearchBot, Claude-SearchBot e PerplexityBot. Bloccare i secondi significa rinunciare alla visibilità in un canale in crescita, e per chi usa il sito per farsi trovare raramente conviene. Il blocco dei bot di addestramento ha senso soprattutto per editori e per chi vende contenuti.

PARTI
con noi.

Parla con noi →