Verify Googlebot Reverse DNS and IP Range Checks
search console referenceHello my friend. To verify Googlebot, you check the visitor’s IP address, not its name tag. Google gives two methods: a manual reverse and forward DNS lookup, and an automatic match against its published IP range files. This guide shows both, step by step.
- manual DNS method
- IP range files
- exact steps
host 66.249.66.1
crawl-66-249-66-1.googlebot.com
host crawl-66-249-66-1.googlebot.com
has address 66.249.66.1
the IPs match, so the visitor is Googlebot
// this is the example Google prints in its verification guide. Your own logs will show other addresses.
How to Verify That Googlebot Is Real
Look up the visitor’s IP with a reverse DNS lookup, confirm the domain is googlebot.com, google.com or googleusercontent.com, then run a forward lookup and confirm it returns the same IP.
Why bother? Anyone can type “Googlebot” into a user agent string. Google’s crawler documentation warns that the HTTP user agent string can be spoofed. Google says verification helps when you are concerned that spammers or other troublemakers are accessing your site while claiming to be from Google. My guide to Google crawlers and user agents lists what the real ones look like.
Do you need this? Most small business sites never do. You need it when your logs show heavy traffic from something calling itself Googlebot, or when a firewall rule should let the real crawler through but stop imitators. This is my own judgment, not Google’s.
The Manual Method: Reverse and Forward DNS
Use it for one-off lookups with command line tools. Four steps, no special software.
- Find the IP in your logs. Pick the address that claims to be Googlebot.
- Run a reverse DNS lookup. Use the
hostcommand on the IP. It returns a domain name. - Check the domain. Google says it must be
googlebot.com,google.comorgoogleusercontent.com. - Run a forward DNS lookup. Use
hoston that domain name and confirm the result matches the original IP.
The second lookup matters, because a reverse record alone can be set up by whoever owns the IP. Matching the name back to the IP closes that gap. In Google’s own example, the IP 66.249.66.1 resolves to crawl-66-249-66-1.googlebot.com, and that name resolves back to 66.249.66.1.
// source: Google Search Central, Verifying Googlebot and other Google crawlers.
What the Real Hostnames Look Like
Each crawler type has its own reverse DNS pattern. If the pattern does not fit, be suspicious.
| type | reverse DNS mask |
|---|---|
| Common crawlers (Googlebot) | crawl-***-***-***-***.googlebot.com or geo-crawl-***-***-***-***.geo.googlebot.com |
| Special-case crawlers | rate-limited-proxy-***-***-***-***.google.com |
| User-triggered fetchers | ***-***-***-***.gae.googleusercontent.com or google-proxy-***-***-***-***.google.com |
// source: the same Google guide. The stars stand for the digits of the IP address.
The Automatic Method: Match Published IP Ranges
For large-scale checks, compare the accessing IP with Google’s published JSON lists, which use CIDR format.
CIDR is a compact way to write a block of IP addresses, such as one range instead of thousands of single addresses. Google publishes these lists as JSON files:
common-crawlers.jsonfor Googlebot and other common crawlersspecial-crawlers.jsonfor special-case crawlers such as AdsBotuser-triggered-fetchers.json, which resolves to gae.googleusercontent.comuser-triggered-fetchers-google.json, which resolves to google.comuser-triggered-agents.json
Notice the Googlebot list is common-crawlers.json, and no separate googlebot.json file appears in Google’s current guide. For other Google IPs, such as those used by Apps Script, Google points to a general list on gstatic.com. Write a small script or firewall rule that downloads the file regularly and checks each IP against it. Do not hard-code the ranges, because they are published in files for a reason: they change.
Why Crawler Type Changes What You Expect
Common crawlers respect robots.txt. Special-case crawlers may or may not. User-triggered fetchers ignore it, because a user asked for the fetch.
That is straight from Google’s guide, and it explains a common confusion. If a tool on a Google domain fetches a page you blocked in robots.txt, it may be a user-triggered fetcher, and it is behaving as designed. A genuinely spoofed bot is a different case, and DNS will not match.
Says it is Google
user agent claim
Reverse DNS
host IP
Domain allowed?
googlebot.com, google.com, googleusercontent.com
Forward DNS
same IP back?
Verdict
match is real, mismatch is fake
// the flow shows Google’s manual method. The “mismatch is fake” conclusion is my plain-English reading of it.
Mistakes and Their Fixes
Every one of these comes from trusting a name tag.
Trusting the User Agent
- Allowing anything that says Googlebot
Fix: verify the IP. Google says the string can be spoofed.
Doing Only the Reverse Lookup
- Stopping after the first host command
Fix: run the forward lookup too and compare the IPs.
Checking the Wrong File
- Using a special-crawler list for Googlebot
Fix: Googlebot is in common-crawlers.json. Match the file to the crawler type.
Hard-Coding Ranges Forever
- A pasted list in a firewall that nobody updates
Fix: fetch the published JSON on a schedule instead.
How to Check You Did It Right
A correct check ends with one clear verdict and a note in your logs.
- Test the method on a known good case first, such as an IP Google’s own example uses.
- Then test one visitor from your logs, and record the domain and the match.
- Use the URL Inspection tool’s live test to compare. Requests from it come from Google’s own testing crawler.
- Only then change a firewall or block list, and keep a note of what you changed.
If you want this set up safely, my technical SEO work covers crawl access, and a cheap SEO services plan from me includes technical checks. Also see the crawl stats report to compare with your logs.
Verify Googlebot Questions Answered
How do I verify Googlebot manually?
Run a reverse DNS lookup on the IP, confirm the domain is googlebot.com, google.com or googleusercontent.com, then run a forward lookup on that domain and confirm it returns the same IP.
Is the user agent enough to identify Googlebot?
No. Google says the HTTP user agent string can be spoofed. Check the IP address and reverse DNS.
Where are Google’s IP ranges published?
In JSON files linked from Google’s verification guide, including common-crawlers.json for Googlebot. The addresses are in CIDR format.
Do all Google fetchers obey robots.txt?
No. Common crawlers always do for automatic crawls, special-case crawlers may or may not, and user-triggered fetchers ignore it because a user requested the fetch.
What if a visitor fails the check?
It is not Google, whatever its name says. Google’s guide does not prescribe what to do next, so my suggestion is to rate-limit or block that IP after you confirm it is causing problems.
Send Me Your URL. I’ll Help You Sort the Real From the Fake.
One WhatsApp message is enough for a first look.
Sources and Last Check
- Google Search Central: Verifying Googlebot and other Google crawlers (both methods, hostname masks, JSON files)
- Google Search Central: Google’s common crawlers (spoofing warning, Googlebot hostnames)
- Google Search Central: Overview of Google crawlers and fetchers (three signals, crawler types)
// last checked 11 Nov 2026. The command output is Google’s own documented example. Advice on when you need this and what to do after a failed check is my opinion.