You could throw a pretty decent party with that amount of guests.But only 600 guests on my forum - which is good![]()
I'm still wondering about these numbers. This sounds even worse than the worst times here on the XF forums back in spring this year. Way worse. Are these bots or are these rather requests? But even then: Your forum is decent, but in comparison to others on here not that huge:Today Cloudflare is showing 1.02 million bots trying to hit my site. Recently it's only been about 250k.

About 180 on average.You could throw a pretty decent party with that amount of guests.What amount of guest used to be normal on your forum before the bot waves started, so probably 1,5 - 2 years ago?
Maybe they haven't caught up with you yet! I think they are just targeting Xenforo forums maybe. Mine is linked all over the internet. Members are only since 17 months ago when I started from scratch again after closing it down in March 2025 due to the OSA. But then reopened again in May 2025. Prior to closing down it had 850 members but started again with about 40. So it's gone from 40 to about 1100 in the last 17 months. But all the posts were still there as I had left the site in tact when it was taken offline.just wondering what the reason may be for this immense difference.
Anthony, can I ask what's the first rule you have there?Gonna say... pretty happy with my current ruleset. My traffic is now normal, 165k uniques, around that 150k normal daily, and WAF events are doing their job, getting rid of 130k of cf.client.bot useless crawlers from my site. That browser impersonator... still the best rule to date, it has 9 solves from 280k events... that is the single most effective rule I have ever employed to my knowledge.
View attachment 346612
I block cf.client.bots, because if you look at the approved bot list for cloudflare, it does not mean the bots are good, it just means the bots belong to, basically, a business who has registered their bot with cloudflare versus a person running their own bot to do anything they want. This rule allows only the absolute essential bots onto my site, with skip, the second rule outright blocks cf.client.bots, so anything not in the first rule skipping further rules, is caught. There is over 700 CF approved bots. 90% of them are rubbish to most websites.Anthony, can I ask what's the first rule you have there?
cf.client.bot and (
lower(http.user_agent) contains "googlebot"
or lower(http.user_agent) contains "bingbot"
or lower(http.user_agent) contains "applebot"
or lower(http.user_agent) contains "duckduckbot"
or lower(http.user_agent) contains "bravebot"
or lower(http.user_agent) contains "yandexbot"
or lower(http.user_agent) contains "baiduspider"
or lower(http.user_agent) contains "yeti"
or lower(http.user_agent) contains "petalbot"
or lower(http.user_agent) contains "oai-searchbot"
or lower(http.user_agent) contains "claude-searchbot"
or lower(http.user_agent) contains "perplexitybot"
or lower(http.user_agent) contains "chatgpt-user"
or lower(http.user_agent) contains "claude-user"
or lower(http.user_agent) contains "perplexity-user"
or lower(http.user_agent) contains "facebookexternalhit"
or lower(http.user_agent) contains "linkedinbot"
or lower(http.user_agent) contains "twitterbot"
or lower(http.user_agent) contains "telegrambot"
or lower(http.user_agent) contains "discordbot"
or lower(http.user_agent) contains "slackbot"
or lower(http.user_agent) contains "bingpreview"
or lower(http.user_agent) contains "microsoftpreview"
or lower(http.user_agent) contains "googleimageproxy"
)
Edit - yes it's request numbersI'm still wondering about these numbers. This sounds even worse than the worst times here on the XF forums back in spring this year. Way worse. Are these bots or are these rather requests? But even then: Your forum is decent, but in comparison to others on here not that huge:
View attachment 346901
How old is it?
Im comparison: Mine is four years old and has roughly half as many messages, double as many threads and four times the number of users. The largest number of guests on the forum I ever saw was 1800 in spring last year during a bot wave from Hetzner. I have started to block bad requests already two years ago and never stopped since. The highest number of IPs that tried to reach my forum within a 24h period was something like 12.000 and clearly, more than 10k has been an exception that I can count on one hand. Normal over the last months has been 1.200 - 2.500, atm bots seem to get nasty again, so numbers between 3.000 and 4.000 are kind of normal atm with about 7.500 being the peak over the last weeks. Most of them do never reach the forum anyway and are blocked upfront completely.
So either bots like hamsters way, way more than my forum topic or there must be another difference that makes my forum less attractive for bots than others. I mean: I clearly won't complain about that- just wondering what the reason may be for this immense difference.
Thanks!I block cf.client.bots, because if you look at the approved bot list for cloudflare, it does not mean the bots are good, it just means the bots belong to, basically, a business who has registered their bot with cloudflare versus a person running their own bot to do anything they want. This rule allows only the absolute essential bots onto my site, with skip, the second rule outright blocks cf.client.bots, so anything not in the first rule skipping further rules, is caught. There is over 700 CF approved bots. 90% of them are rubbish to most websites.
Code:cf.client.bot and ( lower(http.user_agent) contains "googlebot" or lower(http.user_agent) contains "bingbot" or lower(http.user_agent) contains "applebot" or lower(http.user_agent) contains "duckduckbot" or lower(http.user_agent) contains "bravebot" or lower(http.user_agent) contains "yandexbot" or lower(http.user_agent) contains "baiduspider" or lower(http.user_agent) contains "yeti" or lower(http.user_agent) contains "petalbot" or lower(http.user_agent) contains "oai-searchbot" or lower(http.user_agent) contains "claude-searchbot" or lower(http.user_agent) contains "perplexitybot" or lower(http.user_agent) contains "chatgpt-user" or lower(http.user_agent) contains "claude-user" or lower(http.user_agent) contains "perplexity-user" or lower(http.user_agent) contains "facebookexternalhit" or lower(http.user_agent) contains "linkedinbot" or lower(http.user_agent) contains "twitterbot" or lower(http.user_agent) contains "telegrambot" or lower(http.user_agent) contains "discordbot" or lower(http.user_agent) contains "slackbot" or lower(http.user_agent) contains "bingpreview" or lower(http.user_agent) contains "microsoftpreview" or lower(http.user_agent) contains "googleimageproxy" )








So basically, are those the ones you allow via a skip rule? And then no not.cfclientbot in any further rules? Also, with such a long list of 700 or so, how to know which might actually have be helpful if blocked. Eg are all SEO bots unhelpful? Are all Data collection bots unhelpful? (This seems to include Pinterest). Are all Monitoring and Operations bots unhelpful? This seems to include Google API, Shopify and Github.I block cf.client.bots, because if you look at the approved bot list for cloudflare, it does not mean the bots are good, it just means the bots belong to, basically, a business who has registered their bot with cloudflare versus a person running their own bot to do anything they want. This rule allows only the absolute essential bots onto my site, with skip, the second rule outright blocks cf.client.bots, so anything not in the first rule skipping further rules, is caught. There is over 700 CF approved bots. 90% of them are rubbish to most websites.
Code:cf.client.bot and ( lower(http.user_agent) contains "googlebot" or lower(http.user_agent) contains "bingbot" or lower(http.user_agent) contains "applebot" or lower(http.user_agent) contains "duckduckbot" or lower(http.user_agent) contains "bravebot" or lower(http.user_agent) contains "yandexbot" or lower(http.user_agent) contains "baiduspider" or lower(http.user_agent) contains "yeti" or lower(http.user_agent) contains "petalbot" or lower(http.user_agent) contains "oai-searchbot" or lower(http.user_agent) contains "claude-searchbot" or lower(http.user_agent) contains "perplexitybot" or lower(http.user_agent) contains "chatgpt-user" or lower(http.user_agent) contains "claude-user" or lower(http.user_agent) contains "perplexity-user" or lower(http.user_agent) contains "facebookexternalhit" or lower(http.user_agent) contains "linkedinbot" or lower(http.user_agent) contains "twitterbot" or lower(http.user_agent) contains "telegrambot" or lower(http.user_agent) contains "discordbot" or lower(http.user_agent) contains "slackbot" or lower(http.user_agent) contains "bingpreview" or lower(http.user_agent) contains "microsoftpreview" or lower(http.user_agent) contains "googleimageproxy" )
I still use my own Block Specific Bots rule but added Anthony's skip rule (now the first rule). It's really nice and I am very happy with it.So basically, are those the ones you allow via a skip rule? And then no not.cfclientbot in any further rules? Also, with such a long list of 700 or so, how to know which might actually have be helpful if blocked. Eg are all SEO bots unhelpful? Are all Data collection bots unhelpful? (This seems to include Pinterest). Are all Monitoring and Operations bots unhelpful? This seems to include Google API, Shopify and Github.
It looks a good idea, but I think I'll pass on it, because it wouldn't really make a difference to my residential proxy bots, which are the vast majority of bots hitting my site.
I had Claude check my server logs and only 19 of Cloudflare's 700 verified bots visited my site, in a 24 hour period, so maybe it isn't an issue.
starts_with(http.request.uri.path, "/misc/style-variation") and not any(http.request.headers["x-requested-with"][*] eq "XMLHttpRequest")
See: https://xenforo.com/community/threads/crazy-amount-of-guests.233649/page-83#post-1795269So basically, are those the ones you allow via a skip rule? And then no not.cfclientbot in any further rules? Also, with such a long list of 700 or so, how to know which might actually have be helpful if blocked. Eg are all SEO bots unhelpful? Are all Data collection bots unhelpful? (This seems to include Pinterest). Are all Monitoring and Operations bots unhelpful? This seems to include Google API, Shopify and Github.
I had Claude check my server logs and only 19 of Cloudflare's 700 verified bots visited my site, in a 24 hour period, so maybe it isn't an issue.

Is there a way of being able to use Turnstile in custom rules, instead of Managed, or Interactive challenges? This article shows how these bots are solving challenges (grr) and actually teaches people how to bypass Cloudflare. But it does say they can't solve Turnstile.
Today, we’re excited to announce that we have integrated Turnstile with the Cloudflare Web Application Firewall (WAF). This means that web admins can add the Turnstile code snippet to their websites, and then configure the Cloudflare WAF to manage these requests. This is completely customizable using WAF Rules; for instance, you can allow a user authenticated by Turnstile to interact with all of an application’s API endpoints without facing any further challenges, or you can configure certain sensitive endpoints, like Login, to always issue a challenge.
cf.client.bot and (
lower(http.user_agent) contains "googlebot"
or lower(http.user_agent) contains "googleother-image"
or lower(http.user_agent) contains "bingbot"
or lower(http.user_agent) contains "applebot"
or lower(http.user_agent) contains "duckduckbot"
or lower(http.user_agent) contains "bravebot"
or lower(http.user_agent) contains "yandexbot"
or lower(http.user_agent) contains "baiduspider"
or lower(http.user_agent) contains "yeti"
or lower(http.user_agent) contains "petalbot"
or lower(http.user_agent) contains "slurp"
or lower(http.user_agent) contains "mojeekbot"
or lower(http.user_agent) contains "kagibot"
or lower(http.user_agent) contains "oai-searchbot"
or lower(http.user_agent) contains "claude-searchbot"
or lower(http.user_agent) contains "perplexitybot"
or lower(http.user_agent) contains "duckassistbot"
or lower(http.user_agent) contains "mistralai-index"
or lower(http.user_agent) contains "chatgpt-user"
or lower(http.user_agent) contains "claude-user"
or lower(http.user_agent) contains "perplexity-user"
or lower(http.user_agent) contains "mistralai-user"
or lower(http.user_agent) contains "meta-externalfetcher"
or lower(http.user_agent) contains "facebookexternalhit"
or lower(http.user_agent) contains "linkedinbot"
or lower(http.user_agent) contains "twitterbot"
or lower(http.user_agent) contains "telegrambot"
or lower(http.user_agent) contains "discordbot"
or lower(http.user_agent) contains "slackbot"
or lower(http.user_agent) contains "bingpreview"
or lower(http.user_agent) contains "microsoftpreview"
or lower(http.user_agent) contains "googleimageproxy"
or lower(http.user_agent) contains "whatsapp"
or lower(http.user_agent) contains "pinterestbot"
)
Thank you for the link about Turnstile - I don't fully understand the article - it sounds complicated.See: https://xenforo.com/community/threads/crazy-amount-of-guests.233649/page-83#post-1795269
GPT categorisation of CF allowed bots.
View attachment 347029
![]()
Integrating Turnstile with the Cloudflare WAF to challenge fetch requests
By editing or creating a new Turnstile widget with “Pre-Clearance” enabled, Cloudflare customers can now use Turnstile to issue a challenge when a page’s HTML loads, and enforce that all valid responses have a valid Turnstile tokenblog.cloudflare.com
From quickly skimming it, it uses pre-clearance mode.
If you wanted to get a little broader, fairly safely, with my rule, you could expand to:
Code:cf.client.bot and ( lower(http.user_agent) contains "googlebot" or lower(http.user_agent) contains "googleother-image" or lower(http.user_agent) contains "bingbot" or lower(http.user_agent) contains "applebot" or lower(http.user_agent) contains "duckduckbot" or lower(http.user_agent) contains "bravebot" or lower(http.user_agent) contains "yandexbot" or lower(http.user_agent) contains "baiduspider" or lower(http.user_agent) contains "yeti" or lower(http.user_agent) contains "petalbot" or lower(http.user_agent) contains "slurp" or lower(http.user_agent) contains "mojeekbot" or lower(http.user_agent) contains "kagibot" or lower(http.user_agent) contains "oai-searchbot" or lower(http.user_agent) contains "claude-searchbot" or lower(http.user_agent) contains "perplexitybot" or lower(http.user_agent) contains "duckassistbot" or lower(http.user_agent) contains "mistralai-index" or lower(http.user_agent) contains "chatgpt-user" or lower(http.user_agent) contains "claude-user" or lower(http.user_agent) contains "perplexity-user" or lower(http.user_agent) contains "mistralai-user" or lower(http.user_agent) contains "meta-externalfetcher" or lower(http.user_agent) contains "facebookexternalhit" or lower(http.user_agent) contains "linkedinbot" or lower(http.user_agent) contains "twitterbot" or lower(http.user_agent) contains "telegrambot" or lower(http.user_agent) contains "discordbot" or lower(http.user_agent) contains "slackbot" or lower(http.user_agent) contains "bingpreview" or lower(http.user_agent) contains "microsoftpreview" or lower(http.user_agent) contains "googleimageproxy" or lower(http.user_agent) contains "whatsapp" or lower(http.user_agent) contains "pinterestbot" )
We use essential cookies to make this site work, and optional cookies to enhance your experience.