Статьи

Як розпізнати і заблокувати «нехороших» ботів

  1. Знаходимо лог-файли
  2. Обчислюємо кількість хітів на один IP-адреса і вважаємо число заходів User Agent'ов
  3. Блокуємо небажаний IP-адреса
  4. Блокування IP на рівні сервера
  5. Підсумки і висновки

Автор: Бен Гудселл (Ben Goodsell) - керівник відділу пошукового просування в RKG Merkle Автор: Бен Гудселл (Ben Goodsell) - керівник відділу пошукового просування в RKG Merkle. Спеціаліст в області технічного SEO, має досвід просування сайтів в соціальних медіа, спеціалізується на розробці стратегій контентного просування і лінкбілдінге. Регулярно співпрацює з великими брендами.

джерело: SearchEngineLand.com

Будь-якому грамотному оптимізаторові у своїй професійній діяльності будь-коли доводилося аналізувати лог-файли для того, щоб визначити поведінку пошукового робота Googlebot. Однак мало хто уявляє собі, наскільки ефективним може виявитися цей підхід для виявлення небажаних ботів, які регулярно відвідують сайт. Головна небезпека криється в тому, що ці роботи автоматично виконують сценарій JavaScript, наповнюючи аналітику неправдивими даними, завдаючи шкоду ресурсу, незаконно копіюючи його контент і т.д.

Згідно з даними щорічного звіту агентства Incapsula, частка неприродного трафіку, що надходить на сайти, в середньому становить 56%. При цьому в 29% випадків боти, що приходять на ресурс, містять шкідливе ПЗ і наносять помітної шкоди. В ході дослідження експертна група агентства проаналізувала статистику 20 тис. Веб-сайтів різного масштабу за 90-денний період. Спостереження дозволили виділити ще один помітний момент: чим більший і впізнаваний бренд представляє сайт, тим більш очевидною і бажаною метою він стає для пошукових роботів.

Головна мета цієї статті - розповісти фахівцям галузі про те, з чого слід починати аудит сайту за даним напрямком та як грамотно аналізувати лог-файли за допомогою Excel для виявлення «недобросовісних» ботів і подальшої їх блокування на рівні сервера. Також автор статті розповість про те, як усунути спотворення в звітах Google Analytics.

Знаходимо лог-файли

Як відомо, сервер фіксує всі звернення до сайту і зберігає їх у вигляді текстового файлу зі списком. Не важливо, чи заходить на сайт реальний користувач (наприклад, через браузер Firefox) або ж нові сторінки ресурсу сканує Googlebot - всі ці активності фіксуються в спеціальному файлі. Розташування цих файлів залежить від типу сервера або хостингу.

Так, якщо власник ресурсу використовує платну панель управління веб-хостингом cPanel, то файл, який записує всі звернення до сайту, буде розташовуватися під окремою посиланням:

Так, якщо власник ресурсу використовує платну панель управління веб-хостингом cPanel, то файл, який записує всі звернення до сайту, буде розташовуватися під окремою посиланням:

В інтерфейсі сервера Apache шлях до файлу лога буде таким: / var / log далі в піддиректорії слід запустити команду access.log - це дозволить швидко виявити лог-файли на сервері.

Якщо в якості хостингу використовується набір серверів від Microsoft IIS (Internet Information Services), то шлях буде таким: Панель управління - Адміністрування - Internet Information Services (IIS) Manager - Вибрати веб-сайт - після цього потрібно правою кнопкою миші клікнути по вкладці Властивості - вибрати вкладку Веб-сайт - властивості - Основні властивості. Для англомовної версії продукту послідовність дій буде такою: Control Panel -> Administrative Tools -> Internet Services Manager -> Select website -> Right-click then Properties -> Website tab -> Properties -> General Properties tab.

Обчислюємо кількість хітів на один IP-адреса і вважаємо число заходів User Agent'ов

Після того як всі лог-файли були виявлені, необхідно об'єднати їх в одному файлі і завантажити в Excel будь-яким зручним способом. З огляду на обсяги окремих лог-файлів, зробити це часто буває дуже непросто. У той же час, щоб виконати зазначену вище операцію для невеликих і середніх сайтів, потужності одного стандартного комп'ютера буде цілком достатньо.

На практиці набір дій зводиться до наступної послідовності. Всі файли, розташовані в директорії .log files, необхідно об'єднати і помістити в новий файл формату .txt, використовуючи стандартний текстовий редактор. Після цього потрібно запустити Excel, розбивши текст по колонках, використовуючи для поділу пробіл і вирівнюючи згодом заголовки стовпців.

Після цього потрібно запустити Excel, розбивши текст по колонках, використовуючи для поділу пробіл і вирівнюючи згодом заголовки стовпців

Розраховуємо кількість хітів на один IP

Після того як всі логи зібрані і об'єднані в таблиці Excel, стає набагато легше розрахувати кількість завантажень сторінок сайту на один IP-адреса.

Далі потрібно виконати дії в такій послідовності:

  1. Сформувати зведену таблицю, проаналізувати кількість Client IP і зробити розрахунок.
  2. Потім необхідно скопіювати отриману таблицю; перейменувати існуючі стовпці в «Client IP» і «Хіти»; впорядкувати список по низхідній; додати колонку User Agent.

Потім необхідно скопіювати отриману таблицю;  перейменувати існуючі стовпці в «Client IP» і «Хіти»;  впорядкувати список по низхідній;  додати колонку User Agent

Обчислюємо User Agent по IP

На заключній стадії необхідно виявити потенційно небезпечних спамерських пошукових роботів. Для цього доведеться встановити, з якого IP-адреси здійснював вхід на сайт той чи інший User Аgent, і який з роботів надав на ресурс найбільший негативний вплив. Щоб виконати цю операцію, необхідно повторно звернутися до зведеної таблиці і вказати в якості змінної User Аgent в кожен рядок секції зведеної таблиці (графа Row Label на рис. Вище).

Тепер знаходження роботів Аgent з прив'язкою до IP стане набагато більш простим завданням. На скріншоті нижче видно, що User Agent з IP-адреси пристрою, розташованого в Китаї, заходив на сайт на 80 тисяч разів частіше, ніж інші роботи.

На скріншоті нижче видно, що User Agent з IP-адреси пристрою, розташованого в Китаї, заходив на сайт на 80 тисяч разів частіше, ніж інші роботи

Блокуємо небажаний IP-адреса

Ключовим етапом всієї діяльності стає блокування доступу до сайту User Agent'а з небажаного IP-адреси, а також виключення цих даних з сервісу статистики.

Щоб заблокувати статистику відвідувань з небажаного IP в Google Analytics, доведеться створити спеціальний фільтр. Для цього потрібно увійти у вкладку «Адміністратор» і вибрати пункт «Аккаунт», в якому буде створюватися фільтр. Потім вибрати пункт «Фільтри», далі + Новий фільтр. Після цього потрібно переключитися на пункт «Вбудований» і вибрати стандартний тип фільтра: «Виключити трафік з IP-адрес» (Exclude traffic from the IP addresses). Далі в спеціальному полі можна перерахувати всі небажані IP.

Далі в спеціальному полі можна перерахувати всі небажані IP

Порада: Сервіс Google Analytics автоматично блокує дані, що надходять від усіх відомих краулерів зі списку IAB. Щоб сервіс аналітики перестав враховувати переходи від цих роботів, досить звернутися до вкладки «Адміністратор» знизу від пункту меню «Подивитися Налаштування» можна побачити розділ «Фільтрація роботів» ( «Bot Filtering») там же можна вибрати пункт «Exclude all hits from known bots and spiders ». Найбільш правильним варіантом буде створювати новий фільтр щоразу, коли ви міняєте налаштування профілю.

Якщо ж власник сайту використовує аналітику від Omniture, виключити з статистики дані по небажаним IP можна в такий спосіб:

  1. Опція Exclude by IP дозволяє ігнорувати дані для 50 IP-адрес.
  2. Опція Vista Rule передбачена для великих компаній і дозволяє збільшити число небажаних IP.
  3. Функціонал Processing Rule дозволяє створювати спеціальні правила і блокувати дані про переходах на сайт з небажаних IP.

Блокування IP на рівні сервера

Аналогічно тому, як обчислюється розташування лог-файлів, проводиться обчислення сервера, якому належить конкретний IP-адреса, і здійснюється його блокування.

При роботі з cPanel має сенс скористатися можливостями IP Address Deny Manager. Небажані IP-адреси будуть блокуватися назавжди.

Небажані IP-адреси будуть блокуватися назавжди

Для Apache рекомендується використовувати модуль mod_authz_host , Крім нього можна використовувати .htaccess .

Ті, хто користуються IIS, можуть заблокувати всі небажані IP на рівні сервера в Open IIS Manager (Features View -> IPv4 Address and Domain Restrictions -> Actions Pane -> Add Deny Entry).

Підсумки і висновки

Сьогодні сторонні рішення, призначені для виявлення неприродного трафіку на сайти і виявлення ботів, дозволяють робити це в режимі реального часу. При цьому вони вміють аналізувати не тільки IP-адреси і коди юзерагентов, але і параметри HTTP-запиту, поведінку робота на сайті і цілий ряд інших факторів.

Крім подібних рішень, власники ряду сайтів все частіше застосовують такий інструмент, як reCAPTCHA . Нова формула захисту від Google ще раз дозволяє переконатися, що на сайт приходять реальні користувачі, а не роботи.

Новости