6.1.6 Управління індексацією сайту за допомогою robots.txt
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. Вказує, до яких пошукових робіт застосовується правило. Символ *
означає, що правило діє всім роботів.
User-agent: Googlebot
Директива діятиме лише для Google робота.
2. Disallow. Забороняє доступ до зазначених розділів або сторінок сайту. Тут вказані папки /admin/ та /private/, які не повинні бути проіндексовані.
Disallow: /private-data.html
Директива забороняє доступ до файлу.
3. Allow. Явно дозволяє доступ, навіть якщо є правила, що забороняють. У прикладі дозволено доступ до папки /public/, незважаючи на можливі інші обмеження.
Allow: /private/images/
Це правило дозволяє доступ до папки із зображеннями за вказаним шляхом, навіть якщо до вищестоящої папки доступ заблоковано.
4. Sitemap. Вказує шлях до карти сайту, що допомагає роботам швидше знаходити важливі сторінки.
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 або за допомогою різного виду онлайн-чекерів.