Что такое файл robots.txt и для чего он нужен?
Robots.txt — это простой текстовый файл в формате UTF-8, который размещается в корневой директории вашего веб-сервера (в корневой папке сайта). Он содержит специальные правила и ограничения, указывающие веб-краулерам (роботам поисковых систем, таким как Googlebot или YandexBot), какие разделы и страницы сайта можно сканировать, а какие следует исключить из обхода.
Для чего нужен robots.txt?
Главная функция, которую выполняет этот файл — управление сканированием и оптимизация обхода сайта. Поисковые роботы заходят на ваш сервер и тратят определенное количество ресурсов (так называемый краулинговый бюджет) на сканирование страниц.
/wp-admin/, /bitrix/admin/), личные кабинеты (/members/, /login/), корзины (/cart/), результаты поиска, тестовые страницы и скрипты (/tmp/, /local/) не несут пользы в выдаче.
?sort=, ?filter=) или дубли пагинации, это может замедлить работу хостинга.
Sitemap в robots.txt помогает роботам быстрее находить новые материалы, статьи и товары на сайте.
?utm=), реферальными параметрами (?fbclid=) или техническими дублями (например, xmlrpc.php, replytocom).
файл robots.txt управляет именно сканированием (обходом), а не всегда напрямую запрещает попадание страницы в индекс. Если на закрытую через Disallow страницу ведет множество внешних ссылок, Google всё равно может добавить этот URL в индекс без считывания содержимого. Для полного запрета индексации используются тег Meta Robots (noindex) или заголовки сервера.
Требования к robots.txt
Чтобы поисковые системы могли корректно прочитать ваши правила и инструкции, файл должен соответствовать ряду жестких стандартов:
| Требование | Описание |
|---|---|
| robots.txt (строго строчные) | Имя файла только строчными буквами. Варианты Robots.TXT или ROBOTS.TXT не работают. |
| Корневая папка сайта | Файл должен лежать в root (например, public_html). В подпапках роботы его не найдут. |
| Формат UTF-8 без BOM | Обычный текстовый файл (text/plain). Не используйте MS Word — только Notepad++, Блокнот. |
| Размер ≤ 500 КБ | При превышении поисковики могут проигнорировать файл. Google и Яндекс считают, что доступ разрешён полностью. |
| HTTP-код 200 OK | При ошибке 5xx роботы приостанавливают сканирование. При 404 — индексируют всё подряд. |
Синтаксис robots.txt: базовые правила построения
Структура файла состоит из набора блоков (групп правил). Каждый блок начинается с указания поискового бота, к которому относятся следующие за ним команды.
Синтаксис построения строк весьма простой:
Имя_директивы: Значение_директивы
Каждая директива пишется с новой строки. Регистр написания самих директив (User-agent, Disallow, Allow) не имеет значения, но пути к папкам и URL чувствительны к регистру (зависит от настроек сервера).
Вы также можете добавлять комментарии в коде. Любой текст после символа решетки # игнорируется роботами:
# Это комментарий: закрываем административную панель WordPress
User-agent: *
Disallow: /wp-admin/ Основные директивы robots.txt
Рассмотрим подробнее ключевые команды, из которых формируется корректный файл.
Директива User-agent
Директива User-agent указывает, для какого конкретно поискового робота предназначены последующие правила и ограничения на сайте.
| Значение | Для кого |
|---|---|
| User-agent: * | Все поисковые роботы (общее правило) |
| User-agent: Yandex или YandexBot | Только для робота Яндекса |
| User-agent: Googlebot | Только для основного робота Google |
Если вы хотите задать отдельные настройки для разных поисковиков, в файле создается несколько блоков:
# Общие правила для всех поисковиков
User-agent: *
Disallow: /tmp/
# Отдельные правила для Google
User-agent: Googlebot
Disallow: /admin/
Allow: /admin/public/ Директива Disallow
Эта директива задает правило запрета: она указывает, какие пути, папки или отдельные страницы сайта запрещено сканировать роботам.
| Пример | Что закрывает |
|---|---|
| Disallow: / | Всё! Закрывает весь сайт от сканирования. Осторожно — частая ошибка при переносе с dev-домена. |
| Disallow: /wp-admin/ | Папку администратора WordPress и всё её содержимое |
| Disallow: /search | Все URL, начинающиеся с /search (включая /search?q=) |
| Disallow: /private.html | Конкретную страницу /private.html |
| Disallow: (пусто) | Запретов нет — разрешено сканировать всё |
Директива Allow
Директива Allow используется для того, чтобы разрешить сканирование конкретной страницы или папки внутри той директории, которая была ранее закрыта через Disallow.
Пример совместного использования Allow и Disallow:
Например, в вашей CMS (Bitrix, WordPress или Tilda) закрыта вся служебная папка /wp-content/ или /assets/, но внутри неё находятся файлы стилей (.css), скрипты (.js) или изображения, необходимые поисковику для корректного отображения дизайна страницы:
User-agent: *
Disallow: /wp-content/
Allow: /wp-content/uploads/
Allow: /wp-content/plugins/*.css
Allow: /wp-content/plugins/*.js Здесь команда Allow прямо разрешает поисковым системам индексировать картинки из папки uploads и стили плагинов, несмотря на то, что родительская директория /wp-content/ заблокирована.
Директива Sitemap
http:// или https://. User-agent и может размещаться в любом месте файла (чаще всего её прописывают в самом конце или в начале). Sitemap: https://your-website.com/sitemap-images.xml
Символы подстановки (спецсимволы * и $)
Для составления гибких правил и масок адресов используются спецсимволы регулярных выражений:
| Символ | Значение | Пример |
|---|---|---|
| * (звёздочка) | Любая последовательность символов (или их отсутствие) | Disallow: /*? — закрывает все URL с ? (GET-параметры) |
| $ (доллар) | Конец строки URL (фиксирует окончание) | Disallow: /catalog$ — закроет только /catalog, но не /catalog/ или /catalog/product |
Пример готового файла robots.txt для WordPress
Вот пример типового, корректно настроенного файла для сайта на базе WordPress:
# Общие правила для всех роботов User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Disallow: /wp-includes/ Disallow: /xmlrpc.php Disallow: /*?* Disallow: /*? Disallow: /wp-json/ Disallow: /author/ Disallow: /trackback/ Disallow: /feed/ # Разрешаем индексировать медиафайлы и стили Allow: /wp-content/uploads/ Allow: /wp-includes/*.js Allow: /wp-includes/*.css # Указываем карту сайта Sitemap: https://your-website.com/sitemap.xml
Будьте осторожны: частые ошибки при работе с файлом
Неправильное использование команд может нанести критический вред SEO-продвижению вашей платформы. Вот основные риски и ошибки, которых стоит избегать:
Случайное закрытие всего сайта. Директива Disallow: / часто ставится разработчиками на тестовом домене (dev-версии), чтобы закрыть его от индексирования на этапе разработки. Самая частая ошибка — переносят сайт на боевой хостинг и забывают удалить этот запрет. В результате весь сайт вылетает из выдачи.
Блокировка CSS и JS файлов. Не закрывайте стили (.css) и скрипты (.js). Современные алгоритмы Google и Яндекса рендерят страницу так же, как живой пользователь в браузере. Если заблокировать доступ к стилям, поисковик посчитает мобильную адаптивность сломанной и снизит позиции сайта.
Закрытие уникального контента вместо дублей. Случайно закрыв каталог /catalog/ вместо служебных пагинаций, вы исключите из поиска все свои товары и полезные статьи.
Использование устаревших директив. Раньше в robots.txt массово использовали директивы Host (для указания главного зеркала) или Crawl-delay (для управления интервалом обхода). Сегодня Google полностью игнорирует Host, а Яндекс официально прекратил поддержку этой команды (главное зеркало задается через 301-редирект и Яндекс Вебмастер). Команда noindex в robots.txt также больше не поддерживается поисковиками.
Как проверить robots.txt с помощью инструментов Google и Яндекса
После создания или изменения текстового файла обязательно нужно проверить его на ошибки с помощью официальных вебмастеров поисковиков.
Проверка в Яндекс Вебмастере
В панели Яндекс Вебмастер есть специальный инструмент:
- Зайдите в кабинет, перейдите в раздел «Инструменты» ➔ «Анализ robots.txt».
- Вставьте содержимое вашего файла или нажмите «Загрузить с сайта».
- Внизу в поле ввода добавьте несколько важных URL (например, главную, страницу статьи, карточку товара, админку).
- Нажмите «Проверить». Инструмент сразу подсветит синтаксические ошибки и покажет, разрешает или запрещает текущий файл доступ к указанным адресам для робота YandexBot.
Инструмент Google
Google предоставляет сервис проверки с помощью панели Google Search Console:
- Воспользуйтесь инструментом проверки файлов robots (Google Robots Testing Tool).
- Выберите нужный ресурс, загрузите обновленную версию.
- Введите тест-URL страницы и проверьте, блокируется ли доступ для робота Googlebot.
Также вы можете использовать сторонние онлайн-валидаторы и специализированные программы для аудита (например, Screaming Frog SEO Spider), чтобы просканировать ресурс и убедиться, что важные разделы сайта открыты для индексации.
Удалите страницу: что делать, если нужно полностью исключить URL из индекса?
Многие вебмастера ошибочно думают, что если прописать страницу в Disallow, она тут же исчезнет из поиска. Это не так.
Если страница уже находится в индексе, добавление правила Disallow просто запретит роботу заходить на неё снова. Поисковик не сможет прочитать её обновленный статус и будет удерживать закрытый URL в выдаче еще долгое время.
Если вам нужно гарантированно исключить страницу из индекса или удалить её полностью, используйте один из следующих способов:
<head> добавьте мета-тег:
<meta name="robots" content="noindex, follow"> noindex или 404/410.