Что такое файл robots.txt и зачем он нужен
Оглавление
Robots.txt — это текстовый файл, который создают веб-мастера сайтов, чтобы сообщить, какие страницы стоит исключить из поискового индекса. Все, что не заблокировано, будет отображаться в поиске.
Без файла robots.txt поисковые роботы индексируют все доступные страницы на сайте, из-за чего в индексе могут появиться служебные страницы, дубли, страницы с результатами поиска по сайту и т. д.
Важно учитывать, что файл robots.txt не является обязательным для поисковых роботов и они могут игнорировать часть запрещающих директив (например, Google может проиндексировать закрытые в robots.txt страницы, если на них есть ссылки с других сайтов). Если вам нужно заблокировать страницы от краулеров наверняка, узнайте, какими еще способами можно управлять индексированием сайтов.
Чаще всего robots.txt используется для закрытия от индексации:
- технических директорий, админ-панелей, личного кабинета;
- корзин, страниц с обработкой заказов;
- страниц результатов сортировок, отработок фильтров;
- страниц внутреннего поиска по сайту;
- конфиденциальных страниц и файлов;
- PDF, DOCX и прочих документов, которые не должны участвовать в поиске;
- сторонних сервисов/скриптов (JivoSite и подобных);
- служебных страниц без элементов навигации и т. д.
Требования к файлу robots.txt
Чтобы файл robots.txt корректно обрабатывался поисковыми роботами, он должен соответствовать следующим основным требованиям:
- Файл должен представлять собой текстовый документ в кодировке UTF-8.
- Файл должен называться robots.txt, строго в нижнем регистре.
- Файл должен размещаться в корневом каталоге сайта, например, https://site.ru/robots.txt.
- Файл должен быть доступен для поисковых роботов.
- Размер файла не должен превышать 500 КБ.
- Файл работает в рамках только одного домена. Для субдоменов используйте самостоятельные файлы robots.txt
- В файле не должны блокироваться к индексированию неканонические страницы, страницы с метатегом robots=»noindex» или страницы, с которых настроены редиректы. Иначе поисковые системы эти настройки и сигналы могут не увидеть и не учесть.
- Некоторые директивы поддерживаются не всеми поисковыми системами, например, Clean-param для Яндекса не учитывается Google.
- В файле нельзя использовать кириллицу.
# Неверно:
User-agent: Yandex
Disallow: /корзина
Sitemap: https://сайт.рф/sitemap.xml
# Верно:
User-agent: Yandex
Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0
Sitemap: https://xn--80aswg.xn--p1ai/sitemap.xml
Если ошибок нет, поисковый бот приступает к сканированию сайта, его индексированию и добавлению страниц в поиск с учетом robots.txt.

Чтобы влиять на индексацию с помощью robots.txt, требуется знать основные типы директив и подстановочных знаков (спецсимволов).
Директивы в robots.txt
User-agent
Обязательная директива, определяющая, для каких поисковых роботов будут даны инструкции ниже. Основной робот поисковой системы Google — Googlebot, для Яндекса это Yandex. Если правила должны быть одинаковые для всех поисковых роботов, используется символ звезды — *.
User-agent: *
Кроме указанного выше Googlebot, существуют специальные группы роботов Google:
Бот (User-agent) |
Назначение |
Googlebot-News |
Бот сервиса Google News. Используется, если вы хотите закрыть от индексации новостной контент. |
Googlebot-Image |
Бот, индексирующий изображения сайта, добавляющих их в сервис Google Картинки. |
Googlebot-Video |
Бот, индексирующий видео, размещенные на сайте. |
Раньше ещё были актуальны директивы для рекламных групп ботов в Google Adwords, но с марта 2022 г. данные группы неактуальны для России.
Подробнее об агентах пользователей роботов Google и Яндекса:
Disallow
Это директива, запрещающая индексирование страниц, разделов и файлов внутри сайта.
Пример файла robots.txt, который закрывает весь сайт от индексирования, в основном используется для тестовых и служебных поддоменов:
User-agent: *
Disallow: /
Пример директивы, которая закрывает все дубли главной страницы, содержащие параметры в URL:
Disallow: /?
Директива Disallow содержит префикс пути (т. е. начало), который нужно закрыть от индексирования. Например, такая директива:
Disallow: /folder/
закроет от индексации не только папку /folder/, но и всё, что находится внутри нее.
«Disallow: /» — это крайне опасная директива. Внедрение ее на боевой версии сайта (к примеру, при невнимательном переносе обновлений с тестовой версии) может полностью исключить сайт из поиска и лишить трафика. Всегда проверяйте доступность вашего сайта в robots.txt.
Allow
Директива, разрешающая индексирование страниц, разделов и файлов внутри сайта из уже заблокированных Disallow директорий.
Пример директив, позволяющих индексирование определенной страницы внутри закрытого раздела /catalog/:
Disallow: /catalog
Allow: /catalog/page
Sitemap
Это директива, указывающая путь поисковым роботам к XML-карте сайта. Может встречаться несколько раз. Пример:
Sitemap: https://www.site.ru/sitemap.xml
Директива Sitemap — межсекционная. Это значит, что она может находиться в любом месте файла robots.txt и не относится к конкретной секции User-agent.
Clean-param
Межсекционная директива для Яндекса, позволяющая исключить индексирование дублей страниц с параметрами в URL. C помощью Clean-param можно «склеить» страницы с динамическими параметрами, не оказывающими влияния на содержимое страниц.
Яндекс рекомендует использовать именно Clean-param вместо Disallow, так как эта директива позволяет передать основной странице сигналы ранжирования, накопленные на страницах с параметрами, тем самым улучшая ранжирование основной страницы.
Пример:
Clean-param: utm_source&utm_medium&utm_term&utm_content
Host
Директива, указывающая на главное зеркало сайта. Пример:
Host: https://www.site.ru
Директива Host не учитывается Яндексом и Google. Актуальна только для роботов поиска Mail.ru.
Спецсимволы в robots.txt
Кроме директив в robots.txt, можно добавить специальные символы, с помощью которых можно более точечно обращаться с директивами.
* (звездочка)
Спецсимвол, указывающий на любую последовательность символов, в том числе и пустую.
По умолчанию в конце каждого правила robots.txt подразумевается символ *, поэтому добавлять его в конце инструкций нет необходимости. Пример:
User-agent: *
# Блокируем доступ ко всем страницам, начинающимся с /catalog
Disallow: /catalog*
# То же самое
Disallow: /catalog
# (решетка)
Спецсимвол комментария. Всё, что находится после данного символа и до первого переноса строчки, не учитывается.
Не пытайтесь закрывать от индексации части страниц типа /page#part_1. В robots.txt вы можете заблокировать индексацию только страницы целиком. Для блокировки страницы используйте адрес без якоря #part_1.
$ (доллар)
Спецсимвол, обозначающий конец URL. Пример использования:
# Блокирует к индексированию только страницу site.ru/catalog
# Страницы уровнем ниже доступны к индексированию (например, site.ru/catalog/food)
Disallow: /catalog$
Как robots.txt понимают Яндекс и Google
Яндекс использует файл robots.txt для сканирования и индексации сайта. Он строго следует правилам, которые прописаны в файле. Страницы, заблокированные в robots.txt, можно найти в отчете «Индексирование» -> «Страницы в поиске» в сервисе Яндекс Вебмастер:

Google в свою очередь использует robots.txt для сканирования сайта и может игнорировать директивы, добавляя в индекс закрытые для индексирования страницы:

Для того чтобы страницы не добавлялись в индекс Google, рекомендуем использовать метатег <meta name=»robots» content=»noindex, nofollow»/>. Его необходимо поместить в тег <head> страницы. Либо возможны другие методы управления индексированием сайта.
Как одновременно работают Allow и Disallow
Поисковые системы используют директивы Allow и Disallow из одного блока User-agent последовательно, сортируя их по длине префикса URL, от меньшего к большему.
Пример директив, вписанных в robots.txt
User-agent: *
Disallow: /catalog/
Disallow: /product/product-id/
Allow: /
Как их видит поисковый робот
User-agent: *
Allow: /
Disallow: /catalog/
Disallow: /product/product-id/
Если для какой-то страницы подходит применение нескольких правил, то поисковый робот отдаст приоритет последнему правилу.
Пример
User-agent: *
Disallow: /catalog/product/
Allow: */product/
Префикс URL в закрывающей директиве «Disallow: /catalog/product/» длиннее, и поисковый робот обработает её последней. Из-за этого все страницы в папке /product/ все равно будут закрыты для индексирования:

Очень важно перед публикацией файла robots.txt проверить, корректно ли он работает и не запретит ли индексирование важных страниц.
Как проверить файл robots.txt
Чтобы проверить корректность файла robots.txt, можно использовать официальные инструменты от Яндекса и Google.
В Яндекс Вебмастере
Ссылка на инструмент — https://webmaster.yandex.ru/tools/robotstxt/.
Здесь вы можете проверить как robot.txt сайта, права на который у вас подтверждены, так и содержимое документа без привязки к домену.

В Google Search Console
Ссылка на инструмент — https://www.google.com/webmasters/tools/robots-testing-tool.

Кроме сервисов Google и Яндекс, вы можете использовать независимые инструменты, однако их качество и эффективность мы не гарантируем.
Типичные ошибки
Ошибки в robots.txt кардинально различаются по степени влияния на ранжирование сайта. Старайтесь минимизировать количество ошибок для наилучшего индексирования вашего сайта!
Ошибка |
Важность |
Влияние на индексирование |
Использование «Disallow: /» |
Критичная |
Блокирует индексирование сайта. Может полностью исключить сайт из поисковой выдачи. |
Закрытие всех параметров «Disallow: /*?» |
Важная |
Директива блокирует индексирование страниц с параметрами. Сигналы ранжирования на основную страницу не передаются, в отличие от ситуаций, когда используются Clean-param или теги canonical. Также могут быть заблокированы CSS и JS-файлы, из-за чего поиск может некорректно индексировать страницы, что плохо для ранжирования. |
Закрытие файлов с изображениями, скриптами или стилями CSS |
Важная |
Кроме параметрических URL, пути до картинок, CSS и JS-файлов могут быть закрыты напрямую. Это может ухудшить индексирование контента страниц, а также исключить ранжирование в Яндекс и Google Картинках. |
Пустая директива User-agent |
Важная |
Не указаны поисковые роботы, для которых обозначены правила. Из-за этой ошибки robots.txt может быть невалиден. |
Правило начинается не с символа «/» и не с символа «*» |
Средняя |
Если после директив Disallow или Allow нет символа «/» или «*», директивы не будут работать. |
Не указан путь к XML-карте сайта или указан относительный путь |
Низкая |
Если вы не указали путь к XML-картам сайта в файле robots.txt, то вам необходимо добавить их вручную в сервисы Яндекса и Google для веб-мастеров. Иначе поисковые системы их могут не найти. |
Файлы robots.txt для популярных CMS
Ниже представлены шаблоны для наиболее распространенных CMS в Рунете. В данных шаблонах к индексированию запрещены:
- Технические страницы
- Админ-панели
- Страницы с результатами поиска по сайту
- Страницы с результатами действий пользователей (сброс пароля и т. п.)
- Версии страниц для печати
Шаблоны для CMS реализованы для базовой оптимизации индексирования сайтов. В любом случае проверяйте доступность всех необходимых файлов к индексированию для каждого сайта индивидуально, не полагайтесь полностью на шаблонные директивы. Всегда пользуйтесь инструментами для веб-мастеров!
WordPress
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-
Disallow: */trackback
Disallow: */page
Disallow: /author/*
Disallow: /template.html
Disallow: /readme.html
Disallow: *?replytocom
Disallow: /?
Allow: */uploads
Allow: /*.js
Allow: /*.css
Allow: /*.png
Allow: /*.gif
Allow: /*.jpeg
Allow: /*.jpg
Allow: /*.svg
# Укажите актуальный путь к XML-карте сайта
Sitemap: https://site.ru/sitemap.xml
1С-Битрикс
User-agent: *
Disallow: /cgi-bin
Disallow: /bitrix/
Disallow: *bitrix_*=
Disallow: /local/
Disallow: /*index.php$
Disallow: /auth/
Disallow: *auth=
Disallow: /personal/
Disallow: *register=
Disallow: *forgot_password=
Disallow: *change_password=
Disallow: *login=
Disallow: *logout=
Disallow: */search/
Disallow: *action=
Disallow: *print=
Disallow: *?new=Y
Disallow: *?edit=
Disallow: *?preview=
Disallow: *backurl=
Disallow: *back_url=
Disallow: *back_url_admin=
Disallow: *captcha
Disallow: *?FILTER*=
Disallow: *?ei=
Disallow: *?p=
Disallow: *?q=
Disallow: *?tags=
Disallow: *B_ORDER=
Disallow: *BRAND=
Disallow: *CLEAR_CACHE=
Disallow: *ELEMENT_ID=
Disallow: *price_from=
Disallow: *price_to=
Disallow: *PROPERTY_TYPE=
Disallow: *PROPERTY_WIDTH=
Disallow: *PROPERTY_HEIGHT=
Disallow: *PROPERTY_DIA=
Disallow: *PROPERTY_OPENING_COUNT=
Disallow: *PROPERTY_SELL_TYPE=
Disallow: *PROPERTY_MAIN_TYPE=
Disallow: *PROPERTY_PRICE[*]=
Disallow: *S_LAST=
Disallow: *SECTION_ID=
Disallow: *SECTION[*]=
Disallow: *SHOWALL=
Disallow: *SHOW_ALL=
Disallow: *SHOWBY=
Disallow: *SORT=
Disallow: *SPHRASE_ID=
Disallow: *TYPE=
Allow: */upload/
Allow: /bitrix/*.js
Allow: /bitrix/*.css
Allow: /*.js
Allow: /*.css
Allow: /*.png
Allow: /*.gif
Allow: /*.jpeg
Allow: /*.jpg
Allow: /*.svg
# Укажите актуальный путь к XML-карте сайта
Sitemap: https://site.ru/sitemap.xml
Joomla
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /includes/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /*com_mailto
Disallow: /*pop=
Disallow: /*lang=ru
Disallow: /*format=
Disallow: /*print=
Disallow: /*task=vote
Disallow: /*=watermark
Disallow: /*=download
Disallow: /*user/
Disallow: /index.php?
Disallow: /*%
Disallow: /*&
Disallow: /index2.php
Disallow: /*tag
Disallow: /*.pdf
Disallow: /*=atom
Allow: /index.php?option=com_xmap&sitemap=1&view=xml
# Укажите актуальный путь к XML-карте сайта
Sitemap: http://site.ru/sitemap.xml
Ответы на популярные вопросы о robots.txt
Для чего нужен robots.txt?
Файл robots.txt — текстовый документ, с помощью которого можно запретить индексацию страниц поисковыми системами на этапе сканирования сайта.
Как правильно составить robots.txt?
- Создать текстовый документ с именем robots.txt.
- Отобрать список типов страниц к блокировке.
- Прописать все необходимые правила с учетом синтаксиса.
- Разместить документ в корневой папке сайта.
- Проверить его в Яндекс Вебмастере и Google Search Console.
Что нужно закрывать в robots.txt?
В robots.txt следует закрывать:
- страницы авторизации, корзины, личный кабинет,
- результаты работы фильтров и сортировок (если нет возможности блокировки другими методами),
- страницы результатов поиска по сайту.
Какой максимальный размер robots.txt?
Максимальный размер файла robots.txt — 500 KB.
Как добавить sitemap.xml в robots.txt?
Используйте в конце документа директиву Sitemap с указанием актуального адреса вашего файла sitemap.xml.
Как редактировать robots.txt?
Рекомендуем редактировать файл robots.txt в инструменте Яндекс Вебмастера «Анализ robots.txt». Здесь вы без ошибок сможете составить корректные директивы и проверить доступность страниц, после чего перенесете содержимое в файл robots.txt на сайте.
Официальные руководства и инструменты
Денис Яковенко
Руководитель группы SEO-специалистов