<?php
$http_users_agent = [
'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36', // Googlebot
'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/W.X.Y.Z Safari/537.36', // Bingbot
'Twitterbot/1.0 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.12.3 Chrome/69.0.3497.128 Safari/537.36', // Twitterbot
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36', // Zwykły użytkownik
'Mozilla/5.0 (Linux; Android 10; SM-G973F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36', // Kolejny zwykły użytkownik
'Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)' // AhrefsBot
];
function isSearchBot() {
$user_agent = $_SERVER['HTTP_USER_AGENT'] ? strtolower($_SERVER['HTTP_USER_AGENT']) : null;
if (!$user_agent) return false;
$bot_user_agents = [
'googlebot', 'bingbot', 'yahoo', 'duckduckbot', 'baiduspider',
'yandexbot', 'facebookexternalhit', 'facebot', 'mj12bot', 'twitterbot',
'slurp', 'crawl', 'spider', 'bot', 'crawler', 'googlebot-mobile', 'googlebot-image',
'mediapartners-google', 'adsbot-google', 'google-sitemaps', 'feedfetcher-google',
'ahrefsbot', 'seokicks-robot', 'bingbot', 'semrushbot', 'majesticbot', 'seznambot'
];
$clean_user_agent = preg_replace('/[^a-z]+/', ' ', $user_agent);
$user_agent = preg_split('/\W+/', $clean_user_agent);
return !empty(array_intersect($user_agent, $bot_user_agents));
}
// dla testu
foreach ($http_users_agent as $agent) {
$_SERVER['HTTP_USER_AGENT'] = $agent;
echo $agent . PHP_EOL . (isSearchBot() ? 'true' : 'false') . PHP_EOL . PHP_EOL; // wersja konsolowa
//echo "$agent<br>" . (isSearchBot() ? 'true' : 'false') . '<br><br>'; // wersja html
}
?>