Skip to content

Google utilizza oltre 25 crawler, spider e fetcher diversi per scansionare il web, verificare la qualità degli annunci, alimentare i propri prodotti AI e rispondere alle azioni degli utenti. Ogni crawler si identifica tramite una stringa User-Agent nell’header HTTP della richiesta e un product token utilizzato per il matching nel file robots.txt. Questa guida documenta ogni singolo crawler attivo e ritirato, con le relative UA string aggiornate, i metodi di verifica e le strategie di controllo.

Cosa sono gli User-Agent dei crawler

Lo User-Agent è un’intestazione HTTP (User-Agent:) che ogni client — browser, bot o fetcher — invia al server per identificarsi. Per i crawler di Google, questa stringa contiene informazioni sul tipo di crawler, la versione e un riferimento alla documentazione ufficiale.

La stringa User-Agent ha due funzioni operative distinte: identificare il crawler nei log del web server e determinare quali regole del file robots.txt applicare.

User-Agent string vs product token

La User-Agent string è la stringa completa inviata nell’header HTTP. Contiene informazioni sul browser engine, la versione di Chrome/Chromium utilizzata dal motore di ricerca e l’identificativo del crawler. Ad esempio, la UA string completa di Googlebot smartphone è:

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Il product token è l’identificativo breve utilizzato nel file robots.txt per il matching delle regole. Per Googlebot il product token è semplicemente Googlebot. Quando nel robots.txt vengono definite regole per più user agent, Google applica la regola più specifica: se esistono regole sia per Googlebot che per Googlebot-Image, quest’ultimo seguirà le proprie regole specifiche.

Nota: la versione di Chrome nella UA string (indicata come W.X.Y.Z) è un placeholder che viene aggiornato automaticamente per corrispondere alla versione di Chromium attualmente utilizzata dal Web Rendering Service (WRS) di Google. Il rendering engine di Googlebot è evergreen, ovvero viene aggiornato regolarmente all’ultima versione stabile di Chromium.

Come Google identifica i propri crawler

Google classifica i propri crawler in tre categorie, ciascuna con comportamenti distinti rispetto al robots.txt e metodi di verifica diversi:

  1. Common crawler — crawler automatici che rispettano il robots.txt. Includono Googlebot e tutti i crawler utilizzati per l’indicizzazione su Search, Immagini, Video, News e Shopping.
  2. Special-case crawler — crawler che possono ignorare le regole wildcard (*) del robots.txt. Includono AdsBot, Mediapartners e Google-Safety.
  3. User-triggered fetcher — fetcher attivati da un’azione esplicita dell’utente. Generalmente ignorano il robots.txt perché la richiesta è intenzionale. Includono Google-Agent (AI), NotebookLM, FeedFetcher e altri.

Ogni categoria utilizza range IP differenti e hostname distinti per la verifica tramite reverse DNS. I dettagli di verifica sono documentati nella sezione dedicata più avanti.


Common crawler

I common crawler sono i crawler automatici di Google che rispettano il file robots.txt. Utilizzano hostname nel formato crawl-*.googlebot.com o geo-crawl-*.geo.googlebot.com e i loro IP sono pubblicati nel file common-crawlers.json.

Googlebot

Googlebot è il crawler principale di Google. Costruisce l’indice per Google Search, Discover, Immagini, Video e News. Opera in due varianti — desktop e smartphone — ma entrambe condividono lo stesso product token Googlebot: non è possibile distinguerle tramite robots.txt.

Google utilizza prevalentemente la variante smartphone per l’indicizzazione (mobile-first indexing). Il rendering engine è basato su Chromium evergreen: la versione di Chrome nella UA string viene aggiornata regolarmente.

Product token: Googlebot

UA string desktop:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36

UA string smartphone:

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Googlebot non dovrebbe accedere al sito più di una volta ogni pochi secondi in media. Il limite di dimensione è di 2 MB per i file supportati e 64 MB per i PDF. Le risorse CSS e JavaScript vengono scaricate separatamente, con gli stessi limiti. Per approfondire la gestione della frequenza di scansione, vedi la guida al crawl budget.

Googlebot-Image

Crawler dedicato alle immagini. Alimenta Google Immagini, Discover e le feature video di Search.

Product token: Googlebot-Image (fallback: Googlebot)
UA string: Googlebot-Image/1.0

Googlebot-News

Crawler per Google News e news.google.com. Non ha una UA string dedicata: utilizza le stesse stringhe di Googlebot standard.

Product token: Googlebot-News (fallback: Googlebot)
UA string: utilizza le UA string standard di Googlebot

Googlebot-Video

Supporta le feature video nei risultati di ricerca.

Product token: Googlebot-Video (fallback: Googlebot)
UA string: Googlebot-Video/1.0

Google StoreBot

Indicizza i dati prodotto per Google Shopping e shopping.google.com. Opera sia in versione desktop che mobile.

Product token: Storebot-Google

UA string desktop:

Mozilla/5.0 (X11; Linux x86_64; Storebot-Google/1.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Safari/537.36

UA string mobile:

Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012; Storebot-Google/1.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36

Google-InspectionTool

Utilizzato dagli strumenti di test di Search Console: URL Inspection e Rich Results Test. Non è un crawler automatico — viene attivato quando un utente avvia un test manuale da Search Console. Utile per verificare come Google renderizza le pagine con dati strutturati.

Product token: Google-InspectionTool (fallback: Googlebot)

UA string desktop:

Mozilla/5.0 (compatible; Google-InspectionTool/1.0;)

UA string smartphone:

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Google-InspectionTool/1.0;)

GoogleOther

Crawler generico utilizzato per R&D interno e fetch di contenuti pubblici. Non ha impatto diretto su nessun prodotto Google specifico — bloccarlo non influenza l’indicizzazione su Search. È il crawler da bloccare se si vuole limitare l’accesso a Google senza impattare la visibilità in SERP.

Product token: GoogleOther

UA string desktop:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GoogleOther) Chrome/W.X.Y.Z Safari/537.36

UA string smartphone:

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; GoogleOther)

GoogleOther-Image e GoogleOther-Video

Varianti ottimizzate di GoogleOther per il fetch di immagini e video. Come GoogleOther, non hanno impatto su prodotti Google specifici.

GoogleOther-Image — Product token: GoogleOther-Image (fallback: GoogleOther) — UA string: GoogleOther-Image/1.0

GoogleOther-Video — Product token: GoogleOther-Video (fallback: GoogleOther) — UA string: GoogleOther-Video/1.0

Google-CloudVertexBot

Scansiona pagine web per conto dei Vertex AI Agent configurati dai proprietari dei siti. Non ha impatto sull’indicizzazione in Search. Viene attivato quando un’applicazione Vertex AI richiede l’accesso a contenuti web.

Product token: Google-CloudVertexBot (fallback: Googlebot)
UA string: contiene la sottostringa Google-CloudVertexBot

Google-Extended

Google-Extended non è un crawler con una propria UA string: è un product token utilizzabile esclusivamente nel robots.txt per controllare se i contenuti scansionati vengono utilizzati per il training dei modelli Gemini e per il grounding delle risposte di Gemini Apps.

Product token: Google-Extended
UA string: nessuna (utilizza le UA string degli altri crawler Google)

Bloccare Google-Extended nel robots.txt non influenza l’inclusione o il posizionamento in Google Search. È uno strumento di controllo esclusivamente per l’uso dei contenuti nell’addestramento AI. Vedi la sezione dedicata ai crawler AI per approfondire.


Special-case crawler

I special-case crawler hanno un comportamento particolare rispetto al robots.txt: ignorano le regole wildcard (User-agent: *) e richiedono regole specifiche per il proprio product token. Utilizzano hostname nel formato rate-limited-proxy-*.google.com e i loro IP sono pubblicati nel file special-crawlers.json.

APIs-Google

Consegna messaggi di notifica push per le Google API. Elimina la necessità di polling continuo da parte delle applicazioni. Invia richieste HTTPS POST con retry a backoff esponenziale in caso di errore, estendendo i tentativi fino a diversi giorni.

Product token: APIs-Google
UA string: APIs-Google (+https://developers.google.com/webmasters/APIs-Google.html)

Richiede certificati SSL validi — rifiuta certificati self-signed, revocati o da CA non trusted.

AdsBot-Google e AdsBot-Google-Mobile

Verificano la qualità delle landing page degli annunci Google Ads. Questo è uno dei crawler più importanti da gestire correttamente: se AdsBot non riesce ad accedere alla landing page, il Quality Score dell’annuncio viene penalizzato, con conseguente aumento del CPC.

AdsBot-Google (desktop)
Product token: AdsBot-Google
UA string: AdsBot-Google (+http://www.google.com/adsbot.html)

AdsBot-Google-Mobile
Product token: AdsBot-Google-Mobile
UA string: Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)

Nota: AdsBot ignora le regole User-agent: * nel robots.txt. Per bloccarlo serve una regola esplicita con il product token specifico.

Mediapartners-Google

Visita i siti che partecipano al programma AdSense per determinare quali annunci mostrare in base al contenuto della pagina.

Product token: Mediapartners-Google

UA string desktop: Mediapartners-Google
UA string mobile: [vari dispositivi] (compatible; Mediapartners-Google/2.1; +http://www.google.com/bot.html)

Come AdsBot, ignora le regole wildcard * nel robots.txt.

Google-Safety

Crawler dedicato alla scoperta di malware, phishing e contenuti abusivi. Ignora completamente il robots.txt — nessuna regola può bloccarlo, né wildcard né specifica. Questa è una misura di sicurezza: Google deve poter verificare la presenza di contenuti dannosi indipendentemente dalle direttive del webmaster.

UA string: Google-Safety


User-triggered fetcher

I user-triggered fetcher si attivano solo in risposta a un’azione esplicita dell’utente. Generalmente ignorano il robots.txt perché la richiesta è intenzionale. Utilizzano hostname nel formato *.gae.googleusercontent.com o google-proxy-*.google.com. I range IP sono pubblicati nei file user-triggered-fetchers.json e user-triggered-fetchers-google.json.

Google-Agent (Project Mariner)

Google-Agent è uno dei crawler più recenti e significativi. Viene utilizzato dagli agenti AI su infrastruttura Google (come Project Mariner) per navigare il web ed eseguire azioni richieste dall’utente. È il primo crawler Google progettato per la navigazione autonoma guidata da AI.

UA string desktop:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Google-Agent) Chrome/W.X.Y.Z Safari/537.36

UA string smartphone:

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Google-Agent)

I range IP sono pubblicati nel file user-triggered-agents.json. Google sta sperimentando il protocollo web-bot-auth tramite l’identità https://agent.bot.goog per la verifica di questi agenti AI.

Google-NotebookLM

Scarica le pagine web che gli utenti forniscono come fonti di progetto in NotebookLM, il tool AI di Google per l’analisi e la sintesi di documenti.

UA string: Google-NotebookLM

FeedFetcher-Google

Scarica feed RSS e Atom per Google News e WebSub. Si attiva solo dopo che un utente ha esplicitamente avviato un servizio che richiede dati dal feed. Non scopre link autonomamente — accede solo agli URL forniti dagli utenti.

UA string: FeedFetcher-Google; (+http://www.google.com/feedfetcher.html)

Ignora il robots.txt. Per bloccarlo, il server deve restituire un codice di errore HTTP (404, 410 o simili) quando rileva l’user agent FeedFetcher-Google. La frequenza media di accesso non dovrebbe superare una richiesta per feed all’ora.

Google-Read-Aloud

Scarica e legge le pagine web utilizzando la sintesi vocale (text-to-speech). Alimenta le funzionalità di lettura ad alta voce nelle app Google Go, Google Read it e Read Aloud nell’app Google.

UA string desktop:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Safari/537.36 (compatible; Google-Read-Aloud; +https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)

UA string mobile:

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Google-Read-Aloud; +https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)

Non è controllabile tramite robots.txt. Per disattivare la lettura ad alta voce su una pagina, utilizzare il meta tag:

<meta name="google" content="nopagereadaloud">

Per contenuti a pagamento, utilizzare il markup isAccessibleForFree impostato a false nei dati strutturati.

Google-Site-Verification

Scarica i token di verifica per la proprietà in Google Search Console.

UA string: Mozilla/5.0 (compatible; Google-Site-Verification/1.0)

Altri fetcher

Altri fetcher user-triggered meno comuni:

  • Chrome Web Store (Google-CWS) — scarica URL dai metadati di estensioni e temi Chrome
  • GoogleMessages (GoogleMessages) — genera anteprime link nei messaggi di chat
  • Google-Pinpoint (Google-Pinpoint) — scarica URL per collezioni di documenti personali
  • Google Publisher Center (GoogleProducer) — scarica i feed forniti dai publisher per le landing page di Google News

Crawler IA di Google

Con l’espansione dei prodotti AI, Google ha introdotto diversi crawler specifici per l’intelligenza artificiale. La gestione di questi crawler è diventata una decisione strategica per i webmaster: è possibile controllare l’accesso AI senza impattare l’indicizzazione tradizionale.

I tre crawler AI principali e le relative strategie di controllo:

  • Google-Extended — controlla se i contenuti vengono utilizzati per il training dei modelli Gemini e il grounding di Gemini Apps. Bloccare Google-Extended nel robots.txt non influisce sull’indicizzazione o sul posizionamento in Search. È la leva principale per chi vuole apparire in SERP ma non vuole alimentare l’addestramento AI.
  • Google-CloudVertexBot — crawler per i Vertex AI Agent. Bloccarlo impedisce ai chatbot e agli agenti AI basati su Vertex di accedere ai contenuti. Non ha impatto su Search.
  • Google-Agent (Project Mariner) — agente AI che naviga il web per conto dell’utente. Essendo un user-triggered fetcher, opera su richiesta esplicita. Google sta sviluppando il protocollo web-bot-auth per consentire la verifica dell’identità di questi agenti.

Configurazione robots.txt per bloccare l’uso AI mantenendo l’indicizzazione:

User-agent: Googlebot
Allow: /

User-agent: Google-Extended
Disallow: /

User-agent: Google-CloudVertexBot
Disallow: /

Nota: Google-NotebookLM è un user-triggered fetcher che ignora il robots.txt — gli utenti possono comunque fornire URL delle pagine a NotebookLM. Lo stesso vale per Google-Agent.


Crawler ritirati

I seguenti crawler Google non sono più attivi. Se compaiono nei log del server, la richiesta proviene probabilmente da un bot che sta falsificando la UA string.

CrawlerProduct tokenNote
Googlebot-MobileGooglebot-MobileSostituito da Googlebot smartphone. Utilizzava UA string con dispositivi SAMSUNG-SGH-E250 e DoCoMo.
AdsBot Mobile Web (iPhone)Sostituito da AdsBot-Google-Mobile
Duplex on the WebDuplexWeb-GoogleServizio di automazione web, discontinuato
Google FaviconGoogle FaviconCrawler per favicon, integrato in Googlebot
Mobile Apps AndroidAdsBot-Google-Mobile-AppsCrawler per app Android, ritirato
Web LightgoogleweblightServizio di ottimizzazione pagine per connessioni lente, discontinuato

Tabella riepilogativa completa

Tabella di riferimento con tutti i crawler Google attualmente attivi. La colonna “Tipo” indica la categoria (C = Common, S = Special-case, U = User-triggered). La colonna “robots.txt” indica se il crawler rispetta le regole del file robots.txt.

CrawlerProduct tokenTiporobots.txtUso principale
GooglebotGooglebotCSiSearch, Discover, Immagini, Video, News
Googlebot-ImageGooglebot-ImageCSiGoogle Immagini, Discover
Googlebot-NewsGooglebot-NewsCSiGoogle News
Googlebot-VideoGooglebot-VideoCSiFeature video in Search
Google StoreBotStorebot-GoogleCSiGoogle Shopping
Google-InspectionToolGoogle-InspectionToolCSiURL Inspection, Rich Results Test
GoogleOtherGoogleOtherCSiR&D interno
GoogleOther-ImageGoogleOther-ImageCSiR&D (immagini)
GoogleOther-VideoGoogleOther-VideoCSiR&D (video)
Google-CloudVertexBotGoogle-CloudVertexBotCSiVertex AI Agent
Google-ExtendedGoogle-ExtendedCSiTraining Gemini, grounding
APIs-GoogleAPIs-GoogleSSolo specificoNotifiche push API
AdsBot-GoogleAdsBot-GoogleSSolo specificoQualita landing page Ads
AdsBot-Google-MobileAdsBot-Google-MobileSSolo specificoQualita landing page Ads (mobile)
Mediapartners-GoogleMediapartners-GoogleSSolo specificoAdSense matching contenuti
Google-SafetySNo (ignora tutto)Malware, phishing, abusi
Google-AgentUNoAI agent (Project Mariner)
Google-NotebookLMUNoNotebookLM fonti utente
FeedFetcher-GoogleUNoFeed RSS/Atom
Google-Read-AloudUNoSintesi vocale (TTS)
Google-Site-VerificationUNoVerifica Search Console
Google-CWSUNoChrome Web Store
GoogleMessagesUNoAnteprima link chat
Google-PinpointUNoCollezioni documenti
GoogleProducerUNoGoogle Publisher Center

Verificare l’identita di Googlebot

La stringa User-Agent nell’header HTTP può essere falsificata da chiunque. Per verificare che una richiesta provenga realmente da Google, esistono due metodi affidabili: il reverse DNS lookup e la verifica tramite IP range. Per un approfondimento completo, vedi la guida su come verificare Googlebot.

Reverse DNS lookup

Il metodo più diretto. Consiste in due passaggi: un reverse DNS lookup sull’IP sorgente per ottenere l’hostname, seguito da un forward DNS lookup sull’hostname per confermare che risolva allo stesso IP.

# Passaggio 1: reverse DNS lookup
host 66.249.66.1
# Risultato atteso: crawl-66-249-66-1.googlebot.com

# Passaggio 2: forward DNS lookup per conferma
host crawl-66-249-66-1.googlebot.com
# Risultato atteso: 66.249.66.1

Gli hostname validi per ciascuna categoria di crawler:

  • Common crawler: crawl-*.googlebot.com o geo-crawl-*.geo.googlebot.com
  • Special-case crawler: rate-limited-proxy-*.google.com
  • User-triggered fetcher: *.gae.googleusercontent.com o google-proxy-*.google.com

Verifica tramite IP range JSON

Google pubblica i range IP dei propri crawler in file JSON con notazione CIDR. Ogni categoria di crawler ha il proprio file:

File JSONCrawler coperti
common-crawlers.jsonGooglebot, GoogleOther, StoreBot, InspectionTool, CloudVertexBot, Google-Extended
special-crawlers.jsonAdsBot, Mediapartners, APIs-Google, Google-Safety
user-triggered-fetchers.jsonGoogle-CWS, GoogleMessages, Google-Pinpoint, Google-Read-Aloud, Google-Site-Verification
user-triggered-fetchers-google.jsonFeedFetcher-Google, GoogleProducer
user-triggered-agents.jsonGoogle-Agent

I file sono disponibili all’URL base https://developers.google.com/static/crawling/ipranges/. Esempio di script Python per verificare se un IP appartiene ai range Google:

import json
import ipaddress
import urllib.request

def check_google_ip(ip_to_check):
    files = [
        "common-crawlers.json",
        "special-crawlers.json",
        "user-triggered-fetchers.json",
        "user-triggered-fetchers-google.json",
        "user-triggered-agents.json"
    ]
    base = "https://developers.google.com/static/crawling/ipranges/"
    ip = ipaddress.ip_address(ip_to_check)

    for f in files:
        data = json.loads(urllib.request.urlopen(base + f).read())
        for prefix in data.get("prefixes", []):
            cidr = prefix.get("ipv4Prefix") or prefix.get("ipv6Prefix")
            if cidr and ip in ipaddress.ip_network(cidr):
                return f"IP {ip_to_check} trovato in {f}"
    return f"IP {ip_to_check} NON appartiene a Google"

# Esempio di utilizzo
print(check_google_ip("66.249.66.1"))

Comportamento tecnico dei crawler Google

Tutti i crawler Google condividono alcune proprietà tecniche comuni relative ai protocolli, ai limiti e al supporto per caching e compressione. Conoscere questi dettagli è essenziale per ottimizzare il crawl budget e la gestione delle risorse server.

Protocolli di trasferimento

  • HTTP/1.1 — protocollo predefinito per tutte le richieste
  • HTTP/2 — supportato quando disponibile. Per disattivare l’uso di HTTP/2 da parte di Googlebot, il server deve rispondere con codice di stato 421
  • FTP / FTPS — utilizzati raramente per specifici tipi di file

I crawler Google effettuano le richieste principalmente da IP statunitensi. Se rilevano un blocco geografico, possono eseguire la scansione da datacenter di altri paesi.

Limiti di dimensione dei file

Tipo di contenutoLimite
Default (primo segmento di qualsiasi file)15 MB
File supportati (HTML, CSS, JS, ecc.)2 MB
Documenti PDF64 MB

Le risorse CSS e JavaScript vengono scaricate separatamente e sono soggette agli stessi limiti. Contenuti oltre il limite vengono troncati.

Content encoding

I crawler Google inviano l’header Accept-Encoding e supportano tre algoritmi di compressione:

  • gzip
  • deflate
  • Brotli (br)

Abilitare la compressione lato server riduce la banda consumata dal crawling e migliora l’efficienza della scansione. Brotli offre rapporti di compressione migliori rispetto a gzip per contenuti HTML/CSS/JS.

HTTP caching

Googlebot supporta le intestazioni HTTP standard per il caching condizionale. Implementare correttamente il caching riduce le richieste ripetute e il consumo di crawl budget:

  • ETag / If-None-Match — pienamente supportato. È il metodo di caching preferito da Google
  • Last-Modified / If-Modified-Since — supportato con date in formato RFC standard
  • Cache-Control: max-age — raccomandato per indicare la durata della cache

Quando Googlebot riceve una risposta 304 Not Modified, non scarica nuovamente il contenuto — risparmiando banda e crawl budget. ETag è preferito rispetto a Last-Modified per la precisione nella validazione.


Controllare l’accesso dei crawler con robots.txt

Il file robots.txt è lo strumento principale per controllare l’accesso dei crawler. La comprensione di come i diversi crawler Google interagiscono con le regole robots.txt è fondamentale per una gestione corretta della scansione.

Product token e regole robots.txt

Nel robots.txt, Google applica la regola più specifica disponibile. Se esistono regole sia per Googlebot che per Googlebot-Image, Googlebot-Image seguirà le proprie regole specifiche, ignorando quelle generiche di Googlebot. Se non esiste una regola specifica, il crawler segue quella di Googlebot (per i common crawler) o la regola wildcard * (se il crawler la rispetta).

Crawler che ignorano robots.txt

Non tutti i crawler Google rispettano il robots.txt allo stesso modo:

  • Common crawler — rispettano tutte le regole robots.txt, inclusa la wildcard *
  • Special-case crawler (AdsBot, Mediapartners, APIs-Google) — ignorano la regola User-agent: *. Servono regole esplicite con il product token specifico
  • Google-Safety — ignora completamente il robots.txt (nessuna regola può bloccarlo)
  • User-triggered fetcher — generalmente ignorano il robots.txt perché la richiesta è intenzionale dell’utente

Esempi di configurazione robots.txt

Consentire l’indicizzazione ma bloccare il training AI:

User-agent: Googlebot
Allow: /

User-agent: Google-Extended
Disallow: /

Bloccare AdsBot (richiede regola specifica, la wildcard non funziona):

User-agent: AdsBot-Google
Disallow: /

User-agent: AdsBot-Google-Mobile
Disallow: /

Consentire solo Googlebot, bloccare tutto il resto:

User-agent: Googlebot
Allow: /

User-agent: *
Disallow: /

Bloccare la scansione delle immagini in una directory specifica:

User-agent: Googlebot
Allow: /

User-agent: Googlebot-Image
Disallow: /private/

Per direttive più granulari a livello di singola pagina, è possibile utilizzare il meta tag robots o l’header HTTP X-Robots-Tag. Vedi la guida al meta tag NOINDEX per i dettagli.


Analisi dei crawler Google nei log del server

L’analisi dei log del web server è il metodo più affidabile per capire quali crawler Google visitano il sito, con quale frequenza e quali pagine richiedono. Per operazioni da terminale, ecco i comandi più utili.

Contare le richieste per tipo di crawler Google:

grep -oP '(Googlebot|Googlebot-Image|Googlebot-Video|Googlebot-News|Storebot-Google|Google-InspectionTool|GoogleOther|Google-CloudVertexBot|AdsBot-Google|Mediapartners-Google|Google-Safety|Google-Agent|Google-NotebookLM|FeedFetcher-Google|Google-Read-Aloud)' access.log | sort | uniq -c | sort -rn

Monitorare i nuovi crawler AI nei log:

grep -E '(Google-Agent|Google-NotebookLM|Google-CloudVertexBot|Google-Extended|Google-Read-Aloud)' access.log | awk '{print $1, $4, $7}' | head -50

Verificare le richieste di un IP sospetto:

# Estrai IP che si presentano come Googlebot
grep "Googlebot" access.log | awk '{print $1}' | sort -u | while read ip; do
    host "$ip" | grep -q "googlebot.com\|google.com" || echo "FAKE: $ip"
done

L’analisi regolare dei log permette di identificare crawler non autorizzati che falsificano le UA string di Google, monitorare l’adozione dei nuovi crawler AI e ottimizzare la gestione del crawl budget in base ai pattern di scansione effettivi.

Articoli correlati

23 min lettura

Il crawl budget è l'esatta interazione tra crawl rate limit e crawl demand, fattore critico per siti enterprise con milioni di URL. Analisi tecnica dell'architettura di Googlebot, dall'URL Frontier alla Priority Queue, per ottimizzare la scansione tramite log server in Python e GSC.
4 mi piace
9 min lettura

Analisi tecnica delle modalità di rendering in Screaming Frog per audit SEO avanzati. Confronto dettagliato tra la scansione Text Only del puro codice HTML e il JavaScript rendering per l'analisi del DOM, essenziale per intercettare contenuti caricati asincronamente.
3 mi piace
13 min lettura

Analisi del comportamento del Web Rendering Service sui contenuti nascosti. L'uso di display none, visibility hidden o pattern UX come gli accordion non causa penalizzazioni algoritmiche: le Spam Policies di Google colpiscono esclusivamente l'intento manipolatorio sul ranking.
2 mi piace

Autore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ultimi articoli aggiornati

17 min lettura

Configurare il file robots.txt secondo il Robot Exclusion Protocol permette di governare il traffico dei bot e ottimizzare il crawl budget. Analisi tecnica della sintassi e delle direttive di scansione, distinguendo il controllo del crawling dalle regole di indicizzazione noindex.
4 mi piace
54 min lettura

Superare i limiti dei tool GUI analizzando i dati grezzi da riga di comando. Utilizza pipeline CLI con curl, jq e awk per ispezionare header HTTP, log server e catene di redirect, costruendo audit SEO tecnici riproducibili e output deterministici direttamente dal terminale.
3 mi piace

Richiedi un preventivo SEO e Google Ads

Porta il tuo sito web al livello successivo con l’esperienza di EVE Milano. La nostra agenzia di Search Marketing ha ricevuto oltre 1208 richieste di preventivo, un segnale chiaro della fiducia che imprenditori e manager, come te, ripongono nella nostra specializzazione tecnica e verticale nella SEO e PPC. Se la tua organizzazione cerca competenze specifiche per emergere nei risultati di Google, noi siamo pronti a fornire quel valore aggiunto. Richiedi un preventivo ora e scopri la differenza tra noi e gli altri.
Richiedi un preventivo

Vuoi ricevere un avviso al mese con le nuove guide pubblicate?

Iscriviti alla newsletter!