Auspex.

Tools / Identity check

Was that request really Googlebot?

Any request can present any name. A user-agent string is a claim, and a log full of them tells you what visitors said they were. Paste one line, or just the address, and this check reads the address against the ranges each operator publishes for its crawlers, then does the reverse-DNS forward confirmation Google documents. Nothing is fetched from your site.

Checks Googlebot and Google's other fetchers, Bingbot, GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User and Applebot against their published lists, each reported with the date the operator stamped on it. ClaudeBot, Amazonbot, CCBot, Bytespider and Meta's agent publish no list, and the result says so. In a sample, reverse DNS is looked up for the twelve most frequent addresses the lists did not verify. Twelve checks a minute per visitor.

Two readings, and which to believe

Membership of the address in a published range is the strong reading. The operators publish these lists so that sites can tell their crawlers from imitations, and an address inside Googlebot's ranges is Googlebot. Reverse DNS is the second reading: the address resolves to a host name, and the host name resolves back to the same address. A reverse record on its own proves nothing, since the owner of an address block can name it anything. Forward confirmation is what makes it evidence.

The result that matters is the disagreement. A line that presents Googlebot from an address outside every published range is a request that borrowed the name. A crawl audit that counts user-agent strings counts that request as Googlebot, and counts the crawler a firewall blocked as absent.

The other checks

The crawl check asks what your site returns to each named crawler. The index check reads what the index would keep from a page, and the sitemap check reads whether your sitemap offers what it then takes back. This one closes the loop the others leave open: whether the crawler you saw in your logs was the crawler at all.