1. Введение
Вы когда-нибудь задумывались, почему поисковые системы индексируют не те страницы? Или почему Google тратит бюджет сканирования на /admin/, /search/ или URL с сотней UTM-меток? Всё это можно и нужно контролировать — с помощью простого, но мощного файла: robots.txt.
- 1. Введение
- 2. Зачем нужен robots.txt?
- 3. Как работает robots.txt?
- 🔍 Принцип работы:
- ⚠️ Важно:
- 4. Директивы robots.txt — подробно
- 4.1. User-agent
- 4.2. Disallow
- 4.3. Allow
- 4.4. Sitemap
- 4.5. Crawl-delay
- 4.6. Host (только для Яндекса!)
- 4.7. Clean-param (только для Яндекса!)
- 4.8. Комментарии в robots.txt
- 5. Практика: 10 сложных и полезных примеров robots.txt
- 1. Закрываем URL с фильтрами и сортировками, но оставляем чистые страницы каталога
- 2. Запрет определённым ботам, остальным — полный доступ
- 3. Разрешаем сканировать только изображения и карту сайта
- 4. Учитываем поддомены
- 5. Ограничиваем скорость сканирования при высокой нагрузке
- 6. Используем Clean-param для борьбы с дублями от аналитики
- 7. Разрешаем только конкретный файл в закрытом разделе
- 8. Скрываем поиск и личный кабинет
- 9. Поддержка нескольких Sitemap для крупных сайтов
- 10. Комбинируем всё в одном файле — универсальный шаблон
- 6. Пример robots.txt для сайта на 1С-Битрикс
- 7. Типичные ошибки и подводные камни
- 1. Полный запрет индексации всего сайта
- 2. Неправильное использование слэша в конце
- 3. Закрытие технических файлов, нужных для работы сайта
- 4. Пустой Disallow не отменяет предыдущие запреты
- 5. Указание нескольких директив Host
- 6. Одинаковый robots.txt для поддоменов
- 7. Проверка robots.txt «на глаз»
- 8. Надежда только на robots.txt для закрытия от индексации
- 9. Закрытие sitemap.xml или самого robots.txt от индексации
- 10. Неправильный порядок директив Allow/Disallow
- ➕ Дополнительные ошибки:
- 8. Инструменты для проверки и тестирования
- 9. Часто задаваемые вопросы (FAQ)
- 10. Заключение
- 🎁 Бонус: Готовые шаблоны и чек-лист
- ✅ Шаблон для интернет-магазина
- ✅ Шаблон для WordPress
- ✅ Чек-лист перед публикацией 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.txthttps://shop.site.ru/robots.txt
Пример для блога:
User-agent: *
Disallow: /drafts/
Sitemap: https://blog.site.ru/sitemap.xml5. Ограничиваем скорость сканирования при высокой нагрузке
Зачем: Чтобы роботы не «завалили» сервер.
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.ru6. Пример 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 работает на вас, а не против вас!