Файл robots.txt

22 июня 2023 года, 02:43

Файл 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.txt

Для того чтобы отредактировать файл роботс, следует:

  1. зайти на хостинг, 
  2. найти в корне сайта файл с именем robots.txt, 
  3. если данный файл отсутсвует, создать его, 
  4. открыть любым редактором текста, 
  5. написать необходимые инстуркции, 
  6. сохранить, 
  7. загрузить с заменой.

Если ваш сайт на готовой cms и файлом робота управляет плагин, то можно столкнуться с проблемой, когда редактирование файла вручную не к чему не приводит.

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

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

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

В панели управления wordpress нет отдельного пункта меню для создания и редактирования файла robots.txt. Поэтому его модификацию можно осуществлять 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: Yandex

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

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

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

Директива Allow

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

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

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

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

Директива закрытия Disallow

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

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

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

#закрыть файл с определенным расширением
User-Agent: *
Disallow: /upload/*.jpg

#закрыть любой url который содержит slovo
User-Agent: *
Disallow: *slovo*

#закрыть все url с параметрами
User-Agent: *
Disallow: *?*

#закрыть get параметр
User-Agent: *
Disallow: *?get=*

#закрыть раздел catalog
User-Agent: *
Disallow: /catalog

#закрыть конкретную страницу page
User-Agent: *
Disallow: /page$

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

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

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

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 в 2022

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

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

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

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

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

В базовом представлении плагин yoast генерирует такой файл:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Но вебмастера обычно используют расширенный вариант:

User-agent: *                    # для всех поисковиков
Disallow: /wp-admin              # админка
Disallow: /wp-includes           # базовая папка wp
Disallow: /wp-content/plugins    # плагины wp
Disallow: /wp-content/cache      # кеш wp
Disallow: /wp-json/              # файлы конфигурации
Disallow: /xmlrpc.php            # XML-RPC старьё
Disallow: /readme.html           # можно удалить
Disallow: /*?                    # GET-параметры
Disallow: /?s=                   # поиск
Allow: /wp-includes/*.css        # открыть скрипты и стили
Allow: /wp-includes/*.js
Allow: /wp-content/plugins/*.css
Allow: /wp-content/plugins/*.js
Allow: /*.css
Allow: /*.js
Sitemap: https://seobut.com/sitemap.xml

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

Правильный robots.txt 1С битрикс

Внимательно отнеситесь к данным директивам, несмотря на то, что большее количество директив описано, если на 1С битриксе вносились правки в логику модулей, то некоторых директив может не хватать.

User-agent: *                # правила для всех роботов
Disallow: /cgi-bin           # папка на хостинге
Disallow: /bitrix/           # системные файлы битрикса
Disallow: *bitrix_*=         # GET-запросы битрикса
Disallow: /local/            # папка с системными файлами битрикса
Disallow: /*index.php$       # дубли всех index.php
Disallow: /auth/             # авторизация
Disallow: *auth=             # авторизация с любого раздела
Disallow: /personal/         # личный кабинет
Disallow: *register=         # регистрация
Disallow: *forgot_password=  # забыли пароль
Disallow: *change_password=  # изменить пароль
Disallow: *login=            # логин
Disallow: *logout=           # выход
Disallow: */search/          # базовая страница поиска
Disallow: *action=           # действия
Disallow: *print=            # печать
Disallow: *?new=Y            # новая страница
Disallow: *?edit=            # редактирование страницы
Disallow: *?preview=         # предпросмотр страницы
Disallow: *backurl=          # страницы при переходе из админки
Disallow: *back_url=         # страницы при переходе из админки
Disallow: *back_url_admin=   # страницы при переходе из админки
Disallow: *captcha           # все каптчи
Disallow: */feed             # все фиды
Disallow: */rss              # конкретный rss фид
Disallow: *?FILTER*=         # здесь и ниже различные популярные параметры фильтров
Disallow: *?ei=
Disallow: *?p=               #базовые страницы пагинации
Disallow: *?q=               #базовые страницы поиска
Disallow: *?tags=            #базовые страницы с тегами
Disallow: *B_ORDER=
Disallow: *BRAND=            #опции фильтрации здесь и ниже
Disallow: *CLEAR_CACHE=
Disallow: *ELEMENT_ID=
Disallow: *price_from=
Disallow: *price_to=
Disallow: *PROPERTY_TYPE=
Disallow: *PROPERTY_WIDTH=
Disallow: *PROPERTY_HEIGHT=
Disallow: *PROPERTY_DIA=
Disallow: *PROPERTY_OPENING_COUNT=
Disallow: *PROPERTY_SELL_TYPE=
Disallow: *PROPERTY_MAIN_TYPE=
Disallow: *PROPERTY_PRICE[*]=
Disallow: *S_LAST=
Disallow: *SECTION_ID=
Disallow: *SECTION[*]=
Disallow: *SHOWALL=
Disallow: *SHOW_ALL=
Disallow: *SHOWBY=
Disallow: *SORT=
Disallow: *SPHRASE_ID=
Disallow: *TYPE=
Disallow: *utm*=             # ссылки с utm-метками
Disallow: *openstat=         # ссылки с метками openstat
Disallow: *from=             # ссылки с метками from
Allow: */upload/             # открываем папку с файлами
Allow: /bitrix/*.js          # открываем скрипты и изображения
Allow: /bitrix/*.css
Allow: /local/*.js
Allow: /local/*.css
Allow: /local/*.jpg
Allow: /local/*.jpeg
Allow: /local/*.png
Allow: /local/*.gif
Sitemap: https://seobut.com/sitemap.xml

Последняя директива Sitemap, содержит адрес нашей карты, не забудьте заменить путь.

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

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

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

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

В итоге

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

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

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