Robots.txt
Файл robots.txt («роботс тэ-экс-тэ») – текстовый файл, который представляет собой основной способ управления сканированием и индексацией сайта поисковыми системами. Размещается строго в корневой папке сайта. Имя файла должно быть прописано в нижнем регистре.
Зачем нужен robots.txt?
Поисковый робот, попадая на сайт обращается к файлу robots.txt, чтобы получить информацию о том, какие разделы и страницы сайта нужно игнорировать, а также информацию о расположении XML-карты сайта и другие параметры.
Данный файл позволяет убрать из поиска дубли страниц и служебные страницы, на которые не должны попадать посетители из поисковых систем. Помогает улучшить позиции сайта в поиске и комфортность для посетителей в использовании сайта.
Для создания robots.txt достаточно воспользоваться любым текстовым редактором. Его необходимо заполнить в соответствии с определенными правилами (о них расскажем далее) и загрузить в корневой каталог сайта.
Если файла robots.txt на сайте нет или он пустой – поисковые системы могут пытаться сканировать и индексировать весь сайт.
Основные директивы в robots.txt
Комментарии
В файле robots.txt можно оставлять комментарии – они будут игнорироваться поисковыми системами. Комментарии помогают структурировать файл, указывать какие-то важные пометки и т. п. Строка с комментарием должна начинаться с символа решетки – #.
Пример:
# Это комментарий
User-agent
Указывает для какого робота предназначены следующие за ней инструкции. Файл robots.txt может состоять из нескольких блоков инструкций, каждая из которых предназначена для определенной поисковой системы. Каждый блок начинается с директивы User-agent и состоит из следующих за ней инструкций. Каждая инструкция – с новой строки.
Наименования роботов для User-agent можно найти, например, в справке поисковых систем. В Рунете чаще всего используются три:
- * – указывает, что следующие инструкции предназначены для всех роботов. Если робот не найдет в файле robots.txt секции конкретно для него, то будет учитывать эту секцию.
- Yandex – робот Яндекса.
- Googlebot – робот Google.
Примеры:
# Секция для всех роботов, которая разрешает индексировать весь сайт User-agent: * Disallow: # Секция для Google, которая запрещает индексировать папку /secret/ User-agent: Googlebot Disallow: /secret/
Disallow и Allow
Основные директивы, которые указывают, что можно и что нельзя индексировать:
- Disallow – запрещает индексацию
- Allow – разрешает
Поскольку, изначальная стандартная функция robots.txt это именно запрещать индексацию, то чаще используются директивы Disallow. Директива Allow появилась позднее и её могут поддерживать не все поисковые системы. Но Яндекс и Google – поддерживают.
Директива Allow применяется если вам нужно разрешить к индексированию что-то, что было запрещено директивами Disallow. Например, если какая-то папка запрещена к индексированию, но определенный файл/страницу в ней нужно разрешить.
В каждой из директив указывается префикс URL (т. е. начало адреса страницы), для которого должно применяться это правило. Также есть специальные символы:
- * – любая последовательность символов (в том числе, пустая). В конце инструкций ставить этот символ не нужно, т. к. по умолчанию директивы интерпретируются так, что как будто он там уже есть.
- $ – конец строки. Отменяет подразумеваемый символ * на конце строки.
Если в файле используются одновременно директивы Allow и Disallow, то приоритет будет иметь та, префикс URL у которой длиннее. Правила применяются по возрастанию длины префикса.
Пример:
# Секция для Яндекса, которая запрещает индексировать папку /secret/ # но разрешает индексировать страницу /secret/not-really/ # при этом не разрешает индексировать всё остальное в папке /secret/not-really/ User-agent: Yandex Disallow: /secret/ Allow: /secret/not-really/$ # Секция для всех роботов, которая запрещает индексировать весь сайт User-agent: * Disallow: / # Секция для Google, которому можно индексировать только страницы с параметрами в URL User-agent: Googlebot Disallow: / Allow: /*?*=
Clean-param
Директива, которую поддерживает Яндекс. Используется для указания параметров в URL, которые следует игнорировать (т. е. считать страницы с такими параметрами одной и той же страницей).
Синтаксис:
Clean-param: param1[¶m2¶m3&..¶mN] [path]
Где param1…paramN это список параметров, разделенных символом &, а [path] это опциональный префикс URL для которого нужно применять это правило (по аналогии с Allow/Disallow).
Директив может быть несколько. Длина правила – не более 500 символов.
Пример:
# Разрешить Яндексу индексировать всё # кроме страниц с параметром session_id в папке /catalog/ User-agent: Yandex Disallow: Clean-param: session_id /catalog/
Sitemap
Указывает на расположение XML-карт сайта. Таких директив может быть несколько.
Директива Sitemap является межсекционной – не важно в каком блоке User-agent или месте файла она будет указана. Все роботы будут учитывать все директивы Sitemap в вашем файле robots.txt.
Пример:
Sitemap: https://www.site.ru/sitemap_index.xml
Host
Межсекционная директива для указания основного хоста. Раньше поддерживалась Яндексом. Теперь поддерживается только роботом поиска Mail.ru. Ее наличие в файле не является какой-то ошибкой, но и пользы от нее немного, т. к. доля органического трафика с поиска Mail.ru обычно очень низкая (порядка 1%).
Пример:
Host: https://www.site.ru
Crawl-delay
Устаревшая директива, которая использовалась для указания задержки между обращениями робота к сайту. Теперь управлять нагрузкой робота на сайте можно в Яндекс Вебмастере и Google Search Console. Директиву Crawl-delay не поддерживает ни Яндекс, ни Google.
Что еще важно знать про robots.txt
- Регистр букв имеет значение. Папки /aaa/ и /AAA/ это разные папки и для них нужны разные директивы.
- Кириллица – не поддерживается. Как она не поддерживается в URL и в названиях доменов. В файле robots.txt кириллические папки/файлы и названия доменов должны быть указаны в закодированном виде.
- Google считает, что файл robots.txt управляет сканированием, а не индексацией. На практике это значит, что если какие-то страницы сайта Google уже нашел и проиндексировал (например, на них были ссылки с других сайтов), то запрет их индексации в robots.txt не поможет исключить их из индекса. Для этого нужно применять метатег robots на самой странице. При этом, чтобы Google это тег увидел и учёл – страница не должна быть закрыта в robots.txt. Звучит это довольно абсурдно, но работает именно так, к сожалению.
- Прежде чем залить файл на «боевой» домен – проверьте его правильность с помощью соответствующих инструментов в Яндекс Вебмастере и Google Search Console.
Подробнее о файле robots.txt в справке поисковых систем:
Свяжитесь
с нами
ближайшее время, чтобы обсудить детали
вашего проекта
У вас возникли
вопросы?
Проводите тендер?
Спасибо
за подписку
отправляем только самые полезные статьи