@sochi-russia

Как добавить условие с ботами?

Есть код редиректа по языку браузера.
$sites = array(

"en" => "http://en.mysite.com/",

"nl" => "http://nl.mysite.com/",

"el" => "http://el.mysite.com/",

"de" => "http://de.mysite.com/",

);

// Get 2 char lang code

$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

// Установка языка по умолчанию если переменная $lang не соответствуют не одному значению из массива $site

if (!isset($sites[$lang])) {

$lang = ‘en’;

}

// Редирект пользователя на нужный домен

header('Location: ' . $sites[$lang]);

exit;

Все работает идеально, кроме одного. У Яндекса и Гугла некоторые боты заходят с не российских IP. Есть такой код (нашел в интернете)
function is_bot()
{
    if (!empty($_SERVER['HTTP_USER_AGENT'])) {
        $options = array(
            'YandexBot', 'YandexAccessibilityBot', 'YandexMobileBot','YandexDirectDyn',
            'YandexScreenshotBot', 'YandexImages', 'YandexVideo', 'YandexVideoParser',
            'YandexMedia', 'YandexBlogs', 'YandexFavicons', 'YandexWebmaster',
            'YandexPagechecker', 'YandexImageResizer','YandexAdNet', 'YandexDirect',
            'YaDirectFetcher', 'YandexCalendar', 'YandexSitelinks', 'YandexMetrika',
            'YandexNews', 'YandexNewslinks', 'YandexCatalog', 'YandexAntivirus',
            'YandexMarket', 'YandexVertis', 'YandexForDomain', 'YandexSpravBot',
            'YandexSearchShop', 'YandexMedianaBot', 'YandexOntoDB', 'YandexOntoDBAPI',
            'Googlebot', 'Googlebot-Image', 'Mediapartners-Google', 'AdsBot-Google',
            'Mail.RU_Bot', 'bingbot', 'Accoona', 'ia_archiver', 'Ask Jeeves',
            'OmniExplorer_Bot', 'W3C_Validator', 'WebAlta', 'YahooFeedSeeker', 'Yahoo!',
            'Ezooms', '', 'Tourlentabot', 'MJ12bot', 'AhrefsBot', 'SearchBot', 'SiteStatus',
            'Nigma.ru', 'Baiduspider', 'Statsbot', 'SISTRIX', 'AcoonBot', 'findlinks',
            'proximic', 'OpenindexSpider','statdom.ru', 'Exabot', 'Spider', 'SeznamBot',
            'oBot', 'C-T bot', 'Updownerbot', 'Snoopy', 'heritrix', 'Yeti',
            'DomainVader', 'DCPbot', 'PaperLiBot'
        );
 
        foreach($options as $row) {
            if (stripos($_SERVER['HTTP_USER_AGENT'], $row) !== false) {
                return true;
            }
        }
    }
 
    return false;
}

Как его подключить к первому коду с условием, если заходят эти боты переадресовывать переадресовывать ботов этих только на ru версию сайта?
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы