Файл robots.txt

06 июня 2021 года, 20:30

Файл robots.txt

robots.txt — это текстовый файл, который содержит инструкции для поисковых роботов. Содержимое файла представлено одной или более групп директив, которые позволяют управлять индексацией сайта. Помимо индексации, существует возможность добавления служебной информации, которая помогает поисковым системам. Грамотно составленный файл robots.txt позволяет ускорить индексацию сайта, уменьшить нагрузку на сервер и улучшить поведенческие факторы. В данной статье рассматриваются: создание и редактирования файла robots.txt, синтаксис директив, расположение на хостинге, расположение в панелях управления популярных CMS, генерация.

Файл robots.txt является файлом исключений и правил для поисковых роботов. Данный стандарт принят консорциумом всемирной паутины World Wide Web Consortium (W3C) 30 июня 1994 года. Следование стандарту является полностью добровольным, однако некоторые поисковые системы указывают на возможную некритическую проблему при отсутствии файла robots.txt.

Создание файла robots.txt

Чтобы создать файл robots.txt открыть блокнот и ввести следующие директивы:

User-Agent: *
Allow: /

сохранить файл с именем:

robots.txt

Имя файла обязательно должно быть написано прописными (маленькими) буквами.

Указанные директивы буквально расшифровываются так:

  1. для всех поисковых роботов,
  2. открыть для индексации весь сайт.

Данный файл загружается в корень сайта и номинально решает проблему валидации, которая связана с отсутсвием robots.txt.

Зачем нужен файл robots.txt

Файл robots.txt содержит правила-исключения, а так же служебные директивы для поисковых роботов. Правильная настройка позволяет решать основные задачи для корректной индексации сайта:

  1. закрытие сайта/страниц/файлов, 
  2. указание служебной информации.

Закрытие сайта/страниц/файлов

Полное закрытие веб-проекта чаще всего реализуется в случаях:

  1. мультирегиональной настройки ПС для поддоменов,
  2. создания тестового сайта-клона.

Закрытие страниц и файлов сайта реализуется в случаях, когда они:

  1. дублируют контент, 
  2. содержат служебные данные,
  3. содержат тестовые данные, 
  4. не несут пользы в индексе ПС.

Указание служебной информации

Ранее, для ПС Яндекс можно было указывать адрес основного хоста (директива host — неактуально), задержку между обращениями бота к сайту (crawl-delay — неактуально). Сегодня достаточно указывать адрес sitemap.xml, директиву host вытеснили канонические адреса.

Где находится файл robots.txt

Файл всегда должен располагаться на хостинге, в корне сайта. Например, у нас это выглядит так:

расположение файла robots на хостинге

Чтобы проверить текущее содержимое файла на сайте, в адресной строке следует ввести:

mysite.ru/robots.txt

где mysite.ru — доменное имя проверяемого сайта

Расположение robots в CMS

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

Расположение robots в wordpress

Например, в панели управления wordpress нет отдельного пункта меню для создания и редактирования файла. Поэтому его модификацию можно осуществлять 2 способами:

  1. редактирование с хостинга,
  2. редактирование с использованием плагинов.

Редактирование robots.txt через плагин yoast

Рассмотрим создание и редактирование файла robots.txt в wordpress с помощью плагина yoast. Для того, чтобы создать или редактировать файл в данном плагине необходимо:

  1. установить плагин,
  2. перейти в настройки плагина,
  3. выбрать пункт инструменты,
  4. редактор файлов.

где найти файл robots в yoast на wordpress

В случае, если файл робот создается через плагин впервые, yoast сообщит, что файл отсутсвует, несмотря на то, что файл может существовать. Тем не менее, если планируется редактирование файла robots из административной панели wordpress, следует нажать на кнопку создания:


создание файла robots в панели yoast

После нажатия кнопки можно увидеть базовое содержимое файла, которое можно редактировать:

изменение robots через плагин yoast на wordpress

После редактирования следует сохранить изменения.

Расположение robots.txt в tilda

Tilda самостоятельно генерирует файл робота и при этом не дает возможности редактирования, о чем поддержка сообщает в своей вопросно-ответной системе. Сегодня единственным решение в области редактирования файла robots.txt — экспорт проекта на собственный хостинг. После экспорта появится возможность управления файлом робота.

Расположение robots.txt в 1С-Битрикс

В 1С-Битрикс доступ к файлу robots из админ-панели существует. Для того, чтобы управлять файлом робота следует пройти по пути:

Маркетинг > Поисковая оптимизация > Настройка robots.txt

Проверка файла роботс

Для проверки файлов робота у поисковика Яндекс есть валидаторы:

  1. Проверка robots Яндекс,
  2. Проверка robots Google (инструмента нет).

Синтаксис

Общий синтаксис для записей файла роботс:

#комментарий
[Имя директивы]:<необязательный пробел>[выражение]

Правила для файла и синтаксиса

Правила для файла

  1. На сайте может быть только 1 такой файл;
  2. Файл должен располагаться в корне сайта;
  3. Название файла работа пишется прописными (маленькими буквами): robots.txt (Robots.txt, ROBOTS.txt неверные названия);
  4. Размер файла robots не должен превышать 500 КБ (500 килобайт);
  5. Кодировка файла должна быть UTF-8 (которая включает коды символов ASCII), другие наборы символов использовать нельзя;
  6. Правила указанные в файле robots действительны только для того хоста, на котором расположен данный файл;
  7. Файл robots должен быть доступен (код ответа сервера при обращении должен быть 200 ОК).

Правила для синтаксиса

  1. Каждая новая директива должна начинаться с новой строки;
  2. Перед директивой не должно быть пробелов/спецсимволов;
  3. Для комментариев используется спецсимвол: #;
  4. Каждая новая строка с комментарием должна начинаться со специсимвола: #;
  5. Файл robots без содержимого разрешает индексацию всего сайта;
  6. Все данные для одной директивы должны размещаться на одной строке;
  7. Пустая строка завершает блок инструкций для текущего User-Agent;
  8. При отсутсвии пустой строки, разделяющей User-Agent'ов, учитываться будет только первый;
  9. При указании блоков правил для User-Agent: * и User-Agent: YandexBot, будет использован User-Agent: YandexBot ;
  10. Все директивы проверяются сверху вниз по порядку.

Приоритеты

  1. Проверка данных файла robots.txt;
  2. Проверка метаданных на страницах <meta name="robots" content="">.

Данные для роботов могут отменяться последним изменением, а так как robots.txt проверяется первым, то если в файле robots.txt указано:

#для всех роботов закрыть весь сайт
User-Agent: *
Disallow: /

но при этом на всех страницах сайта будет указано:

<meta name="robots" content="index, follow"/>

тогда сайт может быть проиндексирован.

Директивы robots.txt

Директивы определяют задачи, которые требуется решать с помощью файла robots.txt.

Директива Функция
User-Agent Указание имени поискового робота
Allow Открыть для индексации
Disallow Закрыть для индексации
Sitemap Указание адреса для карты сайта (sitemap.xml)
Clean-param Указание роботу, что страницы имеют параметры: GET, utm (ТОЛЬКО ДЛЯ ЯНДЕКС)
Crawl-delay Указание в секундах скорость загрузки одной страницы до начала загрузки следующей (неактуально)
Host Указывает основную версию сайта (может встречаться, однако сегодня неактуально)

Стоит обратить внимание на директивы Host, Crawl-delay — не поддерживаются с 2018 года, а директива Clean-param используется только ПС Яндекс.

Директива User-Agent

Директива User-Agent служит указателем правил для конкретного поискового агента. Примеры использования директивы User-Agent для различных поисковых роботов:

#Для всех поисковых роботов
User-Agent: * 

#Основной робот Яндекса
User-Agent: YandexBot

#Основной робот Google
User-Agent: Googlebot

#Основной робот Google новостей
User-agent: Googlebot-News

Поисковых агентов существует большое множество. Некоторые поисковые роботы могут игнорировать инструкции, которые указаны в файле роботс. Список имен ботов для поисковых систем Yandex и Google, которые не игнорируют правила файла robots.txt позволит производить более тонкую настройку правил индексации.

Директива Allow

Директива Allow задает правила для открытия страниц и(или) их содержимого для индексации. Примеры использования директивы Allow:

#для всех роботов открыть весь сайт
User-Agent: *
Allow: /

#для робота Яндекс открыть страницу catalog
User-Agent: YandexBot
Allow: /catalog

#для всех роботов открыть страницу каталог и все вложенные адреса
User-Agent: YandexBot
Allow: /catalog/

Директива Disallow

Одна из самых частоиспользуемых директив, которая запрещает индексацию поисковыми роботами.

#для всех роботов открыть весь сайт
User-Agent: *
Allow: /

#запретить индексацию для основного бота Яндекс
User-Agent: YandexBot
Disallow: /

Зачем закрывать определенного бота

Закрытие определенного бота может быть использовано в различных ситуациях. Рассмотрим пример на гипотетическом проекте с региональной привязкой к поддоменам.

Дано: основной сайт с доменным адресом:

seobutstore.ru

Который имеет поддомены со соответствующей привязкой городов:

msk.seobutstore.ru
spb.seobutstore.ru
ekb.seobutstore.ru
...

Для Яндекса, в вебмастере можно указать каждому поддомену свой город, и добавить возможность индексации (для каждого поддомена свой файл robots.txt):

User-Agent: YandexBot
Allow: /

Для Google подобное решение может оказаться не всегда понятным, что может приводить к выбрасыванию поддоменов из выдачи. Это связано с городами России, которые Гугл не всегда корректно разбирает. Поэтому для каждого поддомена и Googlebot (основного индексирующего бота Google), можно добавить запись:

User-Agent: Googlebot
Disallow: / 

В результате для каждого поддомена (для каждого свой файл робота) получится подобный robots.txt:

User-Agent: *
Allow: /

User-Agent: YandexBot
Allow: /

User-Agent: Googlebot
Disallow: /

При этом, для основного домена запись robots.txt будет выглядеть так:

User-Agent: *
Allow: /

User-Agent: YandexBot
Disallow: /

User-Agent: Googlebot
Allow: /

Таким образом, поисковик Яндекс будет индексировать только поддомены, а Google только основной домен и не будет создавать проблем.

Директива Sitemap

Директива sitemap необходима для указания карты сайта и используется в таком формате:

#Пример с одной картой
User-Agent: *
Allow: /
Sitemap: https://seobut.com/sitemap.xml

Обычно для современных проектов создаются составные карты, для которых достаточно указать основную. Но для понимания допустим вариант указания нескольких карт, например:

#пример указания нескольких карт
User-Agent: *
Allow: /
Sitemap: https://seobut.com/sitemap.xml
Sitemap: https://seobut.com/stitemap-blog.xml

Для показа контента сайта в ленте Google news генерируется и указывается отдельная карта сайта со своими правилами, тогда файл robots может выглядеть так:

#обычная карта
User-Agent: *
Sitemap: https://seobut.com/sitemap.xml

#карта для google новостей
User-Agent: Googlebot-News
Allow: /
Sitemap: https://seobut.com/sitemap-news.xml

Директива Clean-param

Только для поисковой системы яндекс

Директива Clean-param необходима для снижения нагрузки на сайт, ускорения индексации полезного контента с помощью исключения страниц-дублей с одинаковым и(или) бесполезным контетом. Чаще всего исключаемые страницы на сайте возникают из-за наличия: страниц результатов поиска,  utm меток, страниц с GET-параметрами. Данная директива работает только ботами Яндекс, для Google используются канонические адреса и(или) директива Disallow.

Синтаксис директивы Clean-param:

Clean-param:<необязательный пробел>[p][&p1&p2&pN]<пробел>[path]

где

[p] - неизменный игнорируемый параметр,
[&p1&p2&pN] - дополнительные игнорируемые параметры,
[path] - адрес раздела, который содержит параметры,

Например, необходимо на каждом разделе закрыть все страницы с umt-метками:

User-Agent: Yandex
Clean-param: utmstat

Таким образом будут закрыты все страницы, которые содержат параметр utmstat, например:

seobut.com/?utmstat=...
seobut.com/publications/?utmstat=...
seobut.com/publications/fail-robots/?utmstat=...

Рассмотрим пример закрытия поисковых страниц сайта через Clean-param. Имеется страница поиска с запросом seo:
https://seobut.com/search/search_do/?search_string=seo&search_types=56

Как можно увидеть, запрос состоит из двух параметров. Именно эти 2 параметра станут маркерами закрытия индексации, которую можно реализовать так:

User-Agent: Yandex
Clean-param: search_string&search_types /search/search_do/

Важно понимать, что амперсант (&), в контексте данной инструкции, означает "и". То есть, чтобы поисковая система исключила подобные страницы из индекса, робот должен встретить оба параметра в строке URL.

Правильный файл robots.txt

Правильный файл robots.txt определяется архитектурой адресации на сайте, а так же наличием или отсутствием различных параметров: get, utm. Самый правильный файл должен содержать минимум директив. Это означает, что веб-проект самодостаточен. Например, в нашем случае, правильный файл robots выглядит так:

User-Agent: *
Allow: /
Disallow: /?
Disallow: /*?
Disallow: /policy
Sitemap: seobut.com/sitemap.xml

Здесь для всех поисковых роботов сайт полностью открывается для индексации, указывается карта сайта, при этом закрываются страницы с параметрами и политика.

В зависимости от организации архитектуры веб-сайта, robots.txt могут отличаться. Сайты могут работать на готовой cms, либо на фреймворке, следовательно способы регулирования выдачи могут отличаться.

Генераторы robots.txt

Генераторы файла robots.txt — инструменты, которые позволяют ввести вводные данные и получить готовый список директив, например:

  1. Генератор от pr-cy.ru
  2. Генератор от случайного агенства
  3. Генератор от случайного агенства-2

Однако, стоит понимать, что необходим понимать что и каким образом закрывается на сайте.

Например, логичное с одной стороны закрытие GET-параметров, может привести к потери качественных страниц, которые уже занимают хорошие позиции в индексе. Другой пример — закрытие страниц пагинации, которые так же хорошо могут отдаваться в поиске. Поэтому, до внесения изменений в robots с помощью генераторов, следует детально изучить выдачу, а так же способы формирования контента на рабочем проекте.

В итоге

Файл robots.txt это текстовый файл, который содержит инструкции для поисковых роботов. Инструкции позволяют избежать склеек, уменьшить количество мусорных страниц в индексе, снизить нагрузку на сервер, ускорить индексацию страниц и решать различные логические и технические бизнес-задачи. Содержимое файла robots.txt определяет архитектурой роутов на сайте.

Понравилась публикация?

Подпишитесь и получайте лучшие публикации на темы поискового продвижения и маркетинга