Bot Management decides which automated clients are welcome. Not all bots are attackers — search engines, uptime checks and partner integrations are all bots — and not everything calling itself Googlebot is Googlebot.


This is the part worth reading twice.
An allowed bot bypasses bot challenges and bad-bot blocking — and nothing else. It still meets every other check: injection rules, IP lists, rate limits, learned rules. Allowing Googlebot does not hand it a key to the application.
That is a deliberate correction. Allowing a bot once returned immediately, which meant anybody who set their User-Agent to Googlebot walked past SQL injection and XSS detection as well. Now the allowance covers exactly the checks it should.
A User-Agent is a claim, and claims are free. Two mechanisms turn one into evidence:
Reverse DNS. The engine resolves the client's address and checks that the name belongs to the crawler it claims to be. The logic is careful in a way worth knowing:
bot_impersonation.IP ranges. Give the rule the networks the bot really uses. A User-Agent that matches but arrives from outside them does not match the rule at all.
Use both together when you can: the name says who it claims to be, the address says where it really is, and reverse DNS ties the two.

Click Add Rule.
Partner integration.A rule with Rate limit and no ceiling set behaves as an allow. Set the ceiling, or choose Allow and mean it.
The behaviour that applies when no rule matches lives in Global Settings → Bot & Browser:
1. Impersonate the bot you just allowed — from an address outside its ranges, if the rule has them:
curl -o /dev/null -w '%{http_code}\n' \
-H 'User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' \
"https://site.example.com/"
With reverse DNS verification on, this should be refused — you are not Google, and the lookup says so. That is the rule working, not failing.
2. The real crawler. Look in Bot Activity for its name and what happened, or filter Security Events by the site: an impersonation reads bot_impersonation, a bad-bot block reads bad_bot with the bot's name.
3. Is the rule matching at all? Each rule counts its own hits, so a rule with a typo in its pattern is distinguishable from a rule nothing matches — which a category counter alone could never tell you.
| Situation | Better tool |
|---|---|
| The crawler is welcome but too fast | Rate limit inside the bot rule, or a rate limit rule on the paths it hammers |
| It is one address rather than one client | an IP list entry |
| It is a whole hosting provider | a firewall rule matching the ASN |
| The requests are malicious, not merely automated | the rulesets — they are what inspects content |