Что такое robots.txt
robots.txt — текстовый файл в корне сайта, подсказывающий поисковым роботам, что можно и нельзя обходить.
URL: https://example.com/robots.txt
Важно: это подсказка, не приказ. Робот может проигнорировать, но обычно уважает.
Базовый синтаксис
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xmlЭтого хватит для большинства новых сайтов.
Все директивы
User-agent
К кому обращена правила:
User-agent: * — ко всем роботам
User-agent: Googlebot — только к Google
User-agent: YandexBot — только к Яндексу
User-agent: GPTBot — к OpenAI
User-agent: ClaudeBot — к Anthropic
User-agent: PerplexityBot — к PerplexityDisallow
Что нельзя обходить:
Disallow: /admin/
Disallow: /private/
Disallow: /search?Allow
Что можно, даже если запрещено выше:
Disallow: /admin/
Allow: /admin/public-pageSitemap
Путь к карте сайта:
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap-blog.xmlМожно несколько sitemap.
Crawl-delay (Яндекс)
Пауза между запросами робота в секундах:
User-agent: YandexBot
Crawl-delay: 2Google игнорирует crawl-delay. Используйте только для Яндекса/Bing.
Clean-param (только Яндекс)
Убирает GET-параметры из индекса:
Clean-param: utm_source&utm_medium&ref /Готовые шаблоны
Шаблон 1. Новый сайт / блог
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /search?
Sitemap: https://example.com/sitemap.xmlШаблон 2. E-commerce
User-agent: *
Allow: /
# Технические разделы
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /wishlist/
# Параметры фильтров и сортировки
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?page=
Disallow: /*?utm_*
# Поиск по сайту
Disallow: /search?
# Яндекс — убираем UTM из индекса
User-agent: YandexBot
Clean-param: utm_source&utm_medium&utm_campaign /
Sitemap: https://example.com/sitemap_index.xmlШаблон 3. Агрегатор / каталог
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /search?
Disallow: /compare?
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*&filter=
Sitemap: https://example.com/sitemap_index.xml
Sitemap: https://example.com/sitemap-products.xml
Sitemap: https://example.com/sitemap-categories.xmlШаблон 4. Защита от AI-краулеров
Если не хотите, чтобы ChatGPT, Claude, Perplexity обучались на вашем контенте:
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /Подробнее про блокировку AI →.
Шаблон 5. Открыто только для поиска
User-agent: Googlebot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: *
Disallow: /Wildcards и спецсимволы
* — любая последовательность
Disallow: /*?utm_* — все URL с utm-параметрами
Disallow: /admin/* — всё в /admin/
Disallow: *.pdf$ — все PDF$ — конец строки
Disallow: /*.pdf$ — только .pdf файлы
Disallow: /old-page$ — только /old-page, не /old-page-new# — комментарии
# Это комментарий
User-agent: *
Disallow: /admin/ # тоже комментарийТоп-10 ошибок в robots.txt
1. Disallow: / на проде
User-agent: *
Disallow: /Эффект: сайт полностью выпал из индекса. Проверяйте после миграции со staging!
2. Забыли Sitemap
User-agent: *
Allow: /
# Sitemap не указанЭффект: Google и Яндекс медленнее находят страницы.
3. Блокировка CSS и JS
Disallow: /css/
Disallow: /js/Эффект: Google не может правильно отрендерить страницу → плохая оценка mobile-friendly.
4. Чувствительность к регистру
Disallow: /Admin/Не сработает для /admin/ или /ADMIN/.
5. robots.txt не в корне
https://example.com/folder/robots.txt ❌Должен быть только в корне: https://example.com/robots.txt ✅
6. noindex в robots.txt
User-agent: *
Noindex: /old-pageЭто не работает. noindex — только в <meta> или HTTP-заголовке.
7. Несколько User-agent для одной группы
User-agent: Googlebot
User-agent: YandexBot
Disallow: /admin/Правила относятся только к последнему User-agent. Дублируйте секции.
8. Закрытие важных страниц
Disallow: /blog/Если ваш блог — главный источник трафика, никогда не закрывайте.
9. Лишние пробелы
User-agent: *
Disallow: /admin/Лишние пробелы могут ломать парсинг у некоторых роботов.
10. UTF-8 BOM
Файл должен быть в UTF-8 без BOM. BOM ломает первую строку.
Как проверить
1. Google Search Console
GSC → Settings → robots.txt → Test — проверит файл и покажет ошибки.
2. Я.Вебмастер
Анализ robots.txt → ввести URL → проверит для конкретного бота.
3. Браузер
Откройте https://example.com/robots.txt — должен открыться как plain text.
4. Screaming Frog
Crawl с настройкой «Respect robots.txt» → покажет заблокированные URL.
robots.txt vs meta robots vs HTTP-заголовок
| Метод | Эффект | Когда |
|---|---|---|
| robots.txt Disallow | Запрет обхода | Закрыть разделы от crawler'а |
| meta robots noindex | Запрет индексации | Конкретная страница, нужна доступность |
| HTTP X-Robots-Tag | Запрет индексации | Файлы (PDF), сложные правила |
Важно: Disallow ≠ noindex.
Если страница уже в индексе, а вы добавили Disallow: → она может остаться в индексе. Чтобы убрать — нужен noindex, а доступ к странице должен быть разрешён.
Размер файла
- Максимум 500 KB для Google
- Реально — до 10 KB хватает для большинства
Если файл огромный → реструктурируйте.
Анти-паттерны
❌ Закрывать всё «на всякий случай»
«Disallow всё, потом разрешим» = шанс забыть открыть нужное.
❌ Не обновлять
Файл годами не пересматривается → блокируются новые разделы.
❌ Disallow вместо noindex
Если хотите убрать из индекса, но оставить доступным → используйте <meta>.
❌ Игнор GSC уведомлений
GSC может уведомлять о проблемах в robots.txt → реагируйте.
❌ robots.txt-only стратегия
Не полагайтесь только на него — комбинируйте с canonical, noindex, sitemap.
Чек-лист robots.txt
- [ ] Файл по адресу
/robots.txt - [ ] UTF-8 без BOM
- [ ] Прописан Sitemap
- [ ] CSS и JS НЕ заблокированы
- [ ] Admin/staging/cart закрыты
- [ ] UTM-параметры обработаны (Clean-param для Яндекса)
- [ ] Проверен в GSC и Я.Вебмастере
- [ ] Размер < 500 KB
- [ ] Регистр URL соответствует фактическому
Итог
robots.txt — 5 минут работы, но критическая часть SEO. Готовый шаблон под ваш тип сайта + регулярная проверка = одна из главных гигиен.
Не делайте: глобальный Disallow на проде, блокировку CSS/JS, noindex внутри robots.txt.