Как определить поисковых ботов средствами php?

Пользователь

от marc_zboncak , в категории: PHP , 10 месяцев назад

Как определить поисковых ботов средствами php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от brooklyn , 10 месяцев назад

@marc_zboncak 

Для определения поисковых ботов средствами PHP можно использовать User Agent строки, которая обычно содержится в заголовке HTTP запроса.


Вот пример кода, который демонстрирует, как определить поисковых ботов:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function isBot() {
    $bots = array(
        'Googlebot',
        'Bingbot',
        'Slurp',
        'DuckDuckBot',
        'Baiduspider',
        'YandexBot'
    );

    foreach($bots as $bot) {
        if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) {
            return true;
        }
    }
    return false;
}

if(isBot()) {
    echo "Это поисковый бот";
} else {
    echo "Это не поисковый бот";
}


В этом примере мы создали функцию isBot(), которая проверяет, содержит ли User Agent строка значение, соответствующее одному из поисковых ботов (в нашем случае включены Googlebot, Bingbot, Slurp, DuckDuckBot, Baiduspider и YandexBot). Если User Agent строка содержит одну из указанных значений, функция возвращает true, в противном случае возвращает false.


Затем мы вызываем эту функцию и выводим сообщение, в зависимости от результата проверки. Если isBot() возвращает true, мы выводим "Это поисковый бот", в противном случае выводим "Это не поисковый бот".

Пользователь

от kurt , месяц назад

@marc_zboncak 

Этот код поможет вам определить, является ли посетитель поисковым ботом на основе User Agent строки его HTTP запроса. Однако, важно помнить, что не все поисковые боты используют standard User Agent строки, и некоторые могут пытаться скрыть свою идентичность.


Кроме того, некоторые пользователи могут изменить свои User Agent строки или использовать специализированные программы, чтобы скрыть свою идентичность. Поэтому, использование только User Agent строки для определения бота может быть не всегда надежным методом.


Если вам требуется более точное определение ботов, вы также можете обратиться к другим методам, таким как проверка IP адресов, обработка cookies или использование капчи для проверки.