Группа пользователей 'Роботы' для DLE
Описание:
Данный хак позволяет определять поисковых роботов не как гостей, а как отдельную группу пользователей. Подходит для версий DLE: 8.x-9.x (на версиях ниже не тестировалось, но, вероятно, работать тоже будет).
Установка:
Создайте новую группу пользователей, настройте ее по своему желанию, перейдите в настройку групп пользователей (admin.php?mod=usergroup) и посмотрите id группы, которую вы только что создали. Пример:
На данном примере нужный нам id: 7. Откройте файлы /engine/init.php и /engine/preview.php, и в обоих файлах выполните следующее действие:
Найдите строчку:
if (!$is_logged) $member_id['user_group'] = 5;
После неё добавьте:
$_UA = $db->safesql($_SERVER['HTTP_USER_AGENT']);
$names_robots = array('Yandex' => 'Robot Yandex',
'YaDirectBot' => 'Robot YaDirect',
'YandexSomething' => 'Robot Yandex2',
'Bond, James Bond' => 'Robot Yandex Spam',
'Googlebot' => 'Robot Google',
'Mediapartners-Google' => 'Robot GoogleAd',
'Googlebot-Image' => 'Robot GoogleIM',
'StackRambler' => 'Robot Rambler',
'Slurp' => 'Robot Yahoo',
'Yahoo! Slurp' => 'Robot Yahoo',
'MSNBot' => 'Robot Bing',
'MSNBot-media' => 'Robot BingIM',
'MSNBot-news' => 'Robot Bing-News',
'ia_archiver' => 'Robot Alexa',
'Mail.Ru' => 'Robot Mail',
'Webalta' => 'Robot Webalta',
'Turtle' => 'Robot Turtle',
'Aport' => 'Robot Aport',
'SAPE.BOT is watching you!' => 'Robot Sape');
foreach($names_robots as $keyR => $valueR)
{
if(strstr(strtolower($_UA), strtolower($keyR)))
{
$robot = $valueR;
}
}
if (!$is_logged and $robot != '')
{
$member_id['user_group'] = ID ГРУППЫ;
}
$names_robots = array('Yandex' => 'Robot Yandex',
'YaDirectBot' => 'Robot YaDirect',
'YandexSomething' => 'Robot Yandex2',
'Bond, James Bond' => 'Robot Yandex Spam',
'Googlebot' => 'Robot Google',
'Mediapartners-Google' => 'Robot GoogleAd',
'Googlebot-Image' => 'Robot GoogleIM',
'StackRambler' => 'Robot Rambler',
'Slurp' => 'Robot Yahoo',
'Yahoo! Slurp' => 'Robot Yahoo',
'MSNBot' => 'Robot Bing',
'MSNBot-media' => 'Robot BingIM',
'MSNBot-news' => 'Robot Bing-News',
'ia_archiver' => 'Robot Alexa',
'Mail.Ru' => 'Robot Mail',
'Webalta' => 'Robot Webalta',
'Turtle' => 'Robot Turtle',
'Aport' => 'Robot Aport',
'SAPE.BOT is watching you!' => 'Robot Sape');
foreach($names_robots as $keyR => $valueR)
{
if(strstr(strtolower($_UA), strtolower($keyR)))
{
$robot = $valueR;
}
}
if (!$is_logged and $robot != '')
{
$member_id['user_group'] = ID ГРУППЫ;
}
На этом установка закончена, удачи!