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
позволяет гибко управлять поведением поисковых роботов на сайте с помощью небольшого списка специальных правил (директив). Рассмотрим пример файла со всеми основными директивами и разберем их:
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: /*?*
- Проверить работу
robots.txt
можно с помощью Google Search Console в разделе Тестирование robots.txt или с помощью разного вида онлайн-чекеров.