XF 1.1 How do I determine bots / human?


Active member
at best all my stats are fairly vague on who or what is visiting my site:

my site shows visitors: xx
Even though i can guess that much of those are bots, but that is far
as it goes. How can i find exactly what bots are on my forum, and from where?

china has went from almost nothing to like 4 GB while US is much lower at 1.x GB.
I would guess most of china would be from bots, but then again, im not sure who is real, or what is bot....

At least VB had some sort of spider addon, and you can see exactly what
spiders that were on your. Is there any such addons for XF? If not, then how
do i find out from bots, humans?



Well-known member
If you are talking about spam bots then..

One of the things most spam bots try to do is... hide
Most spam bots (such as XRumer) modify the headers so that they look like browsers / real humans

They will do many things that make them look like humans, that is one of their purposes.

Anything sent to the page in the header can be modified
However, there are plenty of spam tools that stop the bots from registering, some even stop the majority of spam bots being able to visit your site

There is one thing you can do for "known" spam bots.

As the admin, list your on-line visitors:

You'll then be able to view their IP address
You can then do a look up for that IP address (on the StopForumSpam database)... be careful though, StopForumSpam does detect some false positives.

For that same IP address, you can also look at your server access logs
If that IP address has hit the registration page multiple times, it's also quite likely to be from a spam bot.


If you are talking about bots that are spiders (crawls from google, etc), these types of bots let you know they are bots... most are "friendly" bots ;)
XenForo does detect these types of bots using is_robot, or isRobot (but doesn't publicly tell you this the information)...

see XenForo_Session:
    public static function isRobot($userAgent)
        if (preg_match('#(' . implode('|', array_map('preg_quote', self::$knownRobots)) . ')#i', strtolower($userAgent), $match))
            return $match[1];
        return false;

I believe at some point XenForo (maybe 1.2?) will publicly give your more information about isBot on the users online page, a suggestion has been made many times:


and this current one: