Ваш сайт постоянно посещают боты и искажают статистику? В этой статье мы расскажем как отловить и заблокировать ботов, которые накручивают вам посещения.
Многие SEO-специалисты знают, что логи сервера можно использовать чтобы проанализировать поведение краулера Google на сайте. Эти же логи могут помочь вам определить и других ботов – тех, что нагружают сервер, парсят ваш контент или накручивают отказы с целью понизить сайт в поиске.
В 2014 году компания Incapsula продемонстрировала исследование посещаемости сайтов ботами. Была проанализирована статистика 20 000 сайтов за 90 дней. Как оказалось, в среднем боты составляют 56% трафика сайтов, 29% – боты наносящие сайту вред. И выяснилось, что чем крупнее сайт, тем больше там “плохих” ботов.
1.Найдите файлы логов
Все сервера хранят статистику запросов к страницам сайтов. Будь это пользователь, заходящий через браузер, или Googlebot, переиндексирующий сайт. Вся активность записывает в самый обычные файлы.
Расположение этих файлов зависит от того, какой тип сервера используется. Вот как можно найти логи на популярном web-сервере Apache.
- cPanel: В интерфейсе cPanel, который очень распространен на Apache, найти логи не трудно. Нужно найти соответствующий раздел меню в меню. Здесь можно получить доступ к приложениям по анализу трафика или скачать логи на компьютер.
- На web-сервере Apache логи обычно находятся в директории /var/log и ее субдиректориях. Команда locate access.log поможет быстро найти файлы на сервере.
2. Определить роботов по IP и User Agent и хитам
Когда нужные файлы логов, найдены, нужно объединить их в один txt-файл, а затем открыть в Excel или аналогичной программе. Это может быть проблемой из-за большого объема этих файлов, хотя для логов небольших и средних сайтов обычного ПК с хорошей производительностью должно быть достаточно. Чтобы облегчить работу с данными, мы проанализируем лог сайта за один день.
Полученный файл нужно импортировать в Excel, с пробелом в качестве разделителя.
Напишите для получившейся таблицы заголовки, выделите все ячейки и примените функцию “Форматировать как таблицу”. Затем упорядочите таблицу по IP, в итоге она будет выглядеть примерно так:
Создайте столбец “Хиты”. В него мы занесем суммарное число обращений с IP к серверу. Чтобы подсчитать количество хитов, используем функцию СЧЁТЕСЛИ:
=СЧЁТЕСЛИ([IP];A2)
Теперь нам нужно изменить формат ячеек столбца “Хиты”, чтобы оставить только значения, избавившись от формул. Для этого можно воспользоваться функцией Excel или скопировать содержимое столбца в текстовый документ, а уже из него, обратно, в таблицу. Удалите все столбцы, кроме “IP”, “Хосты” и “User Agent”.
Удалите дубликаты строк и упорядочите таблицу по количеству хостов по убыванию:
Сначала посмотрите на число хитов. Наибольшее число хитов на исследуемый сайт поступили с IP одной из систем автоматического продвижения и аудита сайтов. Если вы не используете и не планируете использовать эту систему, можно смело запрещать роботу посещать сайт.
Теперь обратите внимание на User Agent посетителей. Некоторые вредоносные роботы совсем не отдают эти данные (тогда в столбце будет символ “–”), или значение не несет смысла. Также стоит посмотреть на нестандартные User Agent. Мы, например, засекли посещение от незнакомого посетителя, к счастью он не сулит сайту угрозы.
Если вы хотите больше знать о посетителях, можете скопировать столбец IP в сервис массовой проверки. На рассматриваемый нами сайт (напомним, анализируется статистика только за 1 день), успели зайти краулеры Яндекса, Google, MSN и Baidu. Узнав при помощи сервиса географию IP адресов, можно также вычислить потенциального злоумышленника.
Очень часто роботы для скликивания и парсеры располагаются в Азии, или работают через азиатские прокси-сервера. Так что если посетитель из Китая проявляет на сайте чрезмерную активность (тысячи, иногда десятки тысяч хостов), скорее всего, это робот.
3. Заблокировать роботов
Мы определились со списком IP, и теперь настало время их заблокировать. Во-первых, давайте отключим их показ в системах статистики.
Используя фильтры в Google Analytics вы можете исключить IP из статистики. Зайдите в меню Администратор –> Фильтры и добавьте новый фильтр с параметрами как на скриншоте ниже:
В поле IP-адрес введите адрес, который хотите исключить из статистики.
Google Analytics способен автоматически исключать всех известных ему ботов. Чтобы включить эту функцию, зайдите в меню Администратор –> Настройки представления, и отметьте пункт Исключение обращений роботов и “пауков”.
Блокировка роботов на уровне сервера
Также как поиск файлов с логами сервера, метод блокировки роботов зависит от сервера, на котором расположен сайт. На Apache это можно сделать несколькими способами:
- Указать адреса в cPanel, используя Диспетчер запрещенных IP адресов;
- Используя модуль mod_authz_host;
- Используя директивы .htaccess. Подходящий код мы размещали в статье про защиту от воровства контента.
Это одно из самых простых решений. Некоторые сайты используют и другие факторы, не только IP и User Agent. Например, HTTP-заголовок, скорость и порядок посещения страниц сайта. Некоторые используют такие инструменты как reCAPTCHA, чтобы отделить пользователей от людей.
А какие еще способы защиты от ботов вы знаете и используете?
Запись 3 шага чтобы найти и заблокировать плохих роботов, которые искажают вам статистику впервые появилась Блог Ротапост.
Свежие комментарии