Vai al contenuto

Web crawler: cos'è, come funziona e come si verifica

Autore: Matteo Pellegrini

Un web crawler è un programma che scarica le pagine di un sito una dopo l'altra seguendo i link che incontra, per costruire l'indice di un motore di ricerca o il dataset su cui si addestra un modello linguistico. Si chiama anche spider, robot o bot.

Se gestisci un sito, la cosa che ti serve sapere prima delle altre è che lo user agent con cui un crawler si presenta non dimostra niente. Chiunque può scrivere Googlebot nell'header di una richiesta HTTP, e in una parte del traffico che vedi nei log qualcuno lo fa davvero. La verifica si fa sul DNS, in due passaggi, e la spieghiamo più sotto.

Dal seed set all'indice

Un crawler parte da un elenco di URL che già conosce, il seed set, di solito ricavato dall'indice precedente e dalle sitemap. Scarica quelle pagine, ne estrae i link e li mette in coda. La struttura che tiene la coda si chiama crawl frontier, ed è lì che si decide cosa viene visitato per primo, cosa viene rivisitato e cosa resta fermo per mesi.

Nessun crawler scarica tutto. La coda viene ordinata con segnali che si possono calcolare in fretta su miliardi di documenti: quante altre pagine linkano un URL, quanto traffico riceve, quanto spesso è cambiato l'ultima volta che ci si è passati. È il motivo per cui una pagina nuova collegata solo dal menu può restare fuori dall'indice per settimane mentre la home viene riscaricata ogni giorno.

Il ritorno periodico è metà del mestiere, e costa. Google lo gestisce con la cache HTTP: rimanda gli header If-None-Match o If-Modified-Since costruiti sulla risposta precedente, e se la pagina non è cambiata il server risponde 304 senza rispedire il corpo. La documentazione di Google consiglia di usare ETag invece di Last-Modified, perché la data va formattata in un modo preciso e un hash no.

I crawler che vedrai nei log

Google divide i propri client in tre famiglie e la differenza non è cosmetica. I crawler comuni, come Googlebot, rispettano sempre le regole del robots.txt. I crawler per casi speciali, come AdsBot, possono ignorare il gruppo user-agent: * perché esiste un accordo con chi pubblica gli annunci. I fetcher attivati da un utente, come lo strumento di verifica del sito, il robots.txt lo ignorano di proposito: la richiesta l'ha chiesta una persona.

CrawlerOperatoreToken robots.txtA cosa serve
GooglebotGoogleGooglebotIndice della Ricerca, versione smartphone e desktop
GoogleOtherGoogleGoogleOtherRicerca e sviluppo interno, attivo dal 2023
Google-ExtendedGoogleGoogle-ExtendedSolo controllo: dice se i contenuti possono addestrare Gemini. Non incide sul ranking
BingbotMicrosoftbingbotIndice di Bing
GPTBotOpenAIGPTBotRaccolta di contenuti per l'addestramento dei modelli
ChatGPT-UserOpenAIChatGPT-UserRecupero di una pagina in risposta a un prompt
ClaudeBotAnthropicClaudeBotAddestramento e aggiornamento di Claude
Meta-ExternalAgentMetaMeta-ExternalAgentRaccolta dati per i modelli Meta
BytespiderByteDanceBytespiderRaccolta dati per i modelli del gruppo
Token e finalità dichiarate. Fonti: Elenco dei crawler comuni di Google e From Googlebot to GPTBot, Cloudflare.

Google-Extended merita una riga a parte perché è l'unico della lista che non esiste come stringa nelle richieste HTTP. È un token che vive solo dentro il robots.txt e serve a esprimere una preferenza sull'addestramento: il traffico continua ad arrivare con gli user agent Google normali. Cercarlo nei log è tempo perso.

Chi passa davvero sul tuo sito, in numeri

Cloudflare vede una fetta grande del traffico web e pubblica i conteggi. Confrontando maggio 2024 con maggio 2025 su una coorte di oltre trenta crawler di ricerca e di AI, Googlebot è passato dal 30% al 50% delle richieste di quella coorte, con un aumento del 96% in volume assoluto. GPTBot è salito dal 2,2% al 7,7%, che in richieste grezze significa più 305%. Bytespider, che un anno prima era il secondo crawler AI più attivo, ha perso l'85% delle richieste.

Sono dati globali, non italiani: Cloudflare non pubblica lo spaccato per paese di questa serie, quindi vanno letti come ordine di grandezza e non come la fotografia del tuo dominio. Il numero che vale per tutti è un altro, sempre da Cloudflare Radar: circa il 30% del traffico web mondiale arriva da bot, e in alcuni paesi supera quello umano.

Sulla finalità della scansione, nella prima settimana di agosto 2025 circa l'80% delle richieste dei bot AI monitorati da Cloudflare, che ne pubblica lo spaccato per finalità, era per addestramento. Il recupero legato a un'azione dell'utente, quello che scatta quando qualcuno chiede una cosa a ChatGPT e il modello va a leggere una pagina, pesava meno del 5%. Chi apre i risultati generati dall'AI aspettandosi visite in cambio della scansione parte da un rapporto molto sbilanciato.

Come si verifica che sia davvero Googlebot

Google dichiara che i suoi crawler si identificano in tre modi: lo user agent nella richiesta, l'indirizzo IP di origine e il nome host che si ottiene da quell'IP con una risoluzione DNS inversa. Il primo si falsifica scrivendo una stringa, gli altri due no.

Il controllo manuale sono due comandi host. Il primo risolve l'IP che trovi nei log e deve restituire un nome sotto googlebot.com, google.com o googleusercontent.com. Il secondo risolve quel nome e deve riportare esattamente l'IP di partenza. Il doppio passaggio serve perché una zona DNS inversa la controlla chi possiede l'IP, e da sola si può manipolare: è l'andata e ritorno che chiude il cerchio.

Per i controlli su volumi grandi Google pubblica gli intervalli di IP in formato CIDR dentro file JSON aggiornati, divisi per famiglia: common-crawlers.json per Googlebot e simili, special-crawlers.json per AdsBot, altri tre per i fetcher attivati dagli utenti. Il confronto si automatizza in poche righe.

Un dettaglio che confonde parecchi: Google registra la maggior parte del traffico da indirizzi IP statunitensi, e se rileva che un sito blocca le richieste dagli Stati Uniti può provare da altri paesi. Un Googlebot con IP americano su un sito italiano è la norma, non un'anomalia da bloccare.

Il robots.txt resta il primo file che un crawler conforme scarica, e dal 2022 le sue regole sono uno standard IETF vero, la RFC 9309, che formalizza il protocollo scritto da Martijn Koster nel 1994. La RFC dice anche una cosa che vale la pena tenere a mente: queste regole non sono una forma di autorizzazione all'accesso. Tengono fuori chi ha deciso di rispettarle. Su come si scrive e cosa non può fare abbiamo una voce dedicata al file robots.txt, e una sul noindex, che è l'istruzione diversa che serve quando il problema è l'indice e non la scansione.

I limiti tecnici che quasi nessuno legge

La documentazione di Google sulle proprietà tecniche dei suoi crawler è corta e contiene almeno tre numeri che cambiano il modo in cui si costruisce una pagina.

ProprietàComportamento dei crawler di Google
Dimensione massima scaricataPrimi 15 MB per file, il resto viene ignorato. Singoli crawler possono avere limiti più bassi (2 MB) o più alti per i PDF
ProtocolliHTTP/1.1 e HTTP/2, con cambio fra le sessioni in base alle statistiche precedenti. Anche FTP e FTPS, molto raramente
Compressioni accettategzip, deflate, Brotli, dichiarate nell'header Accept-Encoding di ogni richiesta
CacheSolo ETag con If-None-Match e Last-Modified con If-Modified-Since. Le altre direttive di caching non sono supportate
Origine geograficaPrevalentemente IP statunitensi, distribuiti su molti data center
Riduzione della frequenzaSi ottiene rispondendo 429, 500 o 503. Non esiste un modo per chiedere un aumento
Fonte: Panoramica dei crawler e dei fetcher di Google, Google Search Central.

Il tetto dei 15 MB riguarda l'HTML, non le risorse collegate: immagini, CSS e JavaScript vengono scaricati separatamente e hanno il loro conteggio. Resta il fatto che un documento che supera quella soglia viene tagliato a metà e valutato per quello che si è riusciti a leggere. Succede più spesso di quanto sembri su pagine con centinaia di prodotti caricati lato server.

Quando la scansione diventa un costo

Google indica tre cause ricorrenti dietro un'impennata improvvisa di scansione, e sono quasi sempre problemi di URL: la navigazione a faccette che genera combinazioni infinite di filtri, un calendario che produce un URL per ogni data, un target dinamico della rete di ricerca. Prima di intervenire sul crawler conviene guardare i log di accesso e capire quante URL diverse il sito sta offrendo.

Se serve davvero abbassare il carico per qualche ora, la strada documentata è rispondere alle richieste di scansione con un codice 429, 500 o 503 al posto del 200. Quando Google rileva un numero significativo di URL con quei codici riduce la frequenza su tutto l'hostname, e la rialza da sola quando gli errori calano. È un rubinetto, non un interruttore, e va chiuso per ore o giorni, non per settimane: un 503 prolungato finisce per togliere pagine dall'indice. Se il tuo tempo di risposta è il vero collo di bottiglia, il rubinetto non risolve niente.

L'errore opposto è più comune e più silenzioso: servire 200 a pagine che non esistono più, le cosiddette soft 404, o accumulare catene di redirect 301 che consumano richieste senza portare a niente. Sono i due modi più rapidi per far spendere a un crawler il proprio tempo sul tuo sito senza ottenere nulla in cambio. Nella SEO tecnica sono fra le prime cose da guardare.

Crawler e scraper non fanno lo stesso mestiere

Un crawler esplora in ampiezza: parte da una lista, segue i link, non sa in anticipo dove finirà. Uno scraper parte da URL già decise e va a prendere campi precisi, il prezzo, la disponibilità, il numero di telefono. Il primo produce un indice, il secondo un database.

La differenza pratica sta nell'educazione. I crawler dei motori di ricerca principali leggono il robots.txt e dosano le richieste per non buttare giù il server. Gli scraper spesso non fanno né l'una né l'altra cosa, e non è un caso che arrivino da IP residenziali con user agent da browser. Se nei log vedi migliaia di richieste a un solo tipo di pagina, tutte a intervalli regolari, stai guardando uno scraper, non un crawler.

Il rapporto che sta cambiando la decisione

Per trent'anni lasciare entrare un crawler è stata una scelta automatica, perché il baratto era chiaro: tu mi lasci leggere, io ti mando visite. Da luglio 2025 Cloudflare pubblica il numero che misura quel baratto operatore per operatore, il rapporto fra richieste di scansione e visite rimandate indietro. Nella prima settimana di agosto 2025, sul complesso dei siti monitorati, Anthropic stava intorno a 50.000 richieste per ogni visita, OpenAI a 887, Perplexity a 118. Sui siti di news e editoria gli stessi rapporti scendevano a 2.500, 152 e 32,7.

Il punto interessante non è la dimensione dei numeri, è che adesso esistono e variano per settore. Significa che «consentire la scansione» ha smesso di essere una decisione unica e si è spezzata in una decisione per ciascun operatore, con un costo infrastrutturale da una parte e un ritorno misurabile dall'altra. Chi lavora su visibilità nei motori di risposta se lo troverà sul tavolo molto prima di quanto pensa, e la risposta giusta per un editore non sarà quella giusta per un produttore industriale.

Domande frequenti sui web crawler

Che cos'è un crawler in informatica?

È un client automatico che scarica risorse identificate da un URL e ne segue i collegamenti in modo ricorsivo. La definizione formale sta nella RFC 9309 dell'IETF, che lo descrive come un client automatizzato che attraversa i link in modo ricorsivo per l'indicizzazione. Fuori dall'informatica la stessa parola indica un automodello radiocomandato da fuoristrada, ed è il motivo per cui cercare solo crawler su Google restituisce metà pagina di modellismo.

Qual è la differenza fra crawling e indicizzazione?

Il crawling è lo scaricamento della pagina, l'indicizzazione è la decisione di conservarla e la sua registrazione nell'indice. Sono due fasi separate e possono fallire in modo indipendente: una pagina scansionata può non essere indicizzata perché duplicata o giudicata di poco valore, e un URL mai scaricato può comparire lo stesso nei risultati se altri siti lo linkano.

Come faccio a sapere quali crawler hanno visitato il mio sito?

Il rapporto Statistiche di scansione in Google Search Console mostra richieste, byte scaricati e tempo medio di risposta per i crawler di Google, divisi per tipo di file e per scopo. Per tutto il resto servono i log di accesso del server, che sono l'unica fonte che vede anche i bot non Google. Prima di leggerli va fatta la verifica su DNS inverso e diretto, altrimenti si contano come Googlebot richieste che Googlebot non ha mai fatto.

Bloccare i crawler delle AI danneggia il posizionamento su Google?

Nel caso di Google-Extended no: Google dichiara che non influisce sull'inclusione nella Ricerca e non è un fattore di ranking. Bloccare Googlebot invece toglie il sito dall'indice, quindi dalla Ricerca. Con gli altri operatori il conto da fare è diverso e riguarda la visibilità dentro gli assistenti, non le posizioni su Google.

Come si dice web crawler in italiano?

Non esiste un traducente diffuso: nel settore si usa crawler, oppure spider o bot di scansione. Il verbo corrispondente in italiano è scansionare, e Google stesso nella documentazione in italiano parla di scansione e di frequenza di scansione invece che di crawling.

Matteo Pellegrini

Matteo Pellegrini

Sono un business developer e in Visilay mi occupo di sviluppare strategie SEO, Google Ads e CRO basate sui dati. Amo i musei storici, pratico Karate da quando ho memoria e il weekend mi piace visitare i borghi italiani in cerca di cibo nostrano.