1. Введение

Вы когда-нибудь задумывались, почему поисковые системы индексируют не те страницы? Или почему Google тратит бюджет сканирования на /admin/, /search/ или URL с сотней UTM-меток? Всё это можно и нужно контролировать — с помощью простого, но мощного файла: robots.txt.

Содержание

Этот небольшой текстовый файл — первый, что читают поисковые роботы при посещении вашего сайта. Он определяет, какие разделы можно сканировать, а какие — нет. Неправильная настройка может привести к потере трафика, а правильная — улучшить SEO, снизить нагрузку на сервер и избавить вас от дублей в индексе.

В этой статье вы узнаете:

  • Зачем нужен robots.txt и как он работает.
  • Все директивы с примерами и особенностями.
  • 10 сложных, но жизненно важных примеров настройки.
  • Типичные ошибки (и как их избежать).
  • Готовые шаблоны для разных CMS.

Готовы? Поехали.


2. Зачем нужен robots.txt?

Robots.txt — это файл-инструкция для поисковых роботов, в котором вы указываете, какие разделы сайта им можно сканировать, а какие — запрещены.

Основные задачи:

  • 🚫 Запретить сканирование служебных разделов: личный кабинет, корзина, поиск, админка.
  • 📉 Экономить бюджет сканирования — чтобы роботы не тратили время на мусор.
  • 🔄 Предотвратить индексацию дублей: фильтры, сортировки, UTM-метки, сессионные параметры.
  • 🗺️ Указать расположение карты сайта (sitemap.xml) — ускорить индексацию важных страниц.
  • 🧠 Улучшить структуру индексации — чтобы в поиске были только нужные, «чистые» URL.

Важно понимать: robots.txt не запрещает индексацию — только сканирование. Если страница уже в индексе (например, на неё есть внешние ссылки), robots.txt её не удалит. Для этого нужен мета-тег noindex.


3. Как работает robots.txt?

Когда робот (например, Googlebot) приходит на сайт, он первым делом запрашивает файл по адресу:
👉 https://вашсайт.ru/robots.txt

Если файл есть — робот читает его и применяет правила. Если нет — сканирует всё.

🔍 Принцип работы:

  • Правила читаются сверху вниз.
  • Робот ищет блок, подходящий под его User-agent.
  • Применяется первое совпадающее правило.
  • Если есть и Allow, и Disallow — побеждает более конкретный путь (длиннее).
  • Если правил нет — всё разрешено.

⚠️ Важно:

  • Robots.txt — это рекомендация, а не приказ. Злонамеренные боты могут его игнорировать.
  • Google и Яндекс по-разному обрабатывают приоритеты Allow/Disallow — об этом ниже.

4. Директивы robots.txt — подробно

В robots.txt используются директивы — команды для роботов. Вот основные из них:


4.1. User-agent

Определяет, для какого робота действуют следующие правила.

User-agent: *

→ Правила для всех роботов.

User-agent: Googlebot
Disallow: /private/

→ Только для Google.

User-agent: YandexBot
Disallow: /search/

→ Только для Яндекса.

Популярные User-agent:

  • Googlebot — основной робот Google.
  • Googlebot-Image — для изображений.
  • YandexBot — основной робот Яндекса.
  • YandexImages — картинки.
  • Bingbot — робот Bing.
  • * — все роботы.

4.2. Disallow

Запрещает сканирование указанного пути.

Disallow: /admin/

→ Запрещает всё внутри /admin/.

Disallow: /tmp

→ Запрещает /tmp, /tmpfile.html, /tmp/ — всё, что начинается с /tmp.

❗ Важно:
/folder ≠ /folder/

  • /folder — блокирует и /folder, и /folderpage.html.
  • /folder/ — только директорию и её содержимое.

4.3. Allow

Разрешает доступ к ресурсу, даже если он внутри запрещённой директории.

Поддерживается: Google, Яндекс. Не все роботы понимают Allow.

User-agent: *
Disallow: /folder/
Allow: /folder/important.html

→ Запрещает всю папку, кроме одного файла.

Приоритет:
Побеждает правило с более длинным совпадением пути.

Пример:

Disallow: /folder
Allow: /folder/important

→ /folder/important.html — разрешён, потому что путь длиннее.


4.4. Sitemap

Указывает адрес XML-карты сайта. Можно указать несколько.

Sitemap: https://site.ru/sitemap.xml
Sitemap: https://site.ru/sitemap-products.xml
Sitemap: https://site.ru/sitemap-news.xml

💡 Совет: всегда добавляйте эту директиву — так робот быстрее найдёт важные страницы.


4.5. Crawl-delay

Задаёт задержку между запросами робота (в секундах). Полезно при высокой нагрузке.

User-agent: YandexBot
Crawl-delay: 10

❗ Важно:
→ Google игнорирует эту директиву. Для ограничения частоты сканирования в Google — используйте Google Search Console → Настройки сканирования.

Поддерживается: Яндекс, Bing, некоторые другие.


4.6. Host (только для Яндекса!)

Указывает основное зеркало сайта — нужно, если сайт доступен по нескольким адресам (например, с www и без).

Host: site.ru

❗ Правила:

  • Только один Host на файл.
  • Без http://, https://, www.
  • Только для Яндекса. Google использует редиректы и canonical.

4.7. Clean-param (только для Яндекса!)

Позволяет игнорировать параметры в URL, чтобы избежать дублей.

Clean-param: utm_source&utm_medium /catalog/

→ Яндекс будет считать /catalog/?utm_source=google и /catalog/ — одной и той же страницей.

Можно указывать несколько параметров через &, и несколько путей через пробел.

Clean-param: yclid&gclid&source /product/ /blog/

💡 Незаменимо для сайтов с аналитикой, рекламными метками, сессиями.


4.8. Комментарии в robots.txt

Начинаются с символа #. Не влияют на поведение роботов — нужны для людей.

# Запрещаем сканирование личного кабинета
Disallow: /personal/

# Главная карта сайта
Sitemap: https://site.ru/sitemap.xml

Рекомендуется использовать — особенно в больших и сложных файлах.


5. Практика: 10 сложных и полезных примеров robots.txt

Вот реальные кейсы, с которыми сталкиваются вебмастера. Каждый — с пояснением и кодом.


1. Закрываем URL с фильтрами и сортировками, но оставляем чистые страницы каталога

Зачем: Чтобы избежать дублей вида /catalog/?color=red&sort=price.

User-agent: *
Disallow: /catalog/*?
Allow: /catalog/$

→ *? — любые URL с параметрами.
→ $ — конец строки, т.е. «чистая» страница каталога без параметров — разрешена.


2. Запрет определённым ботам, остальным — полный доступ

Зачем: Например, запретить ботам-агрегаторам или вредоносным сканерам.

User-agent: BadBot
Disallow: /

User-agent: *
Disallow:

→ BadBot — блокируем полностью.
→ Все остальные — имеют полный доступ.


3. Разрешаем сканировать только изображения и карту сайта

Зачем: Для фотобанков, CDN, или если сайт — только хранилище медиа.

User-agent: *
Disallow: /
Allow: /*.jpg$
Allow: /*.png$
Allow: /*.jpeg$
Allow: /*.gif$
Sitemap: https://site.ru/sitemap-images.xml

→ $ в конце — точное совпадение расширения.


4. Учитываем поддомены

Зачем: Если у вас blog.site.ru, shop.site.ru — у каждого должен быть свой robots.txt.

👉 Файл должен быть доступен по:
https://blog.site.ru/robots.txt
https://shop.site.ru/robots.txt

Пример для блога:

User-agent: *
Disallow: /drafts/
Sitemap: https://blog.site.ru/sitemap.xml

5. Ограничиваем скорость сканирования при высокой нагрузке

Зачем: Чтобы роботы не «завалили» сервер.

User-agent: YandexBot
Crawl-delay: 5

User-agent: Bingbot
Crawl-delay: 5

Для Google — настраивайте в Google Search Console → Настройки сканирования.


6. Используем Clean-param для борьбы с дублями от аналитики

Зачем: Чтобы UTM-метки, gclid, yclid не создавали тысячи дублей.

Clean-param: utm_source&utm_medium&utm_campaign&gclid&yclid /product/ /category/ /blog/

→ Указываем параметры и пути, к которым они применяются.


7. Разрешаем только конкретный файл в закрытом разделе

Зачем: Например, в /admin/ есть публичный отчёт report.html.

User-agent: *
Disallow: /admin/
Allow: /admin/report.html

→ Всё в /admin/ закрыто, кроме одного файла.


8. Скрываем поиск и личный кабинет

Зачем: Эти разделы не должны попадать в поиск.

User-agent: *
Disallow: /search/
Disallow: /personal/
Disallow: /user/
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/

→ Особенно важно для интернет-магазинов.


9. Поддержка нескольких Sitemap для крупных сайтов

Зачем: Удобно разделять по типам контента.

Sitemap: https://site.ru/sitemap-products.xml
Sitemap: https://site.ru/sitemap-articles.xml
Sitemap: https://site.ru/sitemap-videos.xml
Sitemap: https://site.ru/sitemap-regions.xml

→ Помогает роботам быстрее находить нужные разделы.


10. Комбинируем всё в одном файле — универсальный шаблон

# ROBOTS.TXT — универсальный шаблон для интернет-магазина

User-agent: *
Disallow: /admin/
Disallow: /search/
Disallow: /personal/
Disallow: /cart/
Disallow: /*?*utm_
Disallow: /*?*yclid
Disallow: /*?*gclid
Allow: /catalog/$
Allow: /catalog/page/
Sitemap: https://site.ru/sitemap.xml
Sitemap: https://site.ru/sitemap-products.xml

User-agent: YandexBot
Crawl-delay: 2
Clean-param: utm_source&utm_medium&utm_campaign&yclid /catalog/ /product/

User-agent: Googlebot
Allow: /*.css
Allow: /*.js

Host: site.ru

6. Пример robots.txt для сайта на 1С-Битрикс

Битрикс генерирует много динамических URL. Вот типовой файл:

User-agent: *
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /search/
Disallow: /test/
Disallow: /*?*
Disallow: /*index.php*
Allow: /bitrix/*.js
Allow: /bitrix/*.css
Allow: /bitrix/*.jpg
Allow: /bitrix/*.png
Sitemap: https://site.ru/sitemap.xml

User-agent: YandexBot
Clean-param: utm_source&utm_medium /catalog/ /product/
Crawl-delay: 3

Host: site.ru

💡 Совет: Не доверяйте полностью генератору в админке Битрикс — проверяйте вручную!


7. Типичные ошибки и подводные камни

Даже опытные вебмастеры допускают эти ошибки. Проверьте свой robots.txt!


1. Полный запрет индексации всего сайта

User-agent: *
Disallow: /

→ Сайт исчезнет из поиска. Часто ставят случайно или «на время разработки», а потом забывают.

✅ Решение: Замените на Disallow: (пустое значение = всё разрешено).


2. Неправильное использование слэша в конце

Disallow: /folder

→ Блокирует /folder, /folderpage.html, /folder/.

Disallow: /folder/

→ Блокирует только содержимое папки.

✅ Решение: Всегда проверяйте, что именно вы хотите закрыть.


3. Закрытие технических файлов, нужных для работы сайта

Disallow: /*.css
Disallow: /*.js

→ Google не сможет увидеть стили и скрипты → посчитает сайт «бедным» → падение ранжирования.

✅ Решение: Никогда не закрывайте CSS, JS, шрифты, если только это не служебные файлы админки.


4. Пустой Disallow не отменяет предыдущие запреты

Disallow: /admin/
Disallow:

→ Это не сбрасывает запрет /admin/. Пустой Disallow: просто разрешает всё, что не запрещено выше.

✅ Решение: Удаляйте ненужные запреты, а не «перекрывайте» их.


5. Указание нескольких директив Host

Host: site.ru
Host: www.site.ru

→ Яндекс использует только первую. Вторая игнорируется.

✅ Решение: Оставьте только одно главное зеркало.


6. Одинаковый robots.txt для поддоменов

→ blog.site.ru/robots.txt должен быть отдельным файлом, а не копией основного.

✅ Решение: Настройте отдельный robots.txt для каждого поддомена.


7. Проверка robots.txt «на глаз»

→ Без валидаторов легко пропустить опечатку или неправильный путь.

✅ Решение: Всегда проверяйте через:

  • Google Search Console → Инспектор robots.txt
  • Яндекс.Вебмастер → Анализ robots.txt
  • https://technicalseo.com/tools/robots-txt/

8. Надежда только на robots.txt для закрытия от индексации

→ Если страница уже в индексе — robots.txt не удалит её оттуда.

✅ Решение: Используйте noindex, или возвращайте статус 404/410.


9. Закрытие sitemap.xml или самого robots.txt от индексации

Disallow: /sitemap.xml
Disallow: /robots.txt

→ Бессмысленно. Роботы должны иметь к ним доступ.

✅ Решение: Никогда не закрывайте эти файлы.


10. Неправильный порядок директив Allow/Disallow

Google и Яндекс по-разному обрабатывают порядок. Google — по длине пути, Яндекс — иногда по порядку.

✅ Решение: Ставьте более конкретные правила ниже. Используйте валидаторы.


➕ Дополнительные ошибки:

11. Использование регулярных выражений
→ Не поддерживаются. Только префиксы.

12. Кодировка не UTF-8
→ Может вызвать ошибки чтения. Сохраняйте в UTF-8 без BOM.

13. Robots.txt возвращает 404, 500, 301
→ Должен отдавать 200 OK. Проверьте через браузер или curl.

14. Забыли про мобильных роботов
→ Добавьте правила для Googlebot-Mobile, YandexMobileBot, если нужно.

15. Не обновляют после изменений структуры сайта
→ После редизайна или миграции — обязательно пересмотрите robots.txt.


8. Инструменты для проверки и тестирования

Не полагайтесь на глаз — используйте инструменты:

🔹 Google Search Console → «Инспектор robots.txt» — покажет, как Google видит ваш файл.
🔹 Яндекс.Вебмастер → «Анализ robots.txt» — с подсветкой ошибок и предупреждений.
🔹 Screaming Frog → Проверка локально, до выгрузки на сервер.
🔹 Онлайн-валидаторы:

  • https://technicalseo.com/tools/robots-txt/
  • https://audit.page/robots-txt-checker
  • https://www.xml-sitemaps.com/robots-txt-validator.html

9. Часто задаваемые вопросы (FAQ)

Q: Можно ли использовать robots.txt для запрета индексации?
A: Нет. Robots.txt запрещает сканирование, но не индексацию. Для запрета индексации — используйте <meta name="robots" content="noindex">.

Q: Что, если robots.txt недоступен?
A: Роботы будут сканировать весь сайт. Лучше иметь хотя бы пустой файл.

Q: Нужен ли robots.txt для SPA или PWA?
A: Да, особенно если есть SSR или динамические URL с параметрами.

Q: Как часто роботы проверяют robots.txt?
A: Google — каждые несколько дней. Яндекс — чаще, особенно если сайт активно обновляется.

Q: Можно ли запретить только часть параметров в URL?
A: В Google — через параметры в Search Console. В Яндексе — через Clean-param.


10. Заключение

Robots.txt — маленький файл с огромным влиянием. Он не прощает ошибок, но вознаграждает за внимательность:
✅ Чистый индекс
✅ Экономия ресурсов сервера
✅ Повышение качества SEO
✅ Защита от дублей и мусора

Правило №1: Всегда тестируйте изменения.
Правило №2: Не надейтесь только на robots.txt — комбинируйте с noindex, canonical, 301.
Правило №3: Регулярно аудируйте файл — особенно после обновлений сайта.

Настройте свой robots.txt прямо сейчас — и спите спокойно 😉


🎁 Бонус: Готовые шаблоны и чек-лист

✅ Шаблон для интернет-магазина

User-agent: *
Disallow: /admin/
Disallow: /personal/
Disallow: /cart/
Disallow: /order/
Disallow: /search/
Disallow: /*?*utm_
Disallow: /*?*gclid
Allow: /catalog/$
Allow: /catalog/page/
Sitemap: https://site.ru/sitemap.xml
Sitemap: https://site.ru/sitemap-products.xml

User-agent: YandexBot
Clean-param: utm_source&utm_medium /catalog/ /product/
Crawl-delay: 2

Host: site.ru

✅ Шаблон для WordPress

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: /trackback/
Disallow: /xmlrpc.php
Disallow: /feed/
Allow: /wp-content/uploads/
Sitemap: https://site.ru/sitemap_index.xml

User-agent: YandexBot
Crawl-delay: 3

Host: site.ru

✅ Чек-лист перед публикацией robots.txt

🔲 Файл находится в корне сайта и доступен по site.ru/robots.txt
🔲 Кодировка — UTF-8 без BOM
🔲 Нет опечаток в директивах
🔲 Не закрыты CSS/JS/картинки (если не служебные)
🔲 Указаны актуальные Sitemap
🔲 Проверен через Google Search Console и Яндекс.Вебмастер
🔲 Для поддоменов — отдельные файлы
🔲 Добавлены комментарии для команды
🔲 Протестирован на сложных URL (фильтры, параметры)


📚 Полезные ссылки

  • Google: https://developers.google.com/search/docs/crawling-indexing/robots/intro
  • Яндекс: https://yandex.ru/support/webmaster/controlling-robot/robots-txt.html
  • Валидатор: https://technicalseo.com/tools/robots-txt/

Если вы дочитали до конца — вы уже знаете больше, чем 90% вебмастеров 😉
Сохраните статью в закладки, поделитесь с коллегами — и пусть ваш robots.txt работает на вас, а не против вас!

Оцените эту статью