Список найден в интернете,и дополнен мной, учитывая оптимизацию интернет-магазина в России. Вставить в начало своего .htaccess . Цель применения бана для поисковиков- снизить нагрузку для сайта на хостинге. Спойлер: список ботов ## Блокировка по USER AGENT: RewriteCond %{HTTP_USER_AGENT} MJ12bot [OR] RewriteCond %{HTTP_USER_AGENT} Java [OR] RewriteCond %{HTTP_USER_AGENT} NjuiceBot [OR] RewriteCond %{HTTP_USER_AGENT} Gigabot [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider [OR] RewriteCond %{HTTP_USER_AGENT} JS-Kit [OR] RewriteCond %{HTTP_USER_AGENT} Voyager [OR] RewriteCond %{HTTP_USER_AGENT} PostRank [OR] RewriteCond %{HTTP_USER_AGENT} PycURL [OR] RewriteCond %{HTTP_USER_AGENT} Aport [OR] RewriteCond %{HTTP_USER_AGENT} ia_archiver [OR] RewriteCond %{HTTP_USER_AGENT} DotBot [OR] RewriteCond %{HTTP_USER_AGENT} SurveyBot [OR] RewriteCond %{HTTP_USER_AGENT} larbin [OR] RewriteCond %{HTTP_USER_AGENT} Butterfly [OR] RewriteCond %{HTTP_USER_AGENT} libwww [OR] RewriteCond %{HTTP_USER_AGENT} Wget [OR] RewriteCond %{HTTP_USER_AGENT} SWeb [OR] RewriteCond %{HTTP_USER_AGENT} LinkExchanger [OR] RewriteCond %{HTTP_USER_AGENT} Soup [OR] RewriteCond %{HTTP_USER_AGENT} WordPress [OR] RewriteCond %{HTTP_USER_AGENT} PHP/ [OR] RewriteCond %{HTTP_USER_AGENT} spbot [OR] RewriteCond %{HTTP_USER_AGENT} MLBot [OR] RewriteCond %{HTTP_USER_AGENT} InternetSeer [OR] RewriteCond %{HTTP_USER_AGENT} FairShare [OR] RewriteCond %{HTTP_USER_AGENT} Yeti [OR] RewriteCond %{HTTP_USER_AGENT} Birubot [OR] RewriteCond %{HTTP_USER_AGENT} YottosBot [OR] RewriteCond %{HTTP_USER_AGENT} gold\ crawler [OR] RewriteCond %{HTTP_USER_AGENT} Linguee [OR] RewriteCond %{HTTP_USER_AGENT} Ezooms [OR] RewriteCond %{HTTP_USER_AGENT} lwp-trivial [OR] RewriteCond %{HTTP_USER_AGENT} Purebot [OR] RewriteCond %{HTTP_USER_AGENT} User-Agent [OR] RewriteCond %{HTTP_USER_AGENT} kmSearchBot [OR] RewriteCond %{HTTP_USER_AGENT} SiteBot [OR] RewriteCond %{HTTP_USER_AGENT} CamontSpider [OR] RewriteCond %{HTTP_USER_AGENT} ptd-crawler [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [OR] RewriteCond %{HTTP_USER_AGENT} suggybot [OR] RewriteCond %{HTTP_USER_AGENT} ttCrawler [OR] RewriteCond %{HTTP_USER_AGENT} Nutch [OR] RewriteCond %{HTTP_USER_AGENT} SputnikBot [OR] RewriteCond %{HTTP_USER_AGENT} Slurp [OR] RewriteCond %{HTTP_USER_AGENT} bingbot [OR] RewriteCond %{HTTP_USER_AGENT} MSIE [OR] RewriteCond %{HTTP_USER_AGENT} AhrefsBot [OR] RewriteCond %{HTTP_USER_AGENT} SemrushBot [OR] RewriteCond %{HTTP_USER_AGENT} PetalBot [OR] RewriteCond %{HTTP_USER_AGENT} Zeus RewriteRule ^(.*)$ – [F,L] robots.txt В правильное место указать временный промежуток для поисковиков сразу, а потом уже прописать правило обработки ссылок. Код (CODE): Crawl-delay: 40 User-agent: * Disallow: /administrator/ Проверено на reg.ru и Яндекс.боте. Нагрузка CPU с 25% снизилась до 5-7%. Иначе хостер предлагал перейти на другой тариф.
Как то у меня стал тормозить довольно неслабый хостинг, провайдер слал гневные письма о превышении нагрузки. Оказалось ресурс ложил adsense google bot
У меня почему-то приходится оставлять 2 последних бота без [OR] вместо 1го, если только последний без [OR], сайт 403 ошибку выдает.
Это как, не понял. Как правильно указал Попробуй удали директиву, если ты пользуешься ИЕ Код (PHP): RewriteCond %{HTTP_USER_AGENT} MSIE [OR]
В общем у меня так: Спойлер: htaccess RewriteCond %{HTTP_USER_AGENT} bingbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} AhrefsBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} mj12bot [NC,OR] RewriteCond %{HTTP_USER_AGENT} MegaIndex [NC,OR] RewriteCond %{HTTP_USER_AGENT} Yahoo [NC,OR] RewriteCond %{HTTP_USER_AGENT} Gigabot [NC] RewriteCond %{HTTP_USER_AGENT} Trident [NC] RewriteRule ^(.*)$ – [F,L] Если делаю Gigabot [NC,OR] то сайт падает.
Причем тут браузер которым я пользуюсь? Есть существенный процент посетителей которые пользуются Internet Explorer и если оставлять это правило фильтрации useragent, то нормальные посетители не зайдут на сайт с такими браузерами: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; MAARJS) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0) Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) NC - это директива NoCase которая указывает не обращать внимание на регистр, потому скорее всего у вас проблема в чем-то другом. Посмотрите логи вебсервера.
@Den0riginal Ну получается что работает только одна последняя директива на юзер-агента --- добавлено: 20.06.2021, первое сообщение размещено: 06.07.2016 --- Добавил список Код (PHP): RewriteCond %{HTTP_USER_AGENT} PetalBot [OR] --- добавлено: 21.06.2021 ---
Если Апач, можно типа так <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} имя_бота [NC] RewriteRule .* - [F,L] </IfModule> Если nginx, то добавляем в nginx.conf if ($http_user_agent ~* (имя_бота) ) { return 403; } --- добавлено: 21.06.2021 --- Заготовка против особо надоедливых ботов <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} SemrushBot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} BLEXBot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} bingbot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} PetalBot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} MJ12bot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} DotBot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} AhrefsBot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} bingbot [NC] RewriteRule .* - [F,L] </IfModule> <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} Adsbot [NC] RewriteRule .* - [F,L] </IfModule>