Блокировка ботов по User-Agent
Популярные запросы: Open Graph, плагин Reading Time, тема Quebec, плагин Telegram, набор иконок Analogue
- 96 просмотров +1
- 4 февраля, 2026
- Обновлено: 5 февраля, 2026
- admin
- Время чтения: 2 минуты
Если вы решили для себя, какие боты считать нежелательными на вашем сайте, можем приступать к их блокировке. PHP-код будет предельно простым: вопрос лишь в том, как систематизировать блокируемых ботов и не запутаться в управлении списками.
Для себя я решил использовать массивы с User-Agent, переведенными к строчному виду (lowercase) – чтобы не было ошибок при сравнении. Далее массивы я объединил с помощью функции array_merge() и уже после этого выполнил проверку.
Всю эту историю можно реализовать в виде отдельного плагина, либо частью проектного с хуком input. Это самая первая точка входа из возможных, в которой система еще не проинициализирована полностью, но некоторые функции и массивы данных уже доступны. Самый лучший вариант для проверки и блокирования доступа к сайту для нежелательного бота.
Код выглядит следующим образом:
<?php
/* ====================
[BEGIN_COT_EXT]
Hooks=input
[END_COT_EXT]
==================== */
defined('COT_CODE') or die('Wrong URL');
$bots_ecom = ['amazonbot', 'geedoproductsearch'];
$bots_misc = ['jooblebot'];
$bots_search = ['baiduspider', 'petalbot', 'seekportbot'];
$bots_seo = ['ahrefsbot', 'blexbot', 'dataforseobot', 'dotbot', 'linkpadbot', 'mj12bot', 'megaindex', 'semrushbot', 'seopultcontentanalyzer'];
$bots_social = ['bytespider'];
$bots_unknown = ['backupland', 'barkrowler', 'geedobot', 'linkpadbot', 'sputnikbot', 'webdatastats'];
$bad_guys = array_merge($bots_ecom, $bots_misc, $bots_search, $bots_seo, $bots_social, $bots_unknown);
in_array(strtolower($_SERVER['HTTP_USER_AGENT']), $bad_guys) && die('Access Denied');
Можете модифицировать его по собственному желанию и использовать в своем проекте на базе CMS Cotonti Siena.
Ранее мы решали каких ботов считать хорошими, а каких – плохими.
Жаль что варианты только по юзерагент или по айпи
Новый комментарий
Ошибка
Выполнено