Поисковые боты (yandex, googlebot, msnbot и др.) нагружают сайт

Статус
В этой теме нельзя размещать новые ответы.

E-body

Мой дом здесь!
Регистрация
6 Сен 2007
Сообщения
992
Реакции
342
Здраствуйте.
Проблема такая, вобщем имеется портал дле+ипб(форум) которые посещают поисковые боты, часто замечал что при посещении сразу несколькими ботами сайт медленнее работает и бывало такое что хостер отключает на время изза превышенной нагрузки.
Переехать на другой хост не предлогать, это не выход.
Подскажите как можно усмирить ботов, так чтоб умеренно индексировали странички без перенагрузок и каких ботов стоит не допускать к порталу?!
Как один из знакомых вариантов (не помогает), ограничение через robots.txt :
PHP:
User-agent: *
Crawl-delay: 10
п.с. портал расчитан на русскоязычную публику :)

Нашел обсуждение вопроса на этом форуме Для просмотра ссылки Войди или Зарегистрируйся
Пару интересных цитат
User-agent: *
Request-rate: 1/10 # загружать не более одной страницы за десять секунд
Visit-time: 0600-0845 # загружать страницы только в промежуток с 6 утра до 8:45 по Гринвичу.

И сколько страниц в секунду можно заиндексить
Поставь время когда меньше всего народа на сайте

эти параметры не на всех ботов действуют, вот например гугл бот сообщает об этих правилах:

Crawl-delay: 7 Правило, которое не учитывается Googlebot
Request-rate: 1/7 Синтаксис не распознается
Visit-time: 0000-0500 Синтаксис не распознается

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

Я ненужным ботам вообще закрыл доступ. В htaccess добавил:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} liveinternet [OR]
RewriteCond %{HTTP_USER_AGENT} WebAlta [OR]
RewriteCond %{HTTP_USER_AGENT} Yanga [OR]
RewriteCond %{HTTP_USER_AGENT} Twiceler [OR]
RewriteCond %{HTTP_USER_AGENT} Flexum [OR]
RewriteCond %{HTTP_USER_AGENT} Aport [OR]
RewriteCond %{HTTP_USER_AGENT} Slurp [OR]
RewriteCond %{HTTP_USER_AGENT} msnbot [OR]
RewriteCond %{HTTP_USER_AGENT} ia_archiver [OR]
RewriteCond %{HTTP_USER_AGENT} libwww-perl
RewriteRule ^(.*)$ - [F,L]

Такая же проблема.
Это cuill подонский поисковик
погуглите cuil убивает сайтыСкрытый текст, требуется (1 сообщение(ий), у вас 463:(
Для просмотра ссылки Войди или Зарегистрируйся


В четверг было нашествие ботов.
Cuill открывает до 500 портов и стоит в time_wait
и еще есть один безыменный зверь.
Код:
TCP web:http 94.127.144.35:12698 CLOSE_WAIT
TCP web:http 94.127.144.35:12902 TIME_WAIT
TCP web:http 94.127.144.35:13041 CLOSE_WAIT
То что это бот - узнал позвонив владельцам ip
netstat показывает для обоих поисковиков целые простыни подключений.
А второй бот это новые васьки, сказали что это их поисковый бот.
Какой то ТелеХаус новый поисковик новый делает.Скрытый текст, требуется (1 сообщение(ий), у вас 463:(
Для просмотра ссылки Войди или Зарегистрируйся


Извинились, сказали что извиняются за бота, типа разошелся.

Оба бота Cuil и этот русский открывают слишком много портов, видимо пытаются открыть все ссылки на сайте разом, а если еще и на нескольких сайтах одновременно то серверу пипец.
Чуть чуть помогает снизить time_wait в TCP в реестре до 30
и потимизация скриптов.
В интернете пишут, что cuill пытается рандомить урлы и особая жопа кто юзает mode_rewrite.
роботс txt Crawl-delay оба бота игнорируют.
проще забанить ip

Я думаю, что эти новоявленные разработчики, что ренегады ушедшие из гугла (cuil), что наши Телехаусовцы хреново знают TCP. И оба нахрапом хотят просканить весь интернет.

Забанил ip полегчало.

Добавлено через 11 минут

Проблема реальная. Я даже пришёл к выврду что сайты которые начинают быть популярными специально заказывают таким "специалистам". каждые 2-5 сек идёт робот. соотв. любой сервак рано или поздно нагнётся. Сам с такой сталкивался. Даже некоторые левые боты не соблюдают правила delay in robots.txt
Я например блокирую такие боты в .htaccess
таким образом
SetEnvIf User-Agent "htdig" ban
SetEnvIf User-Agent ^htdig$ ban
SetEnvIf User-Agent .*DotBot.* ban
.....
SetEnvIf User-Agent .*MJ12bot.* ban
SetEnvIf User-Agent .*KaloogaBot.* ban
<Files ~ "^.*$">
order allow,deny
#deny from all
allow from all
deny from env=ban
</Files>
Всё доступ через апач им будет закрыт и соотв. нагружать сервак не смогут.
Проблема в другом если дальше идти - этих новых "левых" ботов постоянно увеличивается и нужно постоянно отслеживать.
 
В роботсах прописать Crawl-delay (уже есть), revisit-after.

Закрыть от ботов все лишнее на сайте + запретить ходить по сайту ненужным ботам.
 
У меня в свое время возникли проблимы из-за яхуговского бота. Уж очень прилично грузил. Закрыл для него поскольку для русскоязычных сайтов заходов с него очень мало.
 
Да есть такая проблема. Как правило ночью начинают все в одно время лезть, Yandex, Google, Mail. Из-за чего сервер (из-за большой процессорной нагрузки) временно вырубает сайт и ссылки от sape уходят в error.

Отключить поисковиков через htaccess для меня не выход, т.к. сайт ссылки продаёт, поэтому было принято решение по оптимизации движка.

В частности написание системы кэша для не зарегистрированных пользователей. Т.е. поисковикам выдается теперь статика. Проблему решило :)
 
В роботсе прописать следующее и можно с задержками поиграть. У меня в основном яху наглеет,ну и остальных ненужных обрубить. Оптимизация движка конечно хороший вариант,но роботс, поможет людям, сидящим на хостнг тарифах с ограничением по трафику.

User-agent: Yanga
Disallow: /
User-agent: Yahoo! Slurp
Disallow: /
User-agent: msnbot/
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: Baiduspider+(
Disallow: /
User-agent: MJ12bot/
Disallow: /
User-agent: Gigabot/
Disallow: /
User-agent: msnbot-media/
Disallow: /
User-agent: Scooter/
Disallow: /
User-agent: Ask Jeeves
Disallow: /
User-agent: msnbot-NewsBlogs/
Disallow: /
User-agent: SEO search Crawler/
Disallow: /
User-agent: SEOsearch/
Disallow: /
User-agent: voyager/1.0
Disallow: /
User-agent: W3 SiteSearch Crawler
Disallow: /
User-agent: W3C-checklink/
Disallow: /
User-agent: W3C_*Validator
Disallow: /
User-agent: Yahoo-MMCrawler/
Disallow: /
User-agent: Yahoo! DE Slurp
Disallow: /
User-agent: YahooSeeker/
Disallow: /
User-agent: *
Allow: /
Crawl-delay: 3
 
Лучше всего в роботсе прописать кравл делей и запретить всех ботов кроме яндекса и гугла, если ресурс рускоязычный, то траф с остальных ПС не столь критичен...
 
А как вам идея блокировать это все на уровне Апача ?
Чтобы веб сервер при соединении Юзер Агент смотрел и блоикровал Cuil и подобного вида гадости ?
У меня веб сервер с 500 сайтов, траффика на них болшого нет но иногда боты создают нагрузку и сейчас основная идея перенастроить апач на блоикровку Cuil
Нашел ответ на собственные вопросы, может кому пригодится
У меня WHM и через нее я активировал mod_security для веб сервера
Далее в конфиге mod_security (Для WHM это раздел Plugins -> mod_security)
прописываем строчку
PHP:
SecRule REQUEST_HEADERS:User-Agent "cuil" "log,deny,msg:'Cuil bot detected'"
И теперь если User Agent пользователя содержит строчку cuil соединение будет разрываться автоматически на всех сайтах сервера
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху