Як зменшити навантаження на сервер, створювану пошуковими роботами
Індексація в пошукових системах - важлива частина просування (розкручування) сайту. У міру розвитку сайту збільшується його відвідуваність, збільшується також і кількість пошукових роботів (скорочено - ботів), які відвідують сайт, щоб проіндексувати нові або змінені сторінки сайту і додати в свою базу даних. Це добре для власників сайтів, тому що хороша індексація в пошукових системах в результаті підвищує відвідуваність сайту. Але це може також стати причиною проблем з хостером. Чому? Пояснюємо. Якщо на вашому сайті 5 сторінок, то індексація проходить швидко і безболісно. А якщо сотні або тисячі? Якщо подивитися статистику сайтів наших користувачів, видно, що більшість сайтів в добу відвідують більше тисячі роботів. Тобто, навантаження на сервер створюють не тільки користувачі (яких може бути і не багато у недавно створеного сайту), але і роботи.
Існує кілька способів знизити марну навантаження від пошукових роботів.
Спосіб 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)
У великих пошукових систем є також окремі боти для індексування новин, картинок, блогів і т.д. що дозволяє виробляти ще більш тонке налаштування.
Disallow - зрозуміла всім без винятку роботам команда, яка забороняє індексувати ту чи іншу директорію сайту (файл, групу файлів). Директива Allow - дозволяє індексування сайту (каталогу).
Параметри команди Disallow задаються у вигляді масок. Кілька простих прикладів:
- Припустимо, на сайті є форум, який розміщений в директорії phpbb. Наступні директиви забороняють індексацію форуму для всіх пошукових систем:
User-Agent: *
Disallow: / phpbb - Наступний код для файлу robots.txt забороняє роботу Yahoo індексувати сайт:
User-Agent: Slurp
Disallow: - Можна використовувати зв'язку Allow-Disallow для включення в індекс контенту в закритих для індексації каталогах. У наступному прикладі, буде відкрита для індексації лише одна директорія "forindex" з усіх, що знаходяться в папці "img": User-agent: *
Disallow: / img /
Allow: / img / forindex / - Параметр Crawl-delay вказує пошуковому роботу щоб він завантажував сторінки вашого сайту з інтервалом не менше 10 секунд, іншими словами просто витримував паузу під час індексації сторінок вашого сайту. І ваш сайт спокійно індексується в межах допустимого навантаження. Ви можете змінювати інтервал на свій розсуд, роблячи його більше або менше.
User-agent: *
Crawl-delay: 10
Спосіб 2. Мета тег robots
Мета тег robots - управляє індексацією конкретної web-сторінки.
Спосіб 3. Файл .htaccess
Не завжди і не всі роботи читають файл robots.txt, не завжди і не всі виконують прописані там заборони. В цьому випадку можна блокувати ботів на рівні сервера, навіть не давати доступ до сайту. Робити це можна як за допомогою юзерагента, так і за допомогою IP.
Природно, потрібно бути впевненим в тому, що ви заблокуєте тільки непотрібні елементи. Керівництво користувача по .htaccess.