Как анализировать логи сайта -> Какой хостинг выбрать -> Как заблокировать ботов для сайта

Резкий рост нагрузки на сервер

Неожиданное резкое повышение нагрузки на CPU сервера может быть связано с различными причинами. Не беда, если вы заметили, что она возросла после того, как посещаемость сайта заметно увеличилась: это вполне естественное явление – большое количество посетителей создают большую нагрузку на хостинг. Однако если посещаемость сайта уже долгое время не оставалась неизменной, а нагрузка на сервер заметно возросла, значит, вы столкнулись с технической проблемой, которую необходимо как можно скорее решать.

Прежде всего, необходимо вспомнить, проводили ли вы какие-либо работы на сайте, после чего нагрузка на сервер резко подросла. Вы могли подключить какой-то неоптимизированный плагин для WordPress или другой CMS, установить мод, делающий множество запросов к базе данных, случайно отключить кэширование или добавить в Cron задачу, которой требуется много ресурсов для выполнения. В любом случае, чтобы решить проблему, просто проанализируйте, какие ваши действия на сайте могли привести к возросшей нагрузке, и «откатитесь» обратно.

Нагрузка на сайт, созданная ботами: анализ awstats и логов (access_log)

Гораздо сложнее снизить возросшую нагрузку на хостинг, если она связана с действиями ботов. Боты (они же пауки, spiders или краулеры) бывают плохими и хорошими. К хорошим ботам относятся поисковые - Yandex Bot, Googlebot и другие пауки, принадлежащие поисковым системам. Хоть они и создают нагрузку на сайт, активно сканируя страницы, однако их работа необходима для его индексации и дальнейшего ранжирования в поисковой выдаче. Другое дело – «плохие» боты. Они способны создать значительную нагрузку на сервер, приведя к увеличению нагрузки на CPU и, как следствие, «торможению» web-ресурса. При этом, никакой пользы такие боты не несут.

«Плохие» боты довольно многочисленны и могут выполнять самые разнообразные действия.

  1. Боты различных сервисов, которые осуществляют сбор информации, а затем продают ее за деньги. К ним относятся AhrefsBot (ahrefs.com), MJ12bot (majestic.com), LinkpadBot (linkpad.ru), SemrushBot (semrush.com) и многие другие.
    Многие из них поддерживают команды robots.txt. Поэтому запретить индексацию сайта, можно, добавив в robots.txt:
  2. User-agent: AhrefsBot
    Disallow: /
    User-agent: MJ12bot
    Disallow: /
    User-agent: SemrushBot
    Disallow: /
    User-agent: LinkpadBot
    Disallow: /

    Но гарантированный результат дают только директивы в файле .htaccess.

    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} ^.*(Ahrefs|LinkpadBot|SemrushBot|MJ12bot).* [NC]
    RewriteRule .* - [F,L]
  3. Боты для поиска уязвимостей. Иногда хакеры используют специальные программы для автоматизированного поиска уязвимостей на сайте. Обычно такие боты маскируются под обычных пользователей и используют несколько IP адресов, поэтому вычислить их может быть сложно.
  4. Грабберы. Эти боты по своей функции чем-то похожи на программы, принадлежащие сервисам. Они собирают какую-либо информацию с сайта или пытаются скачать его целиком. Например, владельца бота могут заинтересовать номера телефонов на доске объявлений или упоминаемые на форуме электронные адреса. Некоторые злоумышленники просто воруют контент в автоматическом режиме и используют его на своих сателлитах, сплогах.

Запретить парсинг сайта качалками ReGet, Teleport и другими можно, добавив в .htaccess:

RewriteEngine On RewriteCond %{HTTP_USER_AGENT} .*Download\ Master.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Mass\ Downloader.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*FlashGet.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*GetRight.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Teleport.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*ReGet.*
RewriteRule ^.* - [F,L]

Все эти боты способны оказывать значительную нагрузку на сервер (CPU) и мешают работе сайта.

Как анализировать логи сайта

Логи сервера (access_log) – это список запросов к сайту, сделанных как разнообразными ботами, так и обычными посетителями. По сути, лог – это обычный текстовый файл, где перечислены IP-адреса посетителей, страницы, к которым они обратились, и User-Agent – краткая информация, которую посылает web-сайту клиентское приложение или бот.

«Хорошие» боты не скрывают свое присутствие на сайте, поэтому в информации в логах будет прямо указан, например, YandexBot или Googlebot. Грабберы и парсеры, разумеется, «делают вид», что они являются обычными посетителями.

Разобраться в огромном логе довольно трудно, если нет никаких инструментов для его анализа. И тут на помощь приходят специальные генераторы отчетов, которые анализируют log-файлы и генерируют HTML-отчеты на их основе. К ним относятся AWStats, Webalizer, Open Web Analytics, CrawlTrack и ряд других. Обычно одна из этих программ уже установлена на хостинге, задайте вопрос в техподдержку, чтобы получить больше информации.
Генератор отчетов в наглядном виде показывает:

Очень часто даже поверхностного взгляда на отчет в логах хватает, чтобы определить, что вызвало резкий рост нагрузки на сервер.

Если не заботиться о блокировке ненужных «плохих» ботов, рано или поздно нагрузка на CPU возрастет до такой степени, что хостер предложит вам перебраться на более дорогостоящий тариф: сначала shared, потом VPS и, наконец, собственный сервер. И не исключено, что, в конце концов, доходы сайта даже не смогут покрыть расходы на его администрирование. Так что, лучше определить, что вызвало увеличение нагрузки на CPU заранее и принять соответствующие меры.


Меню сайта

Резкий рост нагрузки на сервер
Резкий рост нагрузки на сервер