Robots.txt — это текстовый файл, расположенный на веб-сайте, который сообщает поисковым системам, какие страницы сайта они могут индексировать и сканировать, а какие нет.
Файл robots.txt используется для предотвращения индексации конфиденциальных страниц, например, страниц с личной информацией или страниц с тестовым контентом, которые могут повлиять на рейтинг сайта. Он также может использоваться для указания местоположения карты сайта или других инструкций для поисковых роботов.
В корневой каталог сайта файл robots.txt закачивается с использованием любого FTP-клиента. После его размещения необходимо проверить доступность файла по адресу site.com/robots.txt.

Требования к файлу robots.txt
Если файла robots.txt нет в корневом каталоге сайта или он настроен неправильно, это создает угрозу. Сайт может быть недоступен в поиске, а значит, и его посещаемость будет крайне низкой. Все директивы в файле прописываются на латинице, использование символов кириллицы запрещено. Чтобы работать с кириллическими доменами, необходимо применять Punycode. Но важно помнить, что кодировка адресов страниц и кодировка применяемой структуры сайта должны соответствовать друг другу.
Какие функции выполняет robots.txt
Основное назначение файла – размещение указаний для поисковых роботов. Функции зависят от директив. Главные среди них – Allow и Disallow. Первая разрешает индексацию конкретной страницы или раздела. Директива Disallow в файле robots.txt указывает на страницы или директории сайта, которые поисковые системы не должны индексировать. Это означает, что поисковый робот будет игнорировать такие страницы или директории при сканировании сайта.
Важно понимать, что указание директива Disallow в файле robots.txt не гарантирует, что поисковые системы не будут индексировать запрещенные страницы. Некоторые поисковые системы могут проигнорировать эти директивы, а некоторые злоумышленники могут использовать эти директивы для обнаружения конфиденциальной информации на сайте. Поэтому важно принимать меры безопасности и правильно настраивать файл robots.txt на своем сайте.
Еще одна важная директива – User-agent. Она указывает на определенных роботов, к которым относятся разрешительные и запрещающие действия.
Примеры:
User-agent: * |
Disallow: / |
Такая запись запрещает всем роботам проводить индексацию сайта.
User-agent: Yandex |
Disallow: /private/ |
Данная запись применяется для запрета индексации для основного робота поисковой системы Яндекс только директории /private/.
Другие директивы файла
Помимо основных директив Allow, Disallow и User-agent, есть еще ряд других со своими важными функциями.
Host. Позволяет указать зеркало сайта (главное к индексированию) и не допустить появления дублей в выдаче. Данная директива применима для роботов всех поисковых систем.
Пример:
User-Agent: Yandex |
Disallow: /blog |
Disallow: /custom |
Host: https://onesite.com |
Так выглядит директива Host, если https://onesite.com является главным зеркалом для группы сайтов.
Если файл robots.txt содержит несколько значений директивы Host, поисковый робот обратиться только к первой, остальные он игнорирует.
Sitemap. Чтобы сделать индексацию сайта более быстрой и правильной, рекомендуется использовать файл или группу файлов Sitemap. Эта директива межсекционная, т. е. где бы она ни была расположена в robots.txt, поисковые роботы ее обязательно учтут. Как правило, ее выносят в самый конец файла.
Робот обрабатывает эту директиву, запоминает и перерабатывает данные. Полученная информация будет основой при формировании следующих сессий загрузки страниц сайта.
Пример:
User-agent: * |
Allow: /catalog |
sitemap: https://mysite.com/my_sitemaps0.xml |
sitemap: https://mysite.com/my_sitemaps1.xml |
Clean-param. Дополнительная директива, предназначенная для роботов поисковой системы Яндекс. В настоящее время у многих сайтов сложная структура названий с использованием динамических параметров.
Так выглядит описание стандартного синтаксиса этой директивы:
Clean-param: s0[&s1&s2&..&sn] [path]
В первом поле указаны параметры, которые не следует учитывать. Для их разделения используется символ «&». Во втором поле стоит префикс пути страниц, подпадающих под действие этого правила.
Пример:
User-agent: * |
Disallow: |
Clean-param: id /forum.com/index.php |
Пример использования директивы Clean-param для некого форума, где движок сайта генерирует длинные ссылки и присваивает каждому пользователю персональный параметр id. Содержание страниц при этом остается неизменным. Данный файл robots.txt не дает попасть в индекс множеству фактически одинаковых страниц.
Crawl-delay. Эта директива задает минимальное время (в секундах) между концом загрузки страницы и обращением робота к следующей. Crawl-delay используется тогда, когда боты создают слишком высокую нагрузку на сервер сайта. Кстати, роботы поисковой системы Яндекс умеют считывать дробные значения. В Google директива не учитывается.
Пример:
User-agent: * |
Disallow: /cgi |
Crawl-delay: 4.1 # таймаут 4.1 секунды для роботов |

Спецсимволы
Внесение любых директив требует по умолчанию приписывать в конце спецсимвол «*». Таким образом, действие указания будет распространяться на все страницы или разделы сайта, которые начинаются с определенной комбинации символов. Для отмены действия по умолчанию нужно использовать специальный символ «$».
Согласно стандарту использования файла robots.txt, рекомендуется вставлять пустой перевод строки после каждой группы директив User-agent. Специальный символ «#» служит для размещения комментариев в файле. Роботы не учитывают содержание строки, размещенное за символом «#» до знака пустого перевода.
Пример:
User-agent: Googlebot |
Disallow: /pictures$ # запрещает ‘/pictures’, # но не запрещает ‘/pictures.html’ |
Как запретить индексацию сайта или его разделов
Зачем прятать информацию от поисковых роботов? Для продвижения в поиске важно показывать только полезную информацию, от публичного просмотра лучше скрыть технические и служебные страницы, дубли, ресурсы в разработке, конфиденциальную информацию. Для этого и используется описанная в начале статьи директива Disallow.
Пример:
User-agent: * |
Disallow: / # блокирует доступ ко всему сайту |
User-agent: Yandex |
Disallow: / bin # блокирует доступ к страницам, # которые начинаются с ‘/bin’ |
Как проверить файл robots.txt
Если в файл robots.txt были внесены изменения, то его нужно проверить на правильность. Даже небольшая ошибка в размещении символа грозит серьезными проблемами. Для начала стоит проверить robots.txt в инструментах для веб-мастеров Яндекса, затем в Google. Предварительно необходимо авторизоваться в панели веб-мастера, после этого внести в нее данные сайта.