У меня проверка проходит так (код вроде брал из плагина wp-kama, точно не помню):
global $user_ID;
$who_count = 1; // 0 - считать всех, 1 - только гостей, 2 - только зарегистрированных пользователей
$exclude_bots = 1; // 0 - считать всех, 1 - исключить из подсчета ботов
# Проверка пользователя: гость или зарегистрирован
$should_count = false;
switch( (int)$who_count ) {
case 0: $should_count = true;
break;
case 1:
if( (int)$user_ID == 0 )
$should_count = true;
break;
case 2:
if( (int)$user_ID > 0 )
$should_count = true;
break;
}
# Проверка на браузер или не бот, иначе false
if( (int)$exclude_bots == 1 && $should_count ){
$useragent = $_SERVER['HTTP_USER_AGENT'];
$notbot = "Mozilla|Opera"; //Chrome|Safari|Firefox|Netscape - все равны Mozilla
$bot = "Bot/|robot|Slurp/|yahoo"; //Яндекс иногда как Mozilla представляется
if ( !preg_match("/$notbot/i", $useragent ) || preg_match( "!$bot!i", $useragent ) )
$should_count = false;
}