Обнаружение поисковых роботов у себя на сайте при помощи php скрипта

18.11.2015

И так, чтобы попытаться обнаружить ботов поисковых машин у себя на сайте, можно воспользоваться следующим кодом:

function isBot() {
        $bots = array(
            'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele',
            'yetibot','picsearch','sape.bot','sape_context','gigabot','snapbot','alexa.com',
            'megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot','yanga.co.uk',
            'scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com',
            'dataparksearch','google-sitemaps','appEngine-google','feedfetcher-google',
            'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru',
            'googlealert.com','seo-rus.com','yaDirectBot','yandeG','yandex','AltaVista',
            'yandexSomething','Copyscape.com','AdsBot-Google','domaintools.com','YandexImages','YandexWebmaster',
            'Nigma.ru','bing.com','dotnetdotcom','Alexa search engine','AllTheWeb','msnbot/1.0','YandexBot'
        );

        str_ireplace($bots, '', $_SERVER['HTTP_USER_AGENT'], $count);

        if($count){ // если произведена хоть 1 замена, то $count > 1 , значит это бот
            return true;
        } else {
            return false;
        }
    }

Далее просто при загрузке сайта где-нибудь вызываем:

$bot = isBot(); // если $bot = true, значит бот.

 

Все просто. Можно добавить каких-либо ботов которых нет в списке просто через запятую.

comments powered by HyperComments