6.1.6 Управління індексацією сайту за допомогою robots.txt

Robots.txt Banner

robots.txt - це текстовий файл, що розміщується в корені сайту (наприклад, https://example.com/robots.txt).

Він використовується для керування тим, які сторінки та розділи сайту можуть або не можуть бути проіндексовані пошуковими системами. Це інструмент для оптимізації SEO та обмеженого захисту даних від індексації.

Навіщо потрібен robots.txt?
  • Контроль індексації. Ви можете обмежити доступ роботів до сторінок, які не призначені для загального перегляду. Це допомагає уникнути індексації службових сторінок, дублюючого контенту чи тестових розділів.

  • Оптимізація ресурсів. Пошукові роботи мають обмежений час для обходу сайту (краулінговий бюджет). robots.txt дозволяє перенаправити їх увагу на важливіші сторінки.

  • Вказівка на sitemap.xml. Файл дозволяє направити роботів до карти сайту, що прискорює індексацію.

Вимоги

  • Файл повинен знаходитися в корені сайту, наприклад по відносному ~/www/example.com/robots.txt або по повному шляху /var/www/exampleuser/data/ www/example.com/robots.txt
  • Файл має бути текстовим, у кодуванні UTF-8.
  • Переконайтеся, що файл доступний вказаним шляхом. Ви можете перевірити це, перейшовши на адресу https://example.com/robots.txt.

Основні директиви в robots.txt

Важливо: robots.txt працює за принципом заборони (disallow). Якщо файл порожній або не існує, пошукові системи та інші веб-краулери інтерпретують це як дозвіл індексувати весь контент сайту.

Файл robots.txt дозволяє гнучко керувати поведінкою пошукових роботів на сайті за допомогою невеликого списку спеціальних правил (директив). Розглянемо приклад файлу з усіма основними директивами та розберемо їх:

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /public/
Sitemap: https://example.com/sitemap.xml
Пояснення використаних директив

1. User-agent. Вказує, до яких пошукових робіт застосовується правило. Символ * означає, що правило діє всім роботів.

Приклад в robots.txt
User-agent: Googlebot

Директива діятиме лише для Google робота.

2. Disallow. Забороняє доступ до зазначених розділів або сторінок сайту. Тут вказані папки /admin/ та /private/, які не повинні бути проіндексовані.

Приклад в robots.txt
Disallow: /private-data.html

Директива забороняє доступ до файлу.

3. Allow. Явно дозволяє доступ, навіть якщо є правила, що забороняють. У прикладі дозволено доступ до папки /public/, незважаючи на можливі інші обмеження.

Приклад в robots.txt
Allow: /private/images/

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

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

Приклад в robots.txt
Sitemap: https://example.com/sitemap.xml

Директива вказує на розташування карти сайту.

Приклади налаштування

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

Список релевантних User-Agent

Пошукові системи:

  • Googlebot (основний бот Google)
  • Googlebot-Image (бот для зображень)
  • Googlebot-News (бот для новин)
  • Googlebot-Video (бот для відео)
  • AdsBot-Google (перевіряє сторінки для реклами Google)
  • Mediapartners-Google (бот Google AdSense)
  • Bingbot
  • AdIdxBot (бот для реклами Bing)
  • Yandex
  • YandexBot
  • YandexImages (бот для зображень)
  • YandexNews (бот для новин)
  • YandexVideo (бот для відео)
  • YandexMetrika (аналіз користувача поведінки)
  • Baidu
  • Baiduspider
  • Baiduspider-image (бот для зображень)
  • DuckDuckGo
  • DuckDuckBot
  • Yahoo
  • Slurp
  • Seznam
  • SeznamBot
  • Ecosia
  • ecosia-bot

Соціальні мережі:

  • facebookexternalhit
  • Facebot
  • Twitterbot
  • LinkedInBot
  • Pinterestbot
  • InstagramBot

Спеціалізовані сервіси:

  • ia_archiver (бот від Internet Archive)
  • Google-AMPHTML (Прискорення мобільних сторінок)
  • UptimeRobot
  • PingdomBot

SEO та аналіз:

  • AhrefsBot
  • SemrushBot
  • Moz
  • Majestic-12

Скріншоти та перегляд:

  • ScreenshotMachine
  • PagePeeker

Інші відомі користувачі-агенти:

  • Applebot
  • Amazonbot
  • CloudflareBot
  • Yeti
  • Sogou Spider
  • TelegramBot
  • msnbot
Блокування всіх роботів на всьому сайті
User-agent: *
Disallow: /
Заборона на індексацію певних директорій
User-agent: *
Disallow: /admin/
Disallow: /private/
Роздільна здатність для конкретного пошукового робота
User-agent: Googlebot
Allow: /
Заборона для всіх, крім Googlebot
User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /
Виключення окремих файлів
User-agent: *
Disallow: /private-data.html

Практичні поради

  • robots.txt не захищає дані! Директиви Disallow лише просять роботів не відвідувати певні сторінки, але вони залишаються доступними безпосередньо. Для захисту інформації використовуйте паролі або налаштування сервера.

  • Пошукові системи можуть ігнорувати robots.txt. Деякі роботи (наприклад, Googlebot) не дотримуються директиви robots.txt.

  • Якщо у вас є сторінки, що дублюються, їх потрібно закрити від індексації через robots.txt або метатег noindex.

  • У великих сайтів (інтернет-магазинів, порталів) важливо правильно розподілити краулінговий бюджет. Закривайте менш важливі сторінки, як-от фільтри товарів або сторінки пагінації.

  • Якщо на сайті багато динамічних URL, наприклад, з параметрами, налаштуйте robots.txt для їх виключення, наприклад:

Disallow: /search/s=*
  • Перевірити роботу robots.txt можна за допомогою Google Search Console у розділі Тестування robots.txt або за допомогою різного виду онлайн-чекерів.