Verify Googlebot
A request is genuinely Googlebot only if the source IP passes a forward-confirmed reverse DNS check or appears in one of Google's published range files. Run a reverse lookup on the IP: it must return a hostname ending in googlebot.com or google.com, and a forward lookup of that hostname must return the same IP. The user-agent string proves nothing on its own, because anyone can send it.
Check an IP from your access log
Paste the address that sent the Googlebot user agent. The lookup returns the ASN and the network it belongs to, which is the fastest way to spot a fake: real Googlebot traffic comes from Google, not from a hosting reseller or a residential proxy pool.
The forward-confirmed reverse DNS check
# 1. reverse lookup on the address from your log
host 66.249.66.1
# -> 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com
# 2. forward lookup on the hostname you just got back
host crawl-66-249-66-1.googlebot.com
# -> crawl-66-249-66-1.googlebot.com has address 66.249.66.1
# Genuine only if step 2 returns the exact address from step 1
# and the hostname ends in googlebot.com or google.com.Replace the address with the one from your own log. A mismatch, or a hostname on any other domain, means the request was not Googlebot.
Do not skip step two. A PTR record can be set by whoever controls the address, so a googlebot.com hostname on its own is not proof. Only the forward lookup ties it back to Google’s zone.
Or match against the published range files
googlebot.jsonSearch crawlingspecial-crawlers.jsonGoogleOther and the AdsBot familyuser-triggered-fetchers.jsonFetches a person asked for
Questions
Same problem, every other crawler
Googlebot is the easy case, because Google publishes both a DNS convention and range files. Most AI crawlers publish neither. The directory lists what each one actually offers.