Як зменшити навантаження на сервер, яку створили пошукови роботи

Індексація в пошукових системах - важлива частина просування (розкрутки) сайту. По мірі розвитку сайту збільшується його відвідуваність, збільшується також і кількість пошукових роботів (скорочено - ботів), які відвідують сайт, щоб проіндексувати нові або змінені сторінки сайту і додати в свою базу даних. Це добре для власників сайтів, тому що хороша індексація в пошукових системах в результаті підвищує відвідуваність сайту. Але це може також стати причиною проблем з хостером. Чому? Пояснюємо. Якщо на вашому сайті 5 сторінок, то індексація проходить швидко і безболісно. А якщо сотні або тисячі? Якщо подивитися статистику сайтів наших користувачів, видно, що більшість сайтів в добу відвідують більше тисячі роботів. Тобто, навантаження на сервер створюють не тільки користувачі (яких може бути і не багато у недавно створеного сайту), але і роботи.

Але не всі пошукові роботи однаково корисні. Відомі випадки "атак" сайтів роботами, які для чогось зчитують головну сторінку кожні кілька секунд. Нерідко скаржаться на робота Yahoo - індексує часто і багато, а для просування сайту (з російськомовним контентом, предназназченним для жителів певного міста) він може бути абсолютно нецікавий, тому що від нього немає цільових відвідувачів. Крім роботів відомих пошукових систем сайт відвідують "ліві" боти, серед яких багато збирачів e-mail для спаму. Головна проблема полягає в тому, що всі ці візитери створюють трафік, а головне - марну навантаження на сервер, через яку Ваш аккаунт на хостингу може бути закритий.

Не так давно сайт, розташований на нашому хостингу, був заблокований за навантаження на сервер. Створювали її спам-роботи, які постійно намагалися додати коментарі в форми на сайті. Форми були захищені "капчі", і додати коментар роботам не вдавалося. Проте спроби їх додати створювали навантаження.

При просуванні сайту дуже корисно аналізувати, як і що індексують пошукові системи, а також з якою періодичністю, тоді прогнозування буде більш точним, після внесення будь-яких змін на сайт. На багатьох сайтах, особливо якщо вони створені c допомогою різних CMS, присутня інформація, яку зовсім не обов'язково індексувати. Хороший приклад - форуми. Не всім зрозуміло, яким чином невеликий форум з кілька сотнями відвідувачів на добу раптом починає створювати не 2%, а 30-60% серверної навантаження. Однак причина цього явища проста. На відміну від звичайного відвідувача, пошуковий бот здатний переглянути 10.000-20.000 сторінок за кілька годин свого відвідування. Це на кілька порядків вище, ніж навантаження на сервер від реального відвідувача. Заборона індексації окремих частин сайту позбавить ваш сайт (і наш сервер хостингу) від зайвого навантаження. Ми настійно рекомендуємо виконувати хоч часткова заборона індексації динамічних частин сайту (форуми, дошки оголошень і т.п.).

Існує кілька способів знизити марну навантаження від пошукових роботів.

Спосіб 1. Файл robots.txt

Файл robots.txt - файл, в якому містяться вказівки для пошукових систем. Це звичайний текстовий файл з командами, які оформлени особливим чином. Він розміщується в кореневій папці вашого сайту. Детальніше - wikipedia.org/wiki/Robots.txt

Порожній файл robots.txt передбачає дозвіл на індексування всього сайту, точно так же відбувається, якщо пошуковий робот побачив помилки у файлі.

Директива User-agent вказує, на те яким саме роботу відносяться нижченаведені приписи. У кожного пошукового бота є своє унікальне ім'я. Список найбільш часто зустрічаються пошукових роботів, найвідоміших пошукових систем:

  • Google (www.google.com) - Googlebot
  • Yahoo! (www.yahoo.com) - Slurp (или Yahoo! Slurp)
  • MSN (www.msn.com) - MSNBot
  • AOL (www.aol.com) - Slurp
  • Live (www.live.com) - MSNBot
  • Ask (www.ask.com) - Teoma
  • Alexa (www.alexa.com) - ia_archiver
  • AltaVista (www.altavista.com) - Scooter
  • Lycos (www.lycos.com) - Lycos
  • Яндекс (www.ya.ru) - Yandex
  • Мэйл.ру (mail.ru) - Mail.Ru
  • Рамблер (www.rambler.ru) - StackRambler
  • Aport (www.aport.ru) - Aport
  • Вебальта (www.webalta.ru) - WebAlta (WebAlta Crawler/2.0)

У великих пошукових систем є також окремі боти для індексування новин, картинок, блогів і т.д., що дозволяє виробляти ще більш тонке налаштування.

Директива "User-agent: *" адресована всім роботам, які зайшли на Ваш сайт.

Disallow - зрозуміла всім без винятку роботам команда, яка забороняє індексувати ту чи іншу директорію сайту (файл, групу файлів). Директива Allow - дозволяє індексування сайту (каталогу).

Параметри команди Disallow задаються у вигляді масок. Кілька простих прикладів:

  1. Припустимо, на сайті є форум, який розміщений в директорії phpbb. Наступні директиви забороняють індексацію форуму для всіх пошукових систем:
    User-Agent: *
    Disallow: /phpbb
  2. Наступний код для файлу robots.txt забороняє роботу Yahoo індексувати сайт :
    User-Agent: Slurp
    Disallow:
  3. Можна використовувати зв'язку Allow-Disallow для включення в індекс контенту в закритих для індексації каталогах. У наступному прикладі, буде відкрита для індексації лише одна директорія "forindex" з усіх, що знаходяться в папці "img": User-agent: *
    Disallow: /img/
    Allow: /img/forindex/
  4. Параметр Crawl-delay вказує пошуковому роботу щоб він завантажував сторінки вашого сайту з інтервалом не менше 10 секунд, іншими словами просто витримував паузу під час індексації сторінок вашого сайту. І ваш сайт спокійно індексується в межах допустимого навантаження. Ви можете змінювати інтервал на свій розсуд, роблячи його більше або менше.

    User-agent: *
    Crawl-delay: 10

З рекомендованими robots.txt ви завжди можете ознайомитися на сайтах розробників своєї CMS, а також на форумах користувачів цих CMS. Можна також забити в Гуглі запит "знизити навантаження" і подивитися результати.

Ми (як хостер) рекомендуємо для всіх без винятку ботів заборонити індексацію фідів, трекбеків, коментарів, пошукових запитів, архівів, сторінок з вибірками за тегами. Так само слід заборонити індексацію папок з плагінами і темами, сторінок реєстрації. Загалом, бажано залишити для індексації тільки самі пости - нехай пошуковики по ним ходять. Це корисно також тим, що виключається поява в пошуковій видачі дублів - шляхів, що веде до одного і того ж посту. В результаті навантаження від пошукових роботів може знизиться майже вдвічі.

Спосіб 2. Мета тег robots

Мета тег robots - управляє індексацією конкретної web-сторінки.

    Приклади:
    meta name="robots" content="index, follow" - індексується дана сторінка, робот йде по посиланнях з цієї сторінки.
    meta name = "robots" content = "noindex, follow" - сторінка не індексується, але робот йде далі по посиланнях.
    meta name = "robots" content = "index, nofollow" - сторінка індексується, але робот не йде по посиланнях на інші сторінки, тобто він їх не індексує.
    meta name = "robots" content = "noindex, nofollow" - сторінка не індексується, робот по посиланнях не йде. Якщо помістити такий код на всі сторінки сайту - він не буде індексуватися.
    meta name = "robots" content = "none" - ідентичне останньому. Сторінка не індексується.

Спосіб 3. Файл .htaccess

Не завжди і не всі роботи читають файл robots.txt, не завжди і не всі виконують прописані там заборони. В цьому випадку можна блокувати ботів на рівні серверу, навіть не давати доступ до сайту. Робити це можна як за допомогою юзерагента, так і за допомогою IP засобами .htaccess.

    Приклад 1:
    Частий випадок, коли у сайтів на CMS Joomla різко зростає навантаження на CPU сервера. Її створюють автоматичні підбирачі пароля до адміністративного розділу CMS. Тому в каталозі /administrator/ обов'язково повинен бути файл .htaccess в якому повинна бути запис виду:
    Allow from 31.24.208.11
    Deny from all
    де замість 31.24.208.11 повинен бути IP-адреса, з якої адмініструється сайт.
    Рядків "Allow from ..." може бути кілька з різними IP-адресами.
    Deny from all - обов'язково одна і остання.
    Приклад 2:
    Для сайтів на Wordpress , коли боти підбирають пароль до адмін-файлу wp-login.php, рекомендуємо засобами .htaccess обмежити доступ до цього файлу, залишивши доступ тільки з тих IP, з яких заходить адмін сайту:
    < Files wp-login.php>
    Require all denied
    Require ip 1.2.3.4
    < /Files>



    Детальніше про різні типи журнальних файлів (лог-файлів) можна прочитати в FAQ....

Зареєструй домен

Акція!
Перенеси домен на ukraine-domain.com та отримай безкоштовно хостинг на строк реєстрації домену