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[&param2&param3&..&paramN] [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 в справке поисковых систем:

Связаться
с нами

Оставьте заявку, и мы свяжемся с вами в
ближайшее время, чтобы обсудить детали
вашего проекта

    Нажимая на кнопку, вы соглашаетесь с условиями политики конфиденциальности