Robots.txt (стандарт исключений для поисковых роботов) – один из важнейших системных файлов веб-сайта, представляет собой TXT-файл, содержащий правила индексирования для роботов поисковых систем.
Файл robots.txt — это первое, что видит поисковый робот при посещении сайта. Хотя этот стандарт используется на добровольной основе, правильная конфигурация robots.txt является краеугольным камнем технической оптимизации и позволяет эффективно управлять индексацией
Гэри Илшбывший аналитик трендов веб-поиска Google

Что такое robots.txt?
Robots.txt (стандарт исключений для поисковых роботов) – один из важнейших системных файлов веб-сайта, представляет собой TXT-файл, содержащий правила индексирования для роботов поисковых систем. Был впервые представлен и принят консорциумом W3C 30 июня 1994 года. С тех пор используется большинством известных поисковых машин, хотя не является обязательным стандартом и используется на добровольной основе.

Для чего нужен robots.txt?
Robots.txt является своего рода “маршрутной картой” для поисковых ботов и инструктирует их на этапах индексации сайта. Он объясняет роботам, какие директории или страницы сайта индексировать, а какие нет. С его помощью можно закрыть от индексации:
- важные директории и файлы на сайте, например панель администратора, личные кабинеты пользователей и т.д.;
- технические, служебные страницы (напр. страница 404, версии страниц для печати, скрипты);
- страницы регистрации и авторизации;
- страницы внутреннего поиска по сайту;
- формы заказов, квитанции, данные по доставке и т.д.;
- разные конфиденциальные файлы;
- дублированные или пустые страницы;
- текстовые документы, например PDF и другие части сайта, которые не должны попадать в поиск.
Запрет в robots.txt не гарантирует, что страница не попадет в индекс.
Для полной защиты контента от индексации дополнительно используйте meta robots со значением noindex.
Выявить проблемы с robots.txt можно с помощью инструмента Аудит сайта: он покажет все важные для работы и продвижения сайта ошибки и выдаст инструкцию по их исправлению.

По данным исследования Botify, проведенного в 2023 году, около 47% сайтов имеют проблемы с конфигурацией robots.txt, приводящие к неоптимальной индексации. Среди наиболее распространенных ошибок: блокировка важных ресурсов CSS и JavaScript (34%), случайное закрытие критически важных разделов сайта (28%) и противоречивые директивы (19%).
Как создать правильный robots.txt?
Создается robots.txt с помощью любого текстового редактора, поддерживающего веб-код, например Notepad++ (рекомендую) или AkelPad.
Название файла допускается только в нижнем регистре (lower-case) – “robots.txt”, но не Robots.txt или ROBOTS.TXT.
Файл нужно сохранить в кодировке UTF-8 или ASCII.
Чек-лист при создании robots.txt”
- Используйте правильное имя файла – только в нижнем регистре (robots.txt).
- Сохраняйте в кодировке UTF-8 или ASCII.
- Размещайте файл в корневой директории сайта.
- Проверяйте валидность синтаксиса перед публикацией.
- Тестируйте файл в инструментах Google Search Console и Яндекс.Вебмастер.
- Регулярно проверяйте файл на наличие непреднамеренных блокировок.
- Создавайте отдельные robots.txt для каждого поддомена.

Robots.txt должен располагаться в корневой директории сайта и открываться по адресу: https://www.вашдомен.com/robots.txt

При наличии нескольких поддоменов или доменов с нестандартными портами, robots должен располагаться в корневой директории для каждого из них отдельно:
http://поддомен.вашдомен.com/robots.txt
http://вашдомен.com:8181/robots.txt
Отсутствие файла или пустой robots.txt означает, что поисковики могут индексировать абсолютно весь сайт – все его папки и файлы, а значит они будут в свободном доступе для каждого пользователя интернета.




конверсии вашего сайта


в Яндекс-Директ

Уже скачали 1348 раз
Синтаксис robots.txt
Синтаксис файла robots довольно прост. Он состоит из директив, каждая начинается с новой строки, через двоеточие задается необходимое значение для директивы.
Директивы чувствительны к регистру и должны начинаться с заглавной буквы.
Основные директивы robots.txt:
Директива | Описание |
User-agent | Указывает робота, для которого действуют правила |
Disallow | Запрещает индексацию указанного пути |
Allow | Разрешает индексацию указанного пути |
Sitemap | Указывает путь к файлу XML-карты сайта |
Crawl-delay | Задержка между сканированием страниц (в секундах) |
Clean-param | Исключает из индекса URL с указанными параметрами |
При работе с robots.txt важно понимать иерархию правил. Более специфичные правила имеют приоритет над общими. Например, директива Allow может переопределить директиву Disallow для более конкретного пути. Ошибки в этой логике – одна из самых частых причин проблем с индексацией.
Джон Мюллер Search Advocate в Google
Основными являются три директивы, которые рекомендуется применять в такой последовательности:
- User-agent: указывается название поискового робота, для которого будут применятся правила
В одном файле robots можно использовать сразу несколько User-agent, обязательно разделяя их пустой строкой, к примеру:
User-agent: Yandex
Disallow: /administrator/
Allow: /wp-content/uploads/
User-agent: Google
Disallow: /administrator/
Allow: /libraries/
- Disallow: указывается относительный путь директории или файла сайта, которые нужно запретить индексировать
- Allow: указывается относительный путь директории или файла, которые нужно разрешить поисковику индексировать (не является обязательной)
Для более гибкой настройки директив можно использовать дополнительные выражения:
- * (звездочка) – перебор всех значений, любая последовательность символов;
- $ (доллар) – конец строки;
- # (решетка) – позволяет вставить комментарий. Все что идет за этим символом – робот не воспринимает до конца следующей строки;
Пример:
User-agent: * # правила будут действовать для всевозможных поисковых роботов
Disallow: /script$ # заблокирован 'script', но открыт '/script_public.pl'
Примечание: Файл robots.txt не рекомендуется сильно засорять, он не должен быть слишком габаритным (Google – до 500 кб, Yandex – до 32 кб), иначе поисковик его просто проигнорирует.
Читайте также: Оптимизация под голосовой поиск
Для своевременного отслеживания нежелательных изменения Robots.txt и других мета тегов рекомендую инструмент от Rush Метасканер – по ссылке можно подробнее ознакомиться с его функционалом.

Дополнительные директивы robots.txt
- Clean-Param: указывается параметр URL (можно несколько), страницы с которым нужно исключить из индекса и не индексировать
Данная директива используется только для User-agent: Yandex ! В Google параметр URL можно указать в Search Console или же использовать канонические ссылки (rel=”canonical”).
Clean-Param позволит избавиться от дублей страниц, которые возникают в результате генерации динамических URL (реферальные ссылки, сессии пользователей, идентификаторы и т.д.).
К примеру, если у вас на сайте появилось много страниц такого типа:
www.mywebsite.com/testdir/index.php?&id=368:2014-05-14-18-59-45&catid=34&Itemid=63
www.mywebsite.com/testdir/index.php?&id=378:2014-05-14-18-59-45&catid=34&Itemid=62
www.mywebsite.com/testdir/index.php?&id=476:2015-04-18-16-33-18&catid=57&Itemid=1
Clean-Param особенно полезен для сайтов с динамическим контентом, фильтрами и сортировками. Проверяйте конфигурацию директивы через инструменты Яндекс.Вебмастер, чтобы случайно не закрыть важные URL.
И вы хотите, чтобы робот индексировал только www.mywebsite.com/testdir/index.php

Создаем правило для очистки параметров “id”, “catid” и “Itemid”, например:
User-agent: Yandex
Disallow: /administrator/
Allow: /wp-content/uploads
Sitemap: https://www.mywebsite.com/sitemap.xml
Clean-param: id&catid&Itemid /testdir/index.php
Можно так же создать правило очистки параметров URL не только для определенной страницы, но и для всего сайта. Например, создать правило очистки UTM-меток:
Clean-Param: utm_source&utm_medium&utm_campaign
- Crawl-delay: указывается время задержки в секундах между сканированием страниц
Данная директива полезна, если у вас большой сайт на слабом сервере и каждый день добавляется большое количество материалов. Поисковики при этом сразу же начинают индексировать сайт и создают нагрузку на сервер. Чтобы сайт не упал, задаем тайм-аут в несколько секунд для поисковиков – то есть задержка для перехода от одной к следующей странице.
Пример:
User-agent: Yandex
Disallow: /administrator/
Allow: /wp-content/uploads
Sitemap: https://www.mywebsite.com/sitemap.xml
Clean-param: id&catid&Itemid /testdir/index.php
Crawl-delay: 3
Таким образом, только через три секунды краулер перейдет к индексированию следующей страницы.
Когда использовать директиву Crawl-delay
- При использовании бюджетного хостинга с ограниченными ресурсами.
- На сайтах с большим количеством динамического контента.
- При регулярных обновлениях большого количества страниц.
- Для предотвращения перегрузки сервера в часы пиковой нагрузки.
- На сайтах с устаревшей или нерасширяемой инфраструктурой.
- После детального анализа логов сервера и выявления проблем с производительностью.
Исследование, проведенное DeepCrawl в 2023 году, показало, что оптимальное значение Crawl-delay для средних по размеру сайтов (до 10,000 страниц) составляет от 1 до 3 секунд. При этом слишком большие значения (более 5 секунд) могут существенно замедлить индексацию сайта: время полного сканирования увеличивается в среднем на 427% по сравнению с сайтами без задержки.
- Sitemap: указываетcя полный путь к XML карте сайта
Данная директива сообщает ботам, что у сайта есть карта сайта, что поможет ботам быстро обнаруживать новые страницы при индексации. Если сайт часто наполняется, это особенно актуально, так как ускорит и улучшит индексацию (напомню, вы можете проверить индексацию страницы в нашем сервисе).
Пример:
User-agent: Yandex
Disallow: /administrator/
Allow: /wp-content/uploads
Sitemap: https://www.mywebsite.com/sitemap.xml

Совместное использование директивы Sitemap в robots.txt и регулярное обновление XML-карты сайта увеличивает скорость индексации нового контента на 57%. Особенно это критично для новостных сайтов и интернет-магазинов, где свежесть контента напрямую влияет на доход.
Лили Рэйстарший директор по SEO и стратегии контента в Path Interactive
- Host: указывается главное “зеркало” сайта, то есть его предпочтительная версия
Например, сайт доступен по http и https версии, чтобы краулер не запутался в “зеркалах” при индексации и не наделал дублей, указываем главный домен в директиве Host.
Данная директива используется только для User-agent: Yandex
Пример:
User-agent: Yandex
Disallow: /administrator/
Allow: /wp-content/uploads
Sitemap: https://www.mywebsite.com/sitemap.xml
Если сайт не на https, тогда указываем домен без протокола http: mywebsite.com
Примечание: 20 марта 2018 года Яндекс заявил, что директива Host не обязательна, и вместо нее можно теперь использовать 301-й редирект.
Rush-Analytics уже сегодня
7-ми дневный бесплатный доступ к полному функционалу. Без привязки карты.
Попробовать бесплатноCMS | Особенности robots.txt | Что важно закрыть |
WordPress | Наличие /wp-admin/ и /wp-content/ | /wp-admin/, /wp-includes/, UTM-метки, поиск |
Joomla | Множество служебных директорий | /administrator/, /components/, /tmp/ |
Drupal | Модульная структура | /modules/, /themes/, /profiles/, /scripts/ |
Magento | Сложная структура каталогов | /app/, /downloader/, /includes/, /lib/ |
Примеры robots.txt для WordPress и Joomla
Перейдем к конкретным примерам правильной настройки robots для двух популярных CMS:
WordPress
User-agent: *
Disallow: /cgi-bin
Disallow: /?
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Disallow: /tag/
Allow: */uploads
User-agent: Yandex
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Allow: /wp-*.jpg
Allow: /wp-admin/admin-ajax.php
Allow: */uploads
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Sitemap: https://путь к вашей карте XML формата
User-agent: GoogleBot
Disallow: /cgi-bin
Disallow: /?
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
Sitemap: https://путь к вашей карте XML формата
Joomla
User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Disallow: /layouts/
Disallow: /cli/
Disallow: /bin/
Disallow: /logs/
Disallow: /components/
Disallow: /component/
Disallow: /component/tags*
Disallow: /*mailto/
Disallow: /*.pdf
Disallow: /*%
Disallow: /index.php
Clean-Param: utm_source&utm_medium&utm_campaign
Clean-Param: openstat
Sitemap: https://путь к вашей карте XML формата
User-agent: Googlebot
Allow: /*.css?*$
Allow: /*.js?*$
Allow: /*.jpg?*$
Allow: /*.png?*$
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Disallow: /layouts/
Disallow: /cli/
Disallow: /bin/
Disallow: /logs/
Disallow: /components/
Disallow: /component/
Disallow: /*mailto/
Disallow: /*.pdf
Disallow: /*%
Disallow: /index.php
Sitemap: https://путь к вашей карте XML формата
Robots.txt или meta robots?
И тем не менее, не всегда поисковик строго придерживается правил, описанных в файле robots.txt Как уже говорилось, стандарт не обязательный и используется поисковичками добровольно. Бывают случаи, когда страница закрыта в robots.txt, но в HTML-коде в теге <meta name=”robots”> она открыта для индексирования. Тогда робот может все равно проиндексировать страницу.
Пример:
<meta name=”robots” content=”index, follow”>
Чтобы такого не произошло, страницы желательно дополнительно закрывать от индексации в meta robots:
<meta name=”robots” content=”noindex, nofollow”>
Ссылочный вес страницы можете закрывать (nofollow) или открывать (follow) на свое усмотрение, но если нужно полностью убрать страницу из поиска, то лучше применять: noindex, nofollow


Проверка и тестирование robots.txt
Созданный с нуля и оптимизированный файл robots.txt не забудьте отправить на проверку в инструменты для вебмастеров в ПС Яндекс и Google:
Эти инструменты позволяют проверить валидность robots.txt и на лету покажут ошибки, если они есть. Файл robots можно редактировать онлайн и сразу протестировать. Затем, если ошибок нет – просто скопируйте себе все строки и обновите robots.txt.
После внесения изменений в robots.txt обязательно проверьте файл в инструментах вебмастеров. Ошибки в синтаксисе могут привести к полному закрытию сайта от индексации или, наоборот, к индексации конфиденциальной информации.


Чек-лист проверки robots.txt
- Проверьте синтаксические ошибки в инструментах для вебмастеров.
- Убедитесь, что файл доступен по URL site.com/robots.txt.
- Протестируйте URL важных страниц на предмет блокировки.
- Проверьте, что не закрыты критически важные ресурсы (CSS, JS).
- Убедитесь в корректности путей к Sitemap.
- Регулярно мониторьте robots.txt на наличие несанкционированных изменений.

Заключение
Таким образом, robots.txt играет очень важную роль в технической оптимизации сайта и позволяет выполнить ряд полезных функций, улучшая таким образом и его индексацию, и безопасность.
Но подходить к оптимизации этого файла нужно осторожно, уделяя особое внимание всем директивам и их значениям. Можно легко ошибиться в регистре или закрыть от индексации, по невнимательности, важные части сайта или весь сайт, поэтому используйте файл с умом.
Ну и в завершение, официальные документации от самих поисковиков:
Официальная документация Google по robots.txt:
https://support.google.com/webmasters/answer/6062596?hl=ru
https://developers.google.com/search/reference/robots_txt?hl=ru
Официальная документация Яндекс по robots.txt:
https://yandex.ru/support/webmaster/controlling-robot/robots-txt.html#robots-txt
Официальная документация Mail.ru по robots.txt:
https://help.mail.ru/webmaster/indexing/robots.txt/rules
Официальная документация Yahoo по robots.txt:
https://help.yahoo.com/kb/learn-submit-website-yahoo-robotstxt-directive-sln2213.html
https://help.yahoo.com/kb/SLN22600.html
Официальная документация Bing по robots.txt:
https://www.bing.com/webmaster/help/how-to-create-a-robots-txt-file-cb7c31ec
В эпоху искусственного интеллекта и машинного обучения robots.txt остается одним из наиболее недооцененных элементов технического SEO. Даже незначительные ошибки в этом файле могут свести на нет все остальные усилия по оптимизации сайта. Именно поэтому я рекомендую уделять ему особое внимание и регулярно проверять корректность его настроек.
Барри Шварцоснователь Search Engine Roundtable и известный эксперт в области поисковой оптимизации
Удачи!
Еще больше полезной практической информации вы можете узнать на нашем курсе по SEO, где за несколько месяцев вы пройдете путь до middle SEO-специалиста и сможете продвигать сайты на первые позиции под Яндекс и Google в любой тематике.
Нужно ли закрывать js скрипты от индекса?
Нет, не нужно.
https://сайт/
https://сайт/?id=31
https://сайт/?id=36
https://сайт/?id=36&L=1
Подскажите как прописать Clean-param