Robots.txt

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

Индексация сайта

Требования к файлу robots.txt

Если файла robots.txt нет в корневом каталоге сайта или он настроен неправильно, это создает угрозу. Сайт может быть недоступен в поиске, а значит, и его посещаемость будет крайне низкой. Все директивы в файле прописываются на латинице, использование символов кириллицы запрещено. Чтобы работать с кириллическими доменами, необходимо применять Punycode. Но важно помнить, что кодировка адресов страниц и кодировка применяемой структуры сайта должны соответствовать друг другу.

Какие функции выполняет robots.txt

Основное назначение файла – размещение указаний для поисковых роботов. Функции зависят от директив. Главные среди них – Allow и Disallow. Первая разрешает индексацию конкретной страницы или раздела. Disallow, наоборот, запрещает индексацию. Еще одна важная директива – User-agent. Она указывает на определенных роботов, к которым относятся разрешительные и запрещающие действия. У инструкций robots.txt рекомендательный характер. Это значит, что в некоторых случаях роботы могут игнорировать их.

Примеры:

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

Спецсимволы

Внесение любых директив требует по умолчанию приписывать в конце спецсимвол "*". Таким образом, действие указания будет распространяться на все страницы или разделы сайта, которые начинаются с определенной комбинации символов. Для отмены действия по умолчанию нужно использовать специальный символ "$".

Согласно стандарту использования файла 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. Предварительно необходимо авторизоваться в панели веб-мастера, после этого внести в нее данные сайта.