It's worth breaking down exactly which Googlebot variants are hitting your site. A lot of people only check the main Googlebot user-agent, but there are separate crawlers for images, video, mobile rendering, and even the "AdsBot" if you run any paid search.
To test properly, I script a simple check in a staging environment or a server log parser. Here's a basic approach using a server-side log snippet (PHP, but you can adapt):
$ua = $_SERVER['HTTP_USER_AGENT'] ?? '',
if (preg_match('/Googlebot/i', $ua)) {
// log the full UA and IP
error_log("Googlebot crawl: $ua from ".$_SERVER['REMOTE_ADDR']),
}
Then I spin up a few curl requests mimicking different Googlebot user-agents:
Mozilla/5.0 (compatible, Googlebot/2.1, +http://www.google.com/bot.html)
Mozilla/5.0 (Linux, Android 6.0.1, Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible, Googlebot/2.1, +http://www.google.com/bot.html) - the mobile-friendly variant
Googlebot-Image/1.0
Run those against your key pages, check the response code, robots.txt rules, and any redirect chain. You'd be surprised how often a blanket Disallow: / or a noindex meta is only triggered by one of these variants.
If you haven't looked at your server access logs filtered by these UAs, that's your next move. It'll show you exactly which bots are being blocked or hitting errors.