Как правильно написать robots txt для сайта

Оптимизируйте свои подборки

Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

Файл robots.txt находится в корневом каталоге вашего сайта. Например, на сайте www.example.com он находится по адресу www.example.com/robots.txt. Он представляет собой обычный текстовый файл, который соответствует стандарту исключений для роботов
и содержит одно или несколько правил. Каждое из них запрещает или разрешает всем поисковым роботам или одному определенному из них доступ к определенному пути в домене или субдомене, в котором размещается файл robots.txt. Все файлы считаются доступными для сканирования, если вы не указали иное в файле robots.txt.

Ниже приведен пример простого файла robots.txt с двумя правилами.

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: https://www.example.com/sitemap.xml

Пояснения:

  1. Агенту пользователя с названием Googlebot запрещено сканировать любые URL, начинающиеся с https://example.com/nogooglebot/.
  2. Любым другим агентам пользователя разрешено сканировать весь сайт. Это правило можно опустить, и результат будет тем же. По умолчанию агенты пользователя могут сканировать сайт целиком.
  3. Файл Sitemap этого сайта находится по адресу https://www.example.com/sitemap.xml.

Более подробные сведения вы найдете в разделе Синтаксис.

Основные рекомендации по созданию файла robots.txt

Работа с файлом robots.txt включает четыре этапа.

  1. Создайте файл robots.txt
  2. Добавьте в него правила
  3. Опубликуйте готовый файл в корневом каталоге своего сайта
  4. Протестируйте свой файл robots.txt

Как создать файл robots.txt

Создать файл robots.txt можно в любом текстовом редакторе, таком как Блокнот, TextEdit, vi или Emacs. Не используйте офисные приложения, поскольку зачастую они сохраняют файлы в проприетарном формате и добавляют в них лишние символы, например фигурные кавычки, которые не распознаются поисковыми роботами. Обязательно сохраните файл в кодировке UTF-8, если вам будет предложено выбрать кодировку.

Правила в отношении формата и расположения файла

  • Файл должен называться robots.txt.
  • На сайте должен быть только один такой файл.
  • Файл robots.txt нужно разместить в корневом каталоге сайта. Например, на сайте https://www.example.com/ он должен располагаться по адресу https://www.example.com/robots.txt. Он не должен находиться в подкаталоге (например, по адресу https://example.com/pages/robots.txt). Если вы не знаете, как получить доступ к корневому каталогу сайта, или у вас нет соответствующих прав, обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например теги meta.
  • Файл robots.txt можно разместить по адресу с субдоменом (например, https://website.example.com/robots.txt) или нестандартным портом (например, https://example.com:8181/robots.txt).
  • Действие robots.txt распространяется только на пути в пределах протокола, хоста и порта, где он размещен. Иными словами, правило по адресу https://example.com/robots.txt действует только для файлов, относящихся к домену https://example.com/, но не к субдомену, такому как https://m.example.com/, или другим протоколам, например http://example.com/.
  • Файл robots.txt должен представлять собой текстовый файл в кодировке UTF-8 (которая включает коды символов ASCII). Google может проигнорировать символы, не относящиеся к UTF-8, в результате чего будут обработаны не все правила из файла robots.txt.

Как написать правила в файле robots.txt

Правила – это инструкции для поисковых роботов, указывающие, какие разделы сайта можно сканировать. Добавляя правила в файл robots.txt, учитывайте следующее:

  • Файл robots.txt состоит из одной или более групп (наборов правил).
  • Каждая группа может включать несколько правил, по одному на строку. Эти правила также называются директивами. Каждая группа начинается со строки User-agent, определяющей, какому роботу адресованы правила в ней.
  • Группа содержит следующую информацию:
    • К какому агенту пользователя относятся директивы группы.
    • К каким каталогам или файлам у этого агента есть доступ.
    • К каким каталогам или файлам у этого агента нет доступа.
  • Поисковые роботы обрабатывают группы по порядку сверху вниз. Агент пользователя может следовать только одному, наиболее подходящему для него набору правил, который будет обработан первым. Если к одному агенту пользователя относится несколько групп, все они будут объединены в одну.
  • По умолчанию агенту пользователя разрешено сканировать любые страницы и каталоги, доступ к которым не заблокирован правилом disallow.
  • Правила должны указываться с учетом регистра. К примеру, правило disallow: /file.asp распространяется на URL https://www.example.com/file.asp, но не на https://www.example.com/FILE.asp.
  • Символ # означает начало комментария. Во время обработки комментарии игнорируются.

Правила в файлах robots.txt, поддерживаемые роботами Google

  • user-agent: (обязательное правило, может повторяться в пределах группы). Определяет, к какому именно автоматическому клиенту (поисковому роботу) относятся правила в группе. С такой строки начинается каждая группа правил. Названия агентов пользователя Google перечислены в этом списке.
    Используйте знак *, чтобы заблокировать доступ всем поисковым роботам (кроме роботов AdsBot, которых нужно указывать отдельно). Примеры:

    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all crawlers except AdsBot (AdsBot crawlers must be named explicitly)
    User-agent: *
    Disallow: /
  • disallow: (каждое правило должно содержать не менее одной директивы disallow или allow). Указывает на каталог или страницу относительно корневого домена, которые нельзя сканировать агенту пользователя. Если правило касается страницы, должен быть указан полный путь к ней, как в адресной строке браузера. В начале строки должен быть символ /. Если правило касается каталога, строка должна заканчиваться символом /.
  • allow: (каждое правило должно содержать не менее одной директивы disallow или allow). Указывает на каталог или страницу относительно корневого домена, которые разрешено сканировать агенту пользователя. Используется для того, чтобы переопределить правило disallow и разрешить сканирование подкаталога или страницы в закрытом для обработки каталоге. Если правило касается страницы, должен быть указан полный путь к ней, как в адресной строке браузера. В начале строки должен быть символ /. Если правило касается каталога, строка должна заканчиваться символом /.
  • sitemap: (необязательная директива, которая может повторяться несколько раз или не использоваться совсем). Указывает на расположение файла Sitemap, используемого на сайте. URL файла Sitemap должен быть полным. Google не перебирает варианты URL с префиксами http и https или с элементом www и без него. Из файлов Sitemap роботы Google получают информацию о том, какой контент нужно сканировать и как отличить его от материалов, которые можно или нельзя обрабатывать.
    Подробнее…

    Примеры:

    Sitemap: https://example.com/sitemap.xml
    Sitemap: https://www.example.com/sitemap.xml

Все правила, кроме sitemap, поддерживают подстановочный знак * для обозначения префикса или суффикса пути, а также всего пути.

Строки, не соответствующие ни одному из этих правил, игнорируются.

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

Как загрузить файл robots.txt

Сохраненный на компьютере файл robots.txt необходимо загрузить на сайт и сделать доступным для поисковых роботов. Специального инструмента для этого не существует, поскольку способ загрузки зависит от вашего сайта и серверной архитектуры. Обратитесь к своему хостинг-провайдеру или попробуйте самостоятельно найти его документацию (пример запроса: «загрузка файлов infomaniak»).

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

Как протестировать разметку файла robots.txt

Чтобы убедиться, что загруженный файл robots.txt общедоступен, откройте в браузере окно в режиме инкогнито (или аналогичном) и перейдите по адресу файла. Пример: https://example.com/robots.txt. Если вы видите содержимое файла robots.txt, то можно переходить к тестированию разметки.

Для этой цели Google предлагает два средства:

  1. Инструмент проверки файла robots.txt в Search Console. Этот инструмент можно использовать только для файлов robots.txt, которые уже доступны на вашем сайте.
  2. Если вы разработчик, мы рекомендуем воспользоваться библиотекой с открытым исходным кодом, которая также применяется в Google Поиске. С помощью этого инструмента файлы robots.txt можно локально тестировать прямо на компьютере.

Как отправить файл robots.txt в Google

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

Полезные правила

Ниже перечислено несколько правил, часто используемых в файлах robots.txt.

Полезные правила
Это правило запрещает сканировать весь сайт.

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

User-agent: *
Disallow: /
Это правило запрещает сканировать каталог со всем его содержимым.

Чтобы запретить сканирование целого каталога, поставьте косую черту после его названия.

User-agent: *
Disallow: /calendar/
Disallow: /junk/
Disallow: /books/fiction/contemporary/
Это правило позволяет сканировать сайт только одному поисковому роботу.

Сканировать весь сайт может только робот googlebot-news.

User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Это правило разрешает сканирование всем поисковым роботам за исключением одного.

Робот Unnecessarybot не может сканировать сайт, а все остальные могут.

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Это правило запрещает сканирование отдельной страницы.

Например, можно запретить сканирование страниц useless_file.html и other_useless_file.html, размещенных в каталоге https://example.com/useless_file.html и junk соответственно.

User-agent: *
Disallow: /useless_file.html
Disallow: /junk/other_useless_file.html

Это правило запрещает сканировать весь сайт за исключением определенного подкаталога.

Поисковым роботам предоставлен доступ только к подкаталогу public.

User-agent: *
Disallow: /
Allow: /public/

Это правило скрывает определенное изображение от робота Google Картинок.

Например, вы можете запретить сканировать изображение dogs.jpg.

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Это правило скрывает все изображения на сайте от робота Google Картинок.

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

User-agent: Googlebot-Image
Disallow: /

Это правило запрещает сканировать все файлы определенного типа.

Например, вы можете запретить роботам доступ ко всем файлам .gif.

User-agent: Googlebot
Disallow: /*.gif$

Это правило запрещает сканировать весь сайт, но при этом он может обрабатываться роботом Mediapartners-Google

Робот Mediapartners-Google сможет получить доступ к удаленным вами из результатов поиска страницам, чтобы подобрать объявления для показа тому или иному пользователю.

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Воспользуйтесь подстановочными знаками * и $, чтобы сопоставлять URL, которые заканчиваются определенной строкой.

Например, вы можете исключить все файлы .xls.

User-agent: Googlebot
Disallow: /*.xls$

Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.

Последнее обновление: 2023-02-24 UTC.

Robots.txt — документ, который нужен для индексирования и продвижения сайта. С помощью этого файла владелец сайта подсказывает поисковым системам, какие разделы ресурса нужно учитывать, а какие — нет. Объясняю особенности его составления и настройки такого текстового файла.

Кому нужен robots.txt

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

Например, контентным ресурсам или медиа можно работать без robots.txt — тут все страницы участвуют в индексации.

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

  • Админ-панели сайта: пути, которые начинаются с /user, /admin, /administrator и т.д.
  • Пустые страницы ресурса: если на них нет контента, в индексации они не помогут.
  • Формы регистрации.
  • Личные страницы в интернет-магазинах: кабинеты пользователей, корзины и т.д.

Как настроить файл robots.txt

Начну с основных параметров.

User-agent: Yandex
Disallow: catalog/
Allow: /catalog/cucumbers/
Sitemap: http://www.example.com/sitemap.xml

User-agent — указывает название робота, к которому применяется правило. Например, User-agent: Yandex означает, что правило применяется к роботу Яндекса.

А user-agent: * означает, что правило применяется ко всем роботам. Но о звёздочках поговорим ниже.

Основные типы роботов, которые можно указать в User-agent:

  • Yandex. Все роботы Яндекса.
  • YandexBot. Основной робот Яндекса
  • YandexImages. Индексирует изображения.
  • YandexMedia. Индексирует видео и другие мультимедийные данные.
  • Google. Все роботы Google.
  • Googlebot. Основной робот Google.
  • Googlebot-Image. Индексирует изображения.

Disallow. Указывает на каталог или страницу ресурса, которые роботы индексировать не будут. Если нельзя индексировать конкретную страницу, например, определённый раздел в каталоге, нужно указывать полный путь к ней — как в поисковой строке браузера. 

В начале строки должен быть символ /. Если правило касается каталога, строка должна заканчиваться символом /.

Например, disallow: /catalog/gloves. Так мы запретим индексацию раздела с перчаткам.

Если оставить disallow пустым, роботы будут индексировать все страницы сайта.

Allow. Указывает на каталог или страницу, которые можно сканировать роботу. Его используют, чтобы внести исключения в пункт disallow и разрешить сканирование подкаталога или страницы в каталоге, который закрыт для обработки. 

Если требуется индексировать конкретную страницу, нужно указывать к ней полный путь. Как и в disallow. Например, allow: /story/marketing. Так мы разрешили индексировать статью о маркетинге.

Если правило касается каталога, строка должна заканчиваться символом /.

Если allow пустой, робот не будет индексировать никакие страницы.

Sitemap. Необязательная директива, которая может повторяться несколько раз или не использоваться совсем. Её используют, чтобы описать структуру сайта и помочь роботам индексировать страницы.

Лендингам и небольшим сайтам sitemap не нужен. А вот таким ресурсам без sitemap не обойтись:

  • Cайтам без хлебных крошек (навигационных цепочек).
  • Большим ресурсам. Например, если сайт содержит большой объём мультимедиа или новостного контента.
  • Сайтам с глубокой вложенностью. Например, «Главная/Каталог/Перчатки/Резиновые».
  • Молодым ресурсам, на которые мало внешних ссылок, — их роботам сложно найти.
  • Сайтам с большим архивом страниц, которые изолированы или не связаны друг с другом.

Файл нужно прописывать в XML-формате. Создание sitemap — тема для отдельной статьи. Подробную инструкцию читайте на Google Developers или в Яндекс.Справке.

Основные моменты robots.txt разобрали. Теперь расскажу про дополнительные параметры, которые используют в коде.

Для начала посмотрим на robots.txt Unisender. Для этого в поисковой строке браузера пишем Unisender.com/robots.txt.

По такой же формуле можно проверять файлы на всех сайтах: URL сайта + домен/robots.txt.

pic

Robots.txt Unisender отличается от файла, который я приводил в пример. Дело в том, что здесь использованы дополнительные параметры:

Директива # (решётка) — комментарий. Решётки прописывают для себя, а поисковые роботы комментариев не видят.

User-agent: Yandex
Allow: /example/* # разрешает ‘/example/blog’
                               # разрешает ‘/example/blog/test’
Звёздочку роботы видят, а решётку — нет

Директива * (звёздочка) — любая последовательность символов после неё. 

Например, если поставить звёздочку в поле disallow, то всё, что находится на её месте, будет запрещено.

User-agent: Yandex
Disallow: /example/* # запрещает ‘/example/blog’
                                 # запрещает ‘/example/blog/test’
Disallow: */shop        # запрещает не только ‘/shop’,
                                   # но и ‘/example/shop’

Также и с полем allow: всё, что стоит на месте звёздочки, — разрешено для индексации.

User-agent: Yandex
Allow: /example/*   # разрешает ‘/example/blog’
                               # разрешает ‘/example/blog/test’
Allow: */shop         # разрешает не только ‘/shop’,
                               # но и ‘/example/shop’

Например, у Google есть особенность: компания рекомендует не закрывать от поисковых роботов файлы с css-стилями и js-скриптами. Вот как это нужно прописывать:

User-agent: Googlebot
Disallow: /site
Allow: *.css
Allow: *.js

Директива $ (знак доллара) — точное соответствие указанному параметру.
Например, использование доллара в disallow запретит доступ к определённому пути.

User-agent: Yandex
Disallow: /example      # запрещает ‘/example’,
                                     # запрещает ‘/example.html’
Disallow: /example$ # запрещает ‘/example’,
                                # не запрещает ‘/example.html’
                              # не запрещает ‘/example1’
                              # не запрещает ‘/example-new’

Таким способом можно исключить из сканирования все файлы определённого типа, например, GIF или JPG. Для этого нужно совместить * и $. Звёздочку ставим до расширения, а $ — после.

User-agent: Yandex
Disallow: / *.gif$    # вместо * могут быть любые символы,
                               # $ запретит индексировать файлы gif

Директива Clean-param — новый параметр Яндекс-роботов, который не будет сканировать дублированную информацию и поможет быстрее анализировать ресурс.

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

www.example.com/dir/get_card.pl?ref=site_1&card_id=10
www.example.com/dir/get_card.pl?ref=site_2&card_id=10

Параметр ref нужен, чтобы отследить, с какого ресурса сделан запрос. Он не меняет содержимое страницы, значит два адреса покажут одну и ту же страницу с книгой card_id=10. Поэтому директиву можно указать так:

User-agent: Yandex
Disallow:
Clean-param: ref /dir/get_card.pl

Робот Яндекса сведёт страницы к одной: www.example.com/dir/get_card.pl?card_id=10

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

User-agent: Yandex
Disallow:
Clean-param: utm

Директива Crawl-delay — устанавливает минимальный интервал в секундах между обращениями робота к сайту. Это помогает снизить нагрузку на сервер ресурса. Чем выше указанное значение, тем меньше страниц робот загрузит за сессию.

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

User-agent: Yandex
Disallow:
Crawl-delay: 0.5

Для Яндекса максимальное значение в crawl-delay — 2. Более высокое значение можно установить инструментами Яндекс.Вебмастер.

Для Google-бота можно установить частоту обращений в панели вебмастера Search Console.

Директива Host — инструкция для робота Яндекса, которая указывает главное зеркало сайта. Нужна, если у сайта есть несколько доменов, по которым он доступен. Вот как её указывают:

User-agent: Yandex
Disallow: /example/
Host: example.ru

Если главное зеркало сайта — домен с протоколом HTTPS, его указывают так:

Как создать robots.txt

Способ 1. Понадобится текстовый редактор: блокнот, TextEdit, Vi, Emacs или любой другой. Не используйте приложения Microsoft Office, потому что они сохраняют файлы в неподходящем формате или добавляют в них лишние символы, которые не распознаются поисковыми роботами.

Способ 2. Создать на CMS с помощью плагинов — в этом случае robots.txt установится сам.

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

Способ 3. Воспользоваться генератором robots.txt — век технологий всё-таки. 

Сгенерировать файл можно на PR-CY, IKSWEB, Smallseotools.

pic

Создаём robots.txt на PR-CY

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

Когда создадите текстовый файл, сохраните его в кодировке utf-8. Иначе поисковые роботы не смогут прочитать документ. После создания загрузите файл в корневую директорию на сайте хостинг-провайдера. Корневая директория — это папка public.html.

pic

Папка, в которой нужно искать robots.txt. Источник

Если файла нет, его придётся создавать самостоятельно.

pic

Как сделать файл robots.txt

Требования, которым должен соответствовать robots.txt:

  1. Каждая директива начинается с новой строки.
  2. Одна директива в строке, сам параметр также написан в одну строку.
  3. В начале строки нет пробелов.
  4. Нет кавычек в директивах.
  5. Директивы не нужно закрывать точкой или точкой с запятой.
  6. Файл должен называться robots.txt. Нельзя называть его Robots.txt или ROBOTS.TXT.
  7. Размер файла не должен превышать 500 КБ.
  8. robots.txt должен быть написан на английском языке. Буквы других алфавитов не разрешаются.

Если файл не соответствует одному из требований, весь сайт считается открытым для индексирования.

Как проверить правильность Robots.txt

Проверить robots.txt помогают сервисы от Яндекс и Google. В Яндексе можно проверять файл даже без сайта — например, если вы написали robots.txt, но пока не загрузили его на сайт.

Вот как это сделать:

  1. Перейдите на Яндекс.Вебмастер
  2. В открывшееся окно вставьте текст robots.txt и нажмите проверить.

pic

Проверяем robots.txt

Если файл написан правильно, Яндекс.Вебмастер не увидит ошибок.

pic

Результаты анализа robots.txt

А если увидит ошибку — подсветит её и опишет возможную проблему.

pic

Так вебмастер помогает найти ошибки

На Яндекс.Вебмастер можно проверить robots.txt и по URL сайта. Для этого нужно указать запрос: URL сайта/robots.txt. Например, unisender.com/robots.txt.

pic

Unisender — robots.txt без ошибок

Ещё один вариантпроверить файл robots.txt через Google Search Console. Но сначала нужно подтвердить владение сайтом. Пошаговый алгоритм проверки robots.txt описан в видеоинструкции:

ЭКСКЛЮЗИВЫ ⚡️
Читайте только в блоге Unisender

Поделиться

СВЕЖИЕ СТАТЬИ

Другие материалы из этой рубрики

документ

документ

Не пропускайте новые статьи

Подписывайтесь на соцсети

Делимся новостями и свежими статьями, рассказываем о новинках сервиса

«Честно» — авторская рассылка от редакции Unisender

Искренние письма о работе и жизни. Свежие статьи из блога. Эксклюзивные кейсы и интервью с экспертами диджитала.

unisender

Вебмастер может направить поисковых ботов на страницы, которые считает обязательными для индексирования, и скрыть те, которых в выдаче быть не должно. Для этого предназначен файл robots.txt. Команда сервиса для анализа сайта PR-CY составила гайд об этом файле: для чего он нужен, из каких команд состоит, как составить его по правилам и проверить.

Зачем нужен robots.txt

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

Закрывают обычно дублирующие страницы, служебные, неинформативные, страницы с GET-параметрами или просто неважные для пользователей.

Зачем это нужно:

  • уменьшить количество запросов к серверу;
  • оптимизировать краулинговый бюджет сайта — общее количество страниц, которое за один раз может посетить поисковый бот;
  • уменьшить шанс того, что в выдачу попадут страницы, которые там не нужны.

Как надежно закрыть страницу от ботов

Поисковики не воспринимают robots.txt как список жестких правил, это только рекомендации. Даже если в robots стоит запрет, страница может появиться в выдаче, если на нее ведет внешняя или внутренняя ссылка.

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

Главная страница сайта в выдаче, но описание бот составить не смогГлавная страница сайта в выдаче, но описание бот составить не смог

Если вы точно не хотите, чтобы страница попала в индекс, недостаточно запретить сканирование в файле robots.txt. Один из вариантов, подходящий для служебных страниц, — запаролить ее. Бот не сможет просканировать содержимое страницы, если она доступна только пользователям, авторизованным через логин и пароль.

Если страницы нельзя закрыть паролем, но не хочется показывать их ботам, есть вариант применить директивы «noindex» и «nofollow». Для этого нужно добавить их в секцию <head> HTML-кода страницы:

<meta name="robots" content="noindex, nofollow"/>

Чтобы робот правильно интерпретировал «noindex» и «nofollow» и не добавил страницу в индекс, не закрывайте одновременно доступ к ней в файле robots.txt. Так бот не получит доступа к странице и не увидит запрещающих директив.

Требования поисковых систем к файлу robots.txt

Каким должен быть файл, как его оформить и куда размещать — в этом и Яндекс, и Google солидарны:

  • Формат — только txt.
  • Вес — не превышающий 32 КБ.
  • Название — строго строчными буквами «robots.txt». Никакие другие варианты, к примеру, с заглавной, боты не воспримут.
  • Наполнение — строго латиница. Все записи должны быть на латинице, включая адрес сайта: если он кириллический, его нужно переконвертировать в punycode. Например, после конвертации запись сайта «окна.рф» будет выглядеть как «xn--80atjc.xn--p1ai». Ее и нужно использовать в командах.
  • Исключение для предыдущего правила — комментарии вебмастера. Они могут быть на любом языке, поскольку специалист оставляет их для себя и коллег, а не для поисковых ботов. Для обозначения комментариев используют символ «#». Все, что указано после «#», роботы проигнорируют, поэтому следите, чтобы туда случайно не попали важные команды.
  • Количество файлов robots.txt — должен быть один общий файл на весь сайт вместе с поддоменами. 
  • Местоположение — корневой каталог. У поддоменов файл должен быть таким же, только разместить его нужно в корневом каталоге каждого поддомена.
  • Ссылка на файл — https://example.com/robots.txt (вместо https://example.com нужно указать адрес вашего сайта). 
  • Ссылка на robots.txt должна отдавать код ответа сервера 200 OK.

Подробные рекомендации для robots.txt от Яндекса читайте здесь, от Google — здесь.

Дальше рассмотрим, каким образом можно давать рекомендации ботам.

Как правильно составить robots.txt

Файл состоит из списка команд (директив) с указанием страниц, на которые они распространяются, и адресатов — имён ботов, к которым команды относятся.

Директиву Clean-param воспринимают только боты Яндекса, а в остальном в 2021 году команды для ботов Google и Яндекса одинаковы.

Основные обозначения файла

User-agent — какой бот должен прореагировать на команду. После двоеточия указывают либо конкретного бота, либо обобщают всех с помощью символа *. 

Пример. User-agent: * — все существующие роботы, User-agent: Googlebot — только бот Google. 

Disallow — запрет сканирования. После косого слэша указывают, на что распространяется команда запрета.

Пример:

Disallow: /blog/page-2.html

Пустое поле в Disallow означает разрешение на сканирование всего сайта:

User-agent: *

Disallow:

А эта запись запрещает всем роботом сканировать весь сайт:

User-agent: *

Disallow: /

Если речь идет о новом сайте, проследите, чтобы в файле robots.txt не осталась эта запись, после того как разработчики выложат сайт на рабочий домен.

Эта запись разрешает сканирование боту Google, а всем остальным запрещает:

User-agent: Googlebot

Disallow:

User-agent: *

Disallow: /

Отдельно прописывать разрешения необязательно. Доступным считается всё, что вы не закрыли.

В записях важен закрывающий косой слэш, его наличие или отсутствие меняет смысл:

Disallow: /about/ — запись закрывает раздел «О нас», доступный по ссылке https://example.com/about/

Disallow: /about — закрывает все ссылки, которые начинаются с «/about», включая раздел https://example.com/about/, страницу https://example.com/about/company/ и другие.

Каждому запрету соответствует своя строка, нельзя перечислить несколько правил сразу. Вот неправильный вариант записи:

Disallow: /catalog/blog/photo/

Правильно оформить их раздельно, каждый с новой строки и своим Disallow:

Disallow: /catalog/

Disallow: /blog/

Disallow: /photo/

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

User-agent: *

Allow: /album/photo1.html

Disallow: /album/

А вот и отдельная команда для Яндекса — Clean-param. Директиву используют, чтобы исключить дубли страниц, которые могут появляться из-за GET-параметров или UTM-меток. Clean-param распознают только боты Яндекса. Вместо нее можно использовать Disallow, эту команду понимают в том числе и гуглоботы. 

Допустим, на сайте есть страница page=1 и у нее могут быть такие параметры:

https://example.com/index.php?page=1&sid=2564126ebdec301c607e5df

https://example.com/index.php?page=1&sid=974017dcd170d6c4a5d76ae

Каждый образовавшийся адрес в индексе не нужен, достаточно, чтобы там была общая основная страница. В этом случае в robots нужно задать Clean-param и указать, что ссылки с дополнениями после «sid» в страницах на «/index.php» индексировать не нужно:

User-agent: Yandex

Disallow:

Clean-param: sid /index.php

Если параметров несколько, перечислите их через амперсанд:

Clean-param: sid&utm&ref /index.php

Строки не должны быть длиннее 500 символов. Такие длинные строки — редкость, но из-за перечисления параметров такое может случиться. Если указание получилось сложным и длинным, его можно разделить на несколько. Примеры найдете в Справке Яндекса.

Sitemap — ссылка на карту сайта. Если карты сайта нет, запись не нужна. Сама по себе карта не обязательна, но если сайт большой, то лучше ее создать и дать ссылку в robots, чтобы ботам было проще разобраться в структуре.

Sitemap: https://example.com/sitemap.xml

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

* — предполагает любую последовательность символов после этого знака;

$ — указывает на то, что на этом элементе необходимо остановиться.

Пример. Такая запись:

Disallow: /catalog/category1$

запрещает роботу индексировать страницу site.com/catalog/category1, но не запрещает индексировать страницу site.com/catalog/category1/product1.

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

Настройки файла в инструментеНастройки файла в инструменте

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

Как проверить правильность robots.txt

После создания файла и добавления в корневой каталог будет не лишним проверить, видят ли его боты и нет ли ошибок в записи. У поисковых систем есть свои инструменты: 

  • Найти ошибки в заполнении robots — инструмент от Яндекса. Укажите сайт и введите содержимое файла в поле.
  • Проверить доступность для ботов — инструмент от Google. Введите ссылку на URL с вашим robots.txt.
  • Определить наличие файла robots.txt в корневом каталоге и доступность сайта для индексации — Анализ сайта от PR-CY. В сервисе есть еще 70+ тестов с проверкой SEO, технических параметров, ссылок и другого.

Фрагмент проверки сайта сервисом pr-cy.ru/analysisФрагмент проверки сайта сервисом pr-cy.ru/analysis

В «Важных событиях» отобразятся даты изменения файла.

Оповещения в интерфейсеОповещения в интерфейсе

Правильный robots.txt для разных CMS: примеры готового файла

Файл robots.txt находится в корневой папке сайта. Чтобы создать или редактировать его, нужно подключиться к сайту по FTP-доступу. Некоторые системы управления (например, Битрикс) предоставляют возможность редактировать файл в административной панели.

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

WordPress

У WP много бесплатных плагинов, которые формируют robots.txt. Эта опция предусмотрена в составе общих SEO-плагинов Yoast SEO и All in One SEO, но есть и отдельные, которые отвечают за создание и редактирование файла, например:

  • Robots.txt Editor, 
  • Virtual Robots.txt, 
  • WordPress Robots.txt optimization (+XML Sitemap). 

Пример robots.txt для контентного проекта на WordPress

Это вариант файла для блогов и других проектов без функции личного кабинета и корзины.

User-agent: *      # установили общие правила для роботов

Disallow: /cgi-bin      # закрыли системную папку, которая находится на хостинге

Disallow: /?      # обобщили все параметры запроса на главной странице сайта

Disallow: /wp—      # все специальные WordPress-файлы: /wp-json/, /wp-content/plugins, /wp-includes

Disallow: *?s=      # здесь и далее перечисление запросов поиска

Disallow: *&s=

Disallow: /search/

Disallow: */trackback      # закрыли трекбеки — уведомления о появлении ссылки на статью

Disallow: */feed      # новостные ленты полностью

Disallow: */rss      # rss-ленты 

Disallow: */embed      # все встраивания

Disallow: /xmlrpc.php      # файл API WP

Disallow: *utm*=      # все ссылки, у которых прописаны UTM-метки

Disallow: *openstat=      # все ссылки, у которых прописаны openstat-метки

Allow: */uploads      # открыли доступ к папке с файлами uploads

Allow: /*/*.js      # открыли доступ к js-скриптам внутри /wp-, уточнили /*/ для приоритета

Allow: /*/*.css      # доступ к css-файлам внутри /wp-, также уточнили /*/ для приоритета

Allow: /wp-*.png      # доступ к картинкам в плагинах, папке cache и других в формате png

Allow: /wp-*.jpg      # то же самое для формата jpg

Allow: /wp-*.jpeg      # для формата jpeg

Allow: /wp-*.gif      # и для анимаций в gif

Allow: /wp-admin/admin-ajax.php      # открыли доступ к этому файлу, чтобы не блокировать JS и CSS для плагинов

Sitemap: https://example.com/sitemap.xml      # указали ссылку на карту сайта (вместо https://example.com нужно подставить сой домен)

Пример robots.txt для интернет-магазина на WordPress

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

User-agent: *

Disallow: /cgi-bin

Disallow: /?

Disallow: /wp-

Disallow: /wp/

Disallow: *?s=

Disallow: *&s=

Disallow: /search/

Disallow: */trackback

Disallow: */feed

Disallow: */rss

Disallow: */embed

Disallow: /xmlrpc.php

Disallow: *utm*=

Disallow: *openstat=

Disallow: /cart/

Disallow: /checkout/

Disallow: /*add-to-cart=*

Allow: */uploads

Allow: /*/*.js

Allow: /*/*.css

Allow: /wp-*.png

Allow: /wp-*.jpg

Allow: /wp-*.jpeg

Allow: /wp-*.gif

Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap.xml

1C-Битрикс

В модуле «Поисковая оптимизация» этой CMS начиная с версии 14.0.0 можно настроить управление файлом robots из административной панели сайта. Нужный раздел находится в меню Маркетинг > Поисковая оптимизация > Настройка robots.txt.

Пример robots.txt для сайта на Битрикс

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

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/      # открыли папку, где находятся файлы uploads

Allow: /bitrix/*.js      # здесь и далее открыли скрипты js и css

Allow: /bitrix/*.css

Allow: /local/*.js

Allow: /local/*.css

Allow: /local/*.jpg      # открыли доступ к картинкам в формате jpg и далее в других форматах

Allow: /local/*.jpeg

Allow: /local/*.png

Allow: /local/*.gif

Sitemap: https://example.com/sitemap.xml

OpenCart

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

Пример robots.txt для магазина на OpenCart

CMS OpenCart обычно используют в качестве базы для интернет-магазина, поэтому пример robots заточен под нужды e-commerce.

User-agent: *

Disallow: /*route=account/

Disallow: /*route=affiliate/

Disallow: /*route=checkout/

Disallow: /*route=product/search

Disallow: /index.php?route=product/product*&manufacturer_id=

Disallow: /admin

Disallow: /catalog

Disallow: /system

Disallow: /*?sort=

Disallow: /*&sort=

Disallow: /*?order=

Disallow: /*&order=

Disallow: /*?limit=

Disallow: /*&limit=

Disallow: /*?filter=

Disallow: /*&filter=

Disallow: /*?filter_name=

Disallow: /*&filter_name=

Disallow: /*?filter_sub_category=

Disallow: /*&filter_sub_category=

Disallow: /*?filter_description=

Disallow: /*&filter_description=

Disallow: /*?tracking=

Disallow: /*&tracking=

Disallow: *page=*

Disallow: *search=*

Disallow: /cart/

Disallow: /forgot-password/

Disallow: /login/

Disallow: /compare-products/

Disallow: /add-return/

Disallow: /vouchers/

Sitemap: https://example.com/sitemap.xml

Joomla

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

Пример robots.txt для сайта на Joomla

В файле закрыты плагины, шаблоны и прочие системные решения.

User-agent: *

Disallow: /administrator/

Disallow: /cache/

Disallow: /components/

Disallow: /component/

Disallow: /includes/

Disallow: /installation/

Disallow: /language/

Disallow: /libraries/

Disallow: /media/

Disallow: /modules/

Disallow: /plugins/

Disallow: /templates/

Disallow: /tmp/

Disallow: /*?start=*

Disallow: /xmlrpc/

Allow: *.css

Allow: *.js

Sitemap: https://example.com/sitemap.xml

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

Как правильно составить robots.txt и зачем он нужен, как закрыть индексацию через robots.txt и бесплатно проверить robots.txt с помощью онлайн-инструментов.

В статье:

  1. Как поисковики сканируют страницу

  2. Robots.txt для Яндекса и Google

  3. Как составить robots.txt правильно

  4. Инструменты для составления и проверки robots.txt

Как поисковики сканируют страницу

Роботы-краулеры Яндекса и Google посещают страницы сайта, оценивают содержимое, добавляют новые ресурсы и информацию о страницах в индексную базу поисковика. Боты посещают страницы регулярно, чтобы переносить в базу обновления контента, отмечать появление новых ссылок и их доступность.

Зачем нужно сканирование:

  1. Собрать данные для построения индекса — информацию о новых страницах и обновлениях на старых.
  2. Сравнить URL в индексе и в списке для сканирования.
  3. Убрать из очереди дублирующиеся URL, чтобы не скачивать их дважды.

Боты смотрят не все страницы сайта. Количество ограничено
краулинговым бюджетом, который складывается из количества URL, которое может просканировать бот-краулер. Бюджета на объемный сайт может не хватить. Есть риск, что краулинговый бюджет уйдет на сканирование неважных или «мусорных» страниц, а чтобы такого не произошло, веб-мастеры направляют краулеров с помощью файла robots.txt.

Боты переходят на сайт и находят в корневом каталоге файл robots.txt, анализируют доступ к страницам и переходят к карте сайта —
Sitemap, чтобы сократить время сканирования, не обращаясь к закрытым ссылкам. После изучения файла боты идут на главную страницу и оттуда переходят в глубину сайта.

Как узнать, попала ли страница сайта в индекс Яндекса или Google

Какие страницы краулер просканирует быстрее:

  1. Находятся ближе к главной.
    Чем меньше кликов с главной ведет до страницы, тем она важнее и тем вероятнее ее посетит краулер. Количество переходов от главной до текущей страницы называется Click Distance from Index (DFI).
  2. Имеют много ссылок.
    Если многие ссылаются на страницу, значит она полезная и имеет хорошую репутацию. Нормальным считается около 11-20 ссылок на страницу, перелинковка между своими материалами тоже считается.
  3. Быстро загружаются.
    Проверьте скорость загрузки
    инструментом, если она медленная — оптимизируйте код верхней части и уменьшите вес страницы.

Все посещения ботов-краулеров не фиксируют такие инструменты, как Google Analytics, но поведение ботов можно отследить в лог-файлах. Некоторые SEO-проблемы крупных сайтов можно решить с помощью
анализа лог-файлов который также поможет увидеть проблемы со ссылками и распределение краулингового бюджета.

Посмотреть на сайт глазами поискового бота

Robots.txt для Яндекса и Google

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

В robots.txt можно открыть или закрыть доступ ко всем файлам или отдельно прописать, какие файлы можно сканировать, а какие нет.

Требования к robots.txt:

  • файл называется «robots.txt«, название написано только строчными буквами, «Robots.TXT» и другие вариации не поддерживаются;
  • располагается только в корневом каталоге — https://site.com/robots.txt, в подкаталоге быть не может;
  • на сайте в единственном экземпляре;
  • имеет формат .txt;
  • весит до 32 КБ;
  • в ответ на запрос отдает HTTP-код со статусом 200 ОК;
  • каждый префикс URL на отдельной строке;
  • содержит только латиницу.

Если домен на кириллице, для robots.txt переведите все кириллические ссылки в Punycode с помощью любого Punycode-конвертера: «сайт.рф» — «xn--80aswg.xn--p1ai».

Robots.txt действует для HTTP, HTTPS и FTP, имеет кодировку UTF-8 или ASCII и направлен только в отношении хоста, протокола и номера порта, где находится.

Его можно добавлять к адресам с субдоменами —
http://web.site.com/robots.txt или нестандартными портами — http://site.com:8181/robots.txt. Если у сайта несколько поддоменов, поместите файл в корневой каталог каждого из них.

Как исключить страницы из индексации с помощью robots.txt

В файле robots.txt можно запретить ботам индексацию некоторого контента.

Яндекс поддерживает
стандарт исключений для роботов (Robots Exclusion Protocol). Веб-мастер может скрыть содержимое от индексирования ботами Яндекса, указав директиву «disallow». Тогда при очередном посещении сайта робот загрузит файл robots.txt, увидит запрет и проигнорирует страницу. Другой вариант убрать страницу из индекса — прописать в HTML-коде мета-тег «noindex» или «none».

Google предупреждает, что robots.txt не предусмотрен для блокировки показа страниц в результатах выдачи. Он позволяет запретить индексирование только некоторых типов контента: медиафайлов, неинформативных изображений, скриптов или стилей. Исключить страницу из выдачи Google можно с помощью пароля на сервере или элементов HTML — «noindex» или атрибута «rel» со значением «nofollow».

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

Закройте доступ к странице паролем или «nofollow» , если не хотите, чтобы она попала в выдачу Google. Если этого не сделать, ссылка попадет в результаты но будет выглядеть так:

Доступная для пользователей ссылка

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

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

Если нет доступа к robots.txt

Если вы не имеете доступа к robots.txt и не знаете, доступна ли страница в Google или Яндекс, введите ее URL в строку поиска.

На некоторых сторонних платформах управлять файлом robots.txt нельзя. К примеру, сервис Wix автоматически создает robots.txt для каждого проекта на платформе. Вы сможете посмотреть файл, если добавите в конец домена «/robots.txt».

В файле будут элементы, которые относятся к структуре сайтов на этой платформе, к примеру «noflashhtml» и «backhtml». Они не индексируются и никак не влияют на SEO.

Если нужно удалить из выдачи какие-то из страниц ресурса на Wix, используйте «noindex».

Как составить robots.txt правильно

Файл можно составить в любом текстовом редакторе и сохранить в формате txt. В нем нужно прописать инструкцию для роботов: указание, каким роботам реагировать, и разрешение или запрет на сканирование файлов.

Инструкции отделяют друг от друга переносом строки.

Символы robots.txt

«*» — означает любую последовательность символов в файле.

«$» — ограничивает действия «*», представляет конец строки.

«/» — показывает, что закрывают для сканирования.

«/catalog/» — закрывают раздел каталога;

«/catalog» — закрывают все ссылки, которые начинаются с «/catalog».

«#» — используют для комментариев, боты игнорируют текст с этим символом.

User-agent: *
Disallow: /catalog/
#запрещаем сканировать каталог

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

Директивы, которые распознают все краулеры:

User-agent

На первой строчке прописывают правило User-agent — указание того, какой робот должен реагировать на рекомендации. Если запрещающего правила нет, считается, что доступ к файлам открыт.

Для разного типа контента поисковики используют разных ботов:

  • Google: основной поисковый бот называется Googlebot, есть Googlebot News для новостей, отдельно Googlebot Images, Googlebot Video и другие;
  • Яндекс: основной бот называется YandexBot, есть YandexDirect для РСЯ, YandexImages, YandexCalendar, YandexNews, YandexMedia для мультимедиа, YandexMarket для Яндекс.Маркета и другие.

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

User-agent: * — правило для всех поисковых роботов;

User-agent: Googlebot — только для основного поискового бота Google;

User-agent: YandexBot — только для основного бота Яндекса;

User-agent: Yandex — для всех ботов Яндекса. Если любой из ботов Яндекса обнаружит эту строку, то другие правила User-agent: * учитывать не будет.

Sitemap

Указывает ссылку на
карту сайта — файл со структурой сайта, в котором перечислены страницы для индексации:

User-agent: *
Sitemap: http://site.com/sitemap.xml

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

Disallow

Правило показывает, какую информацию ботам сканировать не нужно.

Если вы еще работаете над сайтом и не хотите, чтобы он появился в незавершенном виде, можно закрыть от сканирования весь сайт:

User-agent: *
Disallow: /

После окончания работы над сайтом не забудьте снять блокировку.

Разрешить всем ботам сканировать весь сайт:

User-agent: *
Disallow:

Для этой цели можно оставить robots.txt пустым.

Чтобы запретить одному боту сканировать, нужно только прописать запрет с упоминанием конкретного бота. Для остальных разрешение не нужно, оно идет по умолчанию:

User-agent: BadBot 
Disallow: /

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

User-agent: Googlebot
Disallow: 
User-agent: * 
Disallow: /

Запретить ботам сканировать страницу:

User-agent: *
Disallow: /page.html

Запретить сканировать конкретную папку с файлами:

User-agent: *
Disallow: /name/

Запретить сканировать все файлы, которые заканчиваются на «.pdf»:

User-agent: *
Disallow: /*.pdf$

Запретить сканировать раздел
http://site.com/about/:

User-agent: *
Disallow: /about/

Запись формата «Disallow: /about» без закрывающего «/» запретит доступ и к разделу
http://site.com/about/, к файлу http://site.com/about.php и к другим ссылкам, которые начинаются с «/about».

Если нужно запретить доступ к нескольким разделам или папкам, для каждого нужна отдельная строка с Disallow:

User-agent: *
Disallow: /about
Disallow: /info
Disallow: /album1

Allow

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

Разрешено сканировать все, что начинается с «/catalog», а все остальное запрещено:

User-agent: *
Allow: /catalog 
Disallow: /

Сканировать файл «photo.html» разрешено, а всю остальную информацию в каталоге /album1/ запрещено:

User-agent: *
Allow: /album1/photo.html 
Disallow: /album1/

Заблокировать доступ к каталогам «site.com/catalog1/» и «site.com/catalog2/» но разрешить к «catalog2/subcatalog1/»:

User-agent: * 
Disallow: /catalog1/ 
Disallow: /catalog2/ 
Allow: /catalog2/subcatalog1/

Бывает, что для страницы оказываются справедливыми несколько правил. Тогда робот будет отсортирует список от меньшего к большему по длине префикса URL и будет следовать последнему правилу в списке.

Директивы, которые распознают боты Яндекса:

Clean-param

Некоторые страницы дублируются с разными GET-параметрами или UTM-метками, которые не влияют на содержимое. К примеру, если в каталоге товаров использовали сортировку или разные id.

Чтобы отследить, с какого ресурса делали запрос страницы с книгой book_id=123, используют ref:

«www.site. com/some_dir/get_book.pl?ref=site_1& book_id=123»

«www.site. com/some_dir/get_book.pl?ref=site_2& book_id=123»

«www.site. com/some_dir/get_book.pl?ref=site_3& book_id=123»

Страница с книгой одна и та же, содержимое не меняется. Чтобы бот не сканировал все варианты таких страниц с разными параметрами, используют правило Clean-param:

User-agent: Yandex 
Disallow: 
Clean-param: ref/some_dir/get_book.pl

Робот Яндекса сведет все адреса страницы к одному виду:

«www.example. com/some_dir/get_book.pl? book_id=123»

Для адресов вида:

«www.example2. com/index.php? page=1&sid=2564126ebdec301c607e5df»

«www.example2. com/index.php? page=1&sid=974017dcd170d6c4a5d76ae»

robots.txt будет содержать:

User-agent: Yandex
Disallow:
Clean-param: sid/index.php

Для адресов вида

«www.example1. com/forum/showthread.php? s=681498b9648949605&t=8243»

«www.example1. com/forum/showthread.php? s=1e71c4427317a117a&t=8243»

robots.txt будет содержать:

User-agent: Yandex 
Disallow: 
Clean-param: s/forum/showthread.php

Если переходных параметров несколько:

«www.example1.com/forum_old/showthread.php?s=681498605&t=8243&ref=1311»

«www.example1.com/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896»

robots.txt будет содержать:

User-agent: Yandex 
Disallow: 
Clean-param: s&ref/forum*/showthread.php

Host

Правило показывает, какое зеркало учитывать при индексации. URL нужно писать без «http://» и без закрывающего слэша «/».

User-agent: Yandex
Disallow: /about
Host: www.site.com

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

Crawl-delay

Раньше частая загрузка страниц нагружала сервер, поэтому для ботов устанавливали Crawl-delay — время ожидания робота в секундах между загрузками. Эту директиву можно не использовать, мощным серверам она не требуется.

Время ожидания — 4 секунды:

User-agent: *
Allow: /album1 
Disallow: /
Crawl-delay: 4

Только латиница

Напомним, что все кириллические ссылки нужно перевести в Punycode с помощью любого конвертера.

Неправильно:

User-agent: Yandex 
Disallow: /каталог

Правильно:

User-agent: Yandex
Disallow: /xn--/-8sbam6aiv3a

Пример robots.txt

Запись означает, что правило справедливо для всех роботов: запрещено сканировать ссылки из корзины, из встроенного поиска и админки, карта сайта находится по ссылке
http://site.com/sitemap, ref не меняет содержание страницы get_book:

User-agent: *
Disallow: /bin/ 
Disallow: /search/ 
Disallow: /admin/ 
Sitemap: http://site.com/sitemap
Clean-param: ref/some_dir/get_book.pl

Составить robots.txt бесплатно поможет
инструмент для генерации robots.txt от PR-CY, он позволит закрыть или открыть весь сайт для ботов, указать путь к карте сайта, настроить ограничение на посещение страниц, закрыть доступ некоторым роботам и установить задержку:

Инструмент для создания robots.txt

Графы инструмента для заполнения

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

Инструмент проверки файла robots.txt от Google позволит проверить, как бот видит конкретный URL. В поле нужно ввести проверяемый URL, а инструмент покажет, доступна ли ссылка.

Инструмент проверки от Яндекса покажет, правильно ли заполнен файл. Нужно указать сайт, для которого создан robots.txt, и перенести его содержимое в поле.


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

Как показывает практика, база технического SEO – файл robots.txt, – многими вебмастерами не только заполняется неправильно, но и без понимания, зачем этот файл и как он работает. Статей на эту тему – объективно, тонны, но есть смысл расставить некоторые акценты.

Для чего вообще нужен robots.txt

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

robots.txt предназначен для единственной цели: управлять сканированием сайта на базе «Стандарта исключений для роботов». Это не инструмент для управления индексацией, и если вы попытаетесь управлять с его помощью попаданием ваших страниц в индекс, неизбежно получите ошибки и проблемы. И чем больше и сложнее ваш сайт – тем больше будет ошибок. Для управления индексацией используйте предназначенные для этого инструменты:

  • метатег robots

  • канонические адреса (canonical)

  • редиректы
  • ссылки

С его помощью можно указать поисковым роботам, какие URL не должны сканироваться, а какие сканировать можно и нужно. Это не команды: поисковые роботы могут проигнорировать запрещающие и разрешающие директивы, если получат более весомые сигналы это сделать. Простой пример: если на страницу ведёт достаточное количество ссылок, она появится в выдаче – хотя саму страницу поисковик скачивать и не будет.

Важно понимать: robots.txt – не закон для роботов, а просто список пожеланий с достаточно противоречивой историей. Несмотря на необязательность директив, например, гуглобот не станет сканировать ваш сайт, если сервер ответит технической ошибкой на запрос «роботс». И вместе с тем, легко проигнорирует запреты, если получит сигналы о важности какого-то URL в рамках сайта (наличие ссылок, настройка перенаправлений, постоянный пользовательский трафик и т.п.).

Что не нужно сканировать

  • Системные папки на сервере

  • Дубли: сортировки, UTM-метки, фильтры и прочие URL с параметрами

  • Страницы пользовательских сессий, результаты поиска по сайту, динамические URL
  • Служебные URL
  • Административная часть сайта

К чему должен быть обязательный доступ

  • Посадочные страницы

  • Служебные файлы, отвечающие за рендеринг страницы (js, css, шрифты, графика)

Особое внимание обращу на обязательное наличие разрешений на сканирование JS и CSS. Если поисковые системы не смогут отрисовать страницы сайта в том виде, в каком их получает посетитель-человек, это приведёт к следующим проблемам:

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

  • Если важная часть контента выводится средствами JS, поисковая система просто не получит к нему доступа. В ряде случаев вместо контента ПС увидят обычную дырку или малую часть контента. В индекс такая страница едва ли попадёт, а если и попадёт – высоко ранжироваться не будет. В обоих случаях результатом будут сниженные позиции в поиске или полное их отсутствие: мусор в поисковой выдаче не нужен.

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

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

Поисковые роботы Яндекса и Гугла в ряде случаев совершенно по-разному воспринимают директивы, потому и что и правила сканирования у них разные. Вот лишь несколько главных отличий.

  • Яндекс плохо работает с метатегами robots и каноническими адресами. Директивы в robots.txt для него важнее. Если вы разрешите ему сканировать то, что не должно попасть в индекс, он с большой степенью вероятности проигнорирует всё остальное, и может начать ранжировать вовсе не то, что вам надо. Скажем, нецелевую страницу пагинации — просто потому, что ему что-то не понравилось на целевой странице.

  • Яндекс использует директивы, которые не признаёт Google, например, Clean-param. Есть и директивы, которые понимает только гуглобот.
  • Хорошая идея — минимально блокировать сканирование для гуглобота, индексацией управляя только на уровне страницы. Таким образом Гугл будет лучше понимать ваш сайт, а алгоритмы там достаточно умные, чтобы и без вашего участия разобраться, что к чему. Если же по логам вы отмечаете ненормальную активность гуглобота там, где не надо – это повод подумать, что не так с сайтом.
  • Если гуглобот зайдёт на сайт и не сможет скачать robots.txt, он уйдёт. Яндекс-бот в такой придирчивости не замечен.

Общий принцип: открывайте для Яндекса по необходимости. Для Гугл – по необходимости закрывайте.

Для Яндекса вы должны понимать, что у вас должно быть в индексе. Для Гугл – наоборот, чего в индексе быть не должно.

Активность Яндекс-бота в рунете кратно превышает активность гуглобота, которая в принципе лимитирована. Это ещё одно условие, которое надо учитывать при составлении директив для robots.txt.

Можно ли блокировать на уровне robots.txt зловредных ботов и парсеры

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

Нет. Набор инструкций на базе стандарта исключений имеет рекомендательный характер, и фактически ограничить ничего не может. Если вы хотите заблокировать посторонних роботов – делать это надо на уровне сервера. Чаще всего в robots.txt пытаются заблокировать самых известных официальных ботов типа AhrefsBot, MJ12bot, Slurp, SMTBot, SemrushBot, DotBot, BLEXBot и т.п. Смысла это не имеет, но вы можете попробовать.

Что будет, если robots.txt не заполнен или заполнен неправильно

Недоступность файла с директивами по техническим причинам (ошибки 5**) может привести к тому, что гуглобот не станет сканировать сайт. Отсутствие же файла приведет к тому, что роботы будут обходить всё подряд и накидают в индекс тонны мусора. Чаще всего это не очень страшно. А вот ошибки в директивах могут привести к достаточно широкому спектру проблем. Вот типовые:

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

  • Часть контента или оформления не будет просканирована или учтена, если выводится она средствами JS, а доступ к ним заблокирован.
  • Если в robots.txt запрещено сканирование страниц, которые вы хотели бы удалить из индекса, деиндексированы они не будут – робот просто не увидит ваших указаний в рамках страницы, а в панели вебмастеров вы увидите соответствующее уведомление («Проиндексировано, несмотря на блокировку в файле robots.txt»).
  • Без запрета на сканирование определенных страниц (пользовательских, с параметрами) поисковая система будет вносить в индекс явный мусор, который через время будет выбрасывать. В случае Яндекса это может быть чревато переклейкой запросов на нецелевые страницы, рост страниц, рассматриваемых как некачественные, и как следствие – снижения доверия к сайту на уровне хоста.
Ошибки в настройках сканирования – и вот уже поисковому роботу недоступен целый блок, куда выводится портфолио веб-студии.

Простенькие сайты на той же «Тильде» чаще всего вообще не нуждаются в правках robots.txt – там разрешено всё, и нет никаких проблем ни с отрисовкой сайта, ни с попаданием в индекс поискового мусора. Интерпретаторы современных ПС довольно снисходительно относятся к возможным ошибкам, однако надеяться на это не стоит.

Основные правила

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

  • Файл может называться только «robots.txt» с названием в нижнем регистре, быть в кодировке UTF-8 без BOM, и находиться в корне сайта.

  • Никакой кириллицы в robots.txt быть не должно! Если вы используете домен в зоне РФ или кириллические адреса – для настроек robots.txt используйте конвертацию таких URL в пуникод. Например, директива Sitemap в данном случае будет выглядеть примерно так:
    Sitemap: http://xn--80aswg.xn--p1ai/sitemap.xml
  • Каждая новая директива начинается с новой строки.
  • Блок директив для каждого User-agent отделяется от других блоков пустой строкой. Пустая строка между директивами обрывает список, после пустой строки начинается новый блок.
  • Все запрещающие или разрешающие директивы относятся только к боту, указанному для заданного блока.
  • Порядок размещения разрешающих и запрещающих директив особого значения не имеет. В настоящий момент это свойственно и роботам Яндекса, и Google.

Регулярные выражения и подстановочные знаки

Регулярные выражения и подстановочные знаки значительно упрощают процесс настройки сканирования. Официально они не поддерживаются стандартами, и тем не менее, понимают их все роботы. Ваша задача – составить регулярное выражение, блокирующее сканирование всего поискового мусора и разрешить необходимые URL, а не вносить туда десятки и даже сотни URL (как иногда пытаются делать). Отдельные URL, ненужные в выдаче по каким-то причинам, нужно просто запрещать индексировать метатегом.

Пример заполнения robots.txt в стиле «Знай наших» школы SEO-кунгфу «Раззудись плечо» — и это ещё не весь список

Для формирования регулярных выражений в рамках «роботс» используется всего два знака: * и $.

Знак * означает любую последовательность символов, «что угодно». Примеры.

User-agent: *
Disallow: /*?

Это означает, что для любого робота (если для него нет отдельного набора директив) запрещено сканирование любых страниц фильтров.

User-agent: *
Allow: */*.jpg*

Разрешено сканирование файлов JPG с любым названием в любой доступной папке сайта, включая кэшированные файлы.

Знак $ соответствует концу заданного URL. Те URL, что содержат какие-то знаки после знака $, могут быть просканированы. Пример:

User-agent: *
Disallow: */*.pdf$

Эта директива запрещает сканировать любой файл в формате PDF в рамках сайта. Ещё один пример:

Disallow: */ofis$

Будет заблокирован URL https://сайт-ру/catalog/muzhchinam/ofis

Но URL https://сайт-ру/catalog/muzhchinam/ofis?sort=rate&page=1 будет доступен.

Как составить правильный robots.txt для своего сайта

Как уже было сказано выше, гуглобот не станет сканировать сайт, если не найдёт robots.txt, поэтому для начала можно использовать даже шаблонный «роботс» (как многие и поступают). Однако это явно не оптимальный вариант.

Чтобы составить правильный robots.txt для своего сайта, вы должны чётко понимать два момента:

  • Какова структура вашего сайта, и что поисковый робот должен обходить и понимать;

  • Как поисковый робот видит ваш сайт.

На первый вопрос вам поможет ответить семантическое ядро и структура сайта, созданная на его основе. Мы не будем разбирать здесь вопросы структурирования.

На второй же вопрос вам поможет ответить парсер сайта, способный эмулировать заданных поисковых роботов, показать наглядно, как поисковых робот отрисовывает страницу по актуальным правилам, справляется ли он с рендерингом адаптивной версии сайта и т.п. С этой целью я использую Screaming Frog SEO Spider. Думаю, эти возможности есть и у его конкурентов.

  • В настройках парсинга выбираем Spider — Extraction — HTML (отметить Store HTML и Store Rendered HTML). Там же — вкладка Rendering, выбрать в выпадающем списке JavaScript.

  • Потом в Configuration выбрать User-Agent эмуляцию интересующего робота. Я рекомендую начинать с Googlebot (Smartphone).
  • Хорошая практика – сразу же подключить API Search Console, чтобы выгрузить данные об индексации и оттуда. Для этого, разумеется, у вас должен быть такой доступ, такие данные о чужом сайте вытянуть не получится.
Полноценный рендеринг сайта позволит вам увидеть его глазами поискового робота

Можно начинать парсинг. По окончании запустите Crawl Analysis, и можно приступать к изучению результатов.

Поскольку нас в данном случае интересует список проблем с файлом robots.txt начнём с вкладки Rendered Page — там можно посмотреть, как видит робот выбранную страницу.

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

Как вариант – контент может быть в основном доступен, просто без ожидаемого дизайна, дырками на месте картинок и т.п. Здесь же можно сразу посмотреть, что именно заблокировано и мешает роботу увидеть сайт так, как видите его вы. Если в списке заблокированных ресурсов вы видите js, css, файлы изображений, веб-шрифты – вносите их в список разрешающих директив.

В левом окне мы видим заблокированные папки, содержащие файлы шаблона. Их отсутствие приводит к тому, что робот видит сайт так, как показано в правом окне.

Внимательно изучите все страницы, которые так или иначе помечены как дубли – по тайтлам, по сходству контента и т.п. Вероятно, среди них действительно могут оказаться дубли и поисковый мусор. Дубли могут быть как чисто техническими (например, товары могут выводиться плиткой, а могут списком), а могут быть и качественными, когда полезного контента на странице недостаточно, и она похожа на другие страницы, такие же некачественные с точки зрения ПС. В данном случае вам предстоит решить, что делать: закрыть мусор от сканирования, запретить индексацию метатегом, или оперативно внести правки и отправить URL на переобход.

На следующем шаге вам предстоит изучить данные из панелей вебмастеров. Достаточно удобно и наглядно это реализовано в Яндекс-Вебмастере. Заходим в «Индексирование», «Страницы в поиске», вкладка «Исключенные» – и внимательно оцениваем URL, помеченные как неканонические, дубли, а также МПК. Среди них, как правило, большую часть представляют страницы сортировок, фильтров, пагинации и т.п. Их чаще всего можно смело вносить в список для запрета на сканирование.

Инструменты для тестирования

Любые внесенные правки должны проверяться с помощью соответствующих инструментов поисковых систем.

  • В Гугл – https://www.google.com/webmasters/tools/robots-testing-tool

  • В Яндексе – https://webmaster.yandex.ru/tools/robotstxt/

Принцип действия прост: вы видите актуальную кэшированную версию файла, анализатор, инструмент проверки заданных URL. Если URL заблокирован – вы увидите строку, которая его блокирует.

Заключение

Подытожим основные тезисы.

  • Файл robots.txt не предназначен для управления индексированием сайта. Он нужен для настроек сканирования.

  • Интерпретация синтаксиса файла и имеющиеся директивы зависят от конкретной поисковой системы. Не забывайте проверять, как именно заданная ПС обрабатывает ваши директивы с помощью соответствующих инструментов.
  • Проверяйте доступность файлов css, js, jpg, jpeg, gif, png, svg, woff и прочих, необходимых для правильного рендеринга страницы поисковой системой.
  • Подстановочные знаки и регулярные выражения могут значительно упростить процесс настройки, но ошибки в их использовании могут заблокировать доступ роботов к целым разделам сайта.
  • Запрет сканирования не означает деиндексацию. То, что ПС посчитает важным, будет внесено в индекс, если нет прямых запретов на уровне заголовков Meta Robots Tag или X-Robots-Tag.
  • Маленькие сайты с простой архитектурой могут обойтись без файла инструкций для роботов без ущерба для сканирования и индексации.

UPD. Для настроек индексирования сайта рекомендую использовать метатег Robots, HTTP-заголовок X-Robots-Tag, настройки тега Canonical, а также вполне традиционные средства – редиректы, sitemap.xml и т.п.

Как создать правильный файл robots.txt, настройка, директивы

Файл robots.txt — текстовый файл в формате .txt, ограничивающий поисковым роботам доступ к содержимому на http-сервере.

Как определение, Robots.txt — это стандарт исключений для роботов, который был принят консорциумом W3C 30 января 1994 года, и который добровольно использует большинство поисковых систем. Файл robots.txt состоит из набора инструкций для поисковых роботов, которые запрещают индексацию определенных файлов, страниц или каталогов на сайте. Рассмотрим описание robots.txt для случая, когда сайт не ограничивает доступ роботам к сайту.

Простой пример:

User-agent: *
Allow: /

Здесь роботс полностью разрешает индексацию всего сайта.

Файл robots.txt необходимо загрузить в корневой каталог вашего сайта, чтобы он был доступен по адресу:

ваш_сайт.ru/robots.txt

Для размещения файла в корне сайта обычно необходим доступ через FTP. Однако, некоторые системы управления (CMS) дают возможность создать robots.txt непосредственно из панели управления сайтом или через встроенный FTP-менеджер.

Если файл доступен, то вы увидите содержимое в браузере.

Для чего нужен robots.txt

Сформированный файл для сайта является важным аспектом поисковой оптимизации. Зачем нужен robots.txt? Например, в SEO robots.txt нужен для того, чтобы исключать из индексации страницы, не содержащие полезного контента и многое другое. Как, что, зачем и почему исключается уже было описано в статье про запрет индексации страниц сайта, здесь не будем на этом останавливаться. Нужен ли файл robots.txt всем сайтам? И да и нет. Если использование подразумевает исключение страниц из поиска, то для небольших сайтов с простой структурой и статичными страницами подобные исключения могут быть лишними. Однако, и для небольшого сайта могут быть полезны некоторые директивы, например директива Host или Sitemap, но об этом ниже.

Как создать robots.txt

Поскольку это текстовый файл, нужно воспользоваться любым текстовым редактором, например Блокнотом. Как только вы открыли новый текстовый документ, вы уже начали создание robots.txt, осталось только составить его содержимое, в зависимости от ваших требований, и сохранить в виде текстового файла с названием robots в формате txt. Все просто, и создание файла не должно вызвать проблем даже у новичков. О том, как составить и что писать в роботсе на примерах покажу ниже.

Cоздать robots.txt онлайн

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

Редактирование robots.txt

После того, как вам удалось создать файл robots.txt онлайн или своими руками, вы можете редактировать robots.txt. Изменить его содержимое можно как угодно, главное — соблюдать некоторые правила и синтаксис robots.txt. В процессе работы над сайтом, файл роботс может меняться, и если вы производите редактирование robots.txt, то не забывайте выгружать на сайте обновленную, актуальную версию файла со всем изменениями. Далее рассмотрим правила настройки файла, чтобы знать, как изменить файл robots.txt и «не нарубить дров».

Правильная настройка robots.txt

Правильная настройка robots.txt позволяет избежать попадания частной информации в результаты поиска крупных поисковых систем. Однако, не стоит забывать, что команды robots.txt не более чем руководство к действию, а не защита. Роботы надежных поисковых систем, вроде Яндекс или Google, следуют инструкциям robots.txt, однако прочие роботы могут легко игнорировать их. Правильное понимание и применение robots.txt — залог получения результата.

Чтобы понять, как сделать правильный robots txt, для начала необходимо разобраться с общими правилами, синтаксисом и директивами файла robots.txt.

Правильный robots.txt начинается с директивы User-agent, которая указывает, к какому роботу обращены конкретные директивы.

Примеры User-agent в robots.txt:

# Указывает директивы для всех роботов одновременно
User-agent: *

# Указывает директивы для всех роботов Яндекса
User-agent: Yandex

# Указывает директивы для только основного индексирующего робота Яндекса
User-agent: YandexBot

# Указывает директивы для всех роботов Google
User-agent: Googlebot

Учитывайте, что подобная настройка файла robots.txt указывает роботу использовать только директивы, соответствующие user-agent с его именем.

Пример robots.txt с несколькими вхождениями User-agent:

# Будет использована всеми роботами Яндекса
User-agent: Yandex
Disallow: /*utm_

# Будет использована всеми роботами Google
User-agent: Googlebot
Disallow: /*utm_

# Будет использована всеми роботами кроме роботов Яндекса и Google
User-agent: *
Allow: /*utm_

Директива User-agent создает лишь указание конкретному роботу, а сразу после директивы User-agent должна идти команда или команды с непосредственным указанием условия для выбранного робота. В примере выше используется запрещающая директива «Disallow», которая имеет значение «/*utm_». Таким образом, закрываем все страницы с UTM-метками. Правильная настройка robots.txt запрещает наличие пустых переводов строки между директивами «User-agent», «Disallow» и директивами следующими за «Disallow» в рамках текущего «User-agent».

Пример неправильного перевода строки в robots.txt:

User-agent: Yandex

Disallow: /*utm_

Allow: /*id=

User-agent: *

Disallow: /*utm_

Allow: /*id=

Пример правильного перевода строки в robots.txt:

User-agent: Yandex
Disallow: /*utm_
Allow: /*id=

User-agent: *
Disallow: /*utm_
Allow: /*id=

Как видно из примера, указания в robots.txt поступают блоками, каждый из которых содержит указания либо для конкретного робота, либо для всех роботов «*».

Кроме того, важно соблюдать правильный порядок и сортировку команд в robots.txt при совместном использовании директив, например «Disallow» и «Allow». Директива «Allow» — разрешающая директива, является противоположностью команды robots.txt «Disallow» — запрещающей директивы.

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

User-agent: *
Allow: /blog/page
Disallow: /blog

Данный пример запрещает всем роботам индексацию всех страниц, начинающихся с «/blog», но разрешает индексации страниц, начинающиеся с «/blog/page».

Прошлый пример robots.txt в правильной сортировке:

User-agent: *
Disallow: /blog
Allow: /blog/page

Сначала запрещаем весь раздел, потом разрешаем некоторые его части.

Еще один правильный пример robots.txt с совместными директивами:

User-agent: *
Allow: /
Disallow: /blog
Allow: /blog/page

Обратите внимание на правильную последовательность директив в данном robots.txt.

Директивы «Allow» и «Disallow» можно указывать и без параметров, в этом случае значение будет трактоваться обратно параметру «/».

Пример директивы «Disallow/Allow» без параметров:

User-agent: *
Disallow: # равнозначно Allow: /
Disallow: /blog
Allow: /blog/page

Как составить правильный robots.txt и как пользоваться трактовкой директив — ваш выбор. Оба варианта будут правильными. Главное — не запутайтесь.

Для правильного составления robots.txt необходимо точно указывать в параметрах директив приоритеты и то, что будет запрещено для скачивания роботам. Более полно использование директив «Disallow» и «Allow» мы рассмотрим чуть ниже, а сейчас рассмотрим синтаксис robots.txt. Знание синтаксиса robots.txt приблизит вас к тому, чтобы создать идеальный robots txt своими руками.

Синтаксис robots.txt

Роботы поисковых систем добровольно следуют командам robots.txt — стандарту исключений для роботов, однако не все поисковые системы трактуют синтаксис robots.txt одинаково. Файл robots.txt имеет строго определённый синтаксис, но в то же время написать robots txt не сложно, так как его структура очень проста и легко понятна.

Вот конкретные список простых правил, следуя которым, вы исключите частые ошибки robots.txt:

  1. Каждая директива начинается с новой строки;
  2. Не указывайте больше одной директивы в одной строке;
  3. Не ставьте пробел в начало строки;
  4. Параметр директивы должен быть в одну строку;
  5. Не нужно обрамлять параметры директив в кавычки;
  6. Параметры директив не требуют закрывающих точки с запятой;
  7. Команда в robots.txt указывается в формате — [Имя_директивы]:[необязательный пробел][значение][необязательный пробел];
  8. Допускаются комментарии в robots.txt после знака решетки #;
  9. Пустой перевод строки может трактоваться как окончание директивы User-agent;
  10. Директива «Disallow: » (с пустым значением) равнозначна «Allow: /» — разрешить все;
  11. В директивах «Allow», «Disallow» указывается не более одного параметра;
  12. Название файла robots.txt не допускает наличие заглавных букв, ошибочное написание названия файла — Robots.txt или ROBOTS.TXT;
  13. Написание названия директив и параметров заглавными буквами считается плохим тоном и если по стандарту, robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файлов и директорий;
  14. Если параметр директивы является директорией, то перед название директории всегда ставится слеш «/», например: Disallow: /category
  15. Слишком большие robots.txt (более 32 Кб) считаются полностью разрешающими, равнозначными «Disallow: »;
  16. Недоступный по каким-либо причинам robots.txt может трактоваться как полностью разрешающий;
  17. Если robots.txt пустой, то он будет трактоваться как полностью разрешающий;
  18. В результате перечисления нескольких директив «User-agent» без пустого перевода строки, все последующие директивы «User-agent», кроме первой, могут быть проигнорированы;
  19. Использование любых символов национальных алфавитов в robots.txt не допускается.

Поскольку разные поисковые системы могут трактовать синтаксис robots.txt по-разному, некоторые пункты можно опустить. Так например, если прописать несколько директив «User-agent» без пустого перевода строки, все директивы «User-agent» будут восприняты корректно Яндексом, так как Яндекс выделяет записи по наличию в строке «User-agent».

В роботсе должно быть указано строго только то, что нужно, и ничего лишнего. Не думайте, как прописать в robots txt все, что только можно и чем его заполнить. Идеальный robots txt — это тот, в котором меньше строк, но больше смысла. «Краткость — сестра таланта». Это выражение здесь как нельзя кстати.

Как проверить robots.txt

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

Проверка файла robots.txt в Яндекс.Вебмастер: http://webmaster.yandex.ru/robots.xml

Проверка файла robots.txt в Google: https://www.google.com/webmasters/tools/siteoverview?hl=ru

Для того, чтобы проверить robots.txt онлайн необходимо загрузить robots.txt на сайт в корневую директорию. Иначе, сервис может сообщить, что не удалось загрузить robots.txt. Рекомендуется предварительно проверить robots.txt на доступность по адресу где лежит файл, например: ваш_сайт.ru/robots.txt.

Кроме сервисов проверки от Яндекс и Google, существует множество других онлайн валидаторов robots.txt.

Robots.txt vs Яндекс и Google

Есть субъективное мнение, что указание отдельного блока директив «User-agent: Yandex» в robots.txt Яндекс воспринимает более позитивно, чем общий блок директив с «User-agent: *». Аналогичная ситуация robots.txt и Google. Указание отдельных директив для Яндекс и Google позволяет управлять индексацией сайта через robots.txt. Возможно, им льстит персонально обращение, тем более, что для большинства сайтов содержимое блоков robots.txt Яндекса, Гугла и для других поисковиков будет одинаково. За редким исключением, все блоки «User-agent» будут иметь стандартный для robots.txt набор директив. Так же, используя разные «User-agent» можно установить запрет индексации в robots.txt для Яндекса, но, например не для Google.

Отдельно стоит отметить, что Яндекс учитывает такую важную директиву, как «Host», и правильный robots.txt для яндекса должен включать данную директиву для указания главного зеркала сайта. Подробнее директиву «Host» рассмотрим ниже.

Запретить индексацию: robots.txt Disallow

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

Пример как в robots.txt запретить индексацию сайта:

User-agent: *
Disallow: /

Данный пример закрывает от индексации весь сайт для всех роботов.

В параметре директивы Disallow допускается использование специальных символов * и $:

* — любое количество любых символов, например, параметру /page* удовлетворяет /page, /page1, /page-be-cool, /page/kak-skazat и т.д. Однако нет необходимости указывать * в конце каждого параметра, так как например, следующие директивы интерпретируются одинаково:

User-agent: Yandex
Disallow: /page
User-agent: Yandex
Disallow: /page*

$ — указывает на точное соответствие исключения значению параметра:

User-agent: Googlebot
Disallow: /page$

В данном случае, директива Disallow будет запрещать /page, но не будет запрещать индексацию страницы /page1, /page-be-cool или /page/kak-skazat.

Если закрыть индексацию сайта robots.txt, в поисковые системы могут отреагировать на так ход ошибкой «Заблокировано в файле robots.txt» или «url restricted by robots.txt» (url запрещенный файлом robots.txt). Если вам нужно запретить индексацию страницы, можно воспользоваться не только robots txt, но и аналогичными html-тегами:

  • <meta name=»robots» content=»noindex»/> — не индексировать содержимое страницы;
  • <meta name=»robots» content=»nofollow»/> — не переходить по ссылкам на странице;
  • <meta name=»robots» content=»none»/> — запрещено индексировать содержимое и переходить по ссылкам на странице;
  • <meta name=»robots» content=»noindex, nofollow»/> — аналогично content=»none».

Разрешить индексацию: robots.txt Allow

Allow — разрешающая директива и противоположность директиве Disallow. Эта директива имеет синтаксис, сходный с Disallow.

Пример, как в robots.txt запретить индексацию сайта кроме некоторых страниц:

User-agent: *
Disallow: /
Allow: /page

Запрещается индексировать весь сайт, кроме страниц, начинающихся с /page.

Disallow и Allow с пустым значением параметра

Пустая директива Disallow:

User-agent: *
Disallow:

Не запрещать ничего или разрешить индексацию всего сайта и равнозначна:

User-agent: *
Allow: /

Пустая директива Allow:

User-agent: *
Allow:

Разрешить ничего или полный запрет индексации сайта, равнозначно:

User-agent: *
Disallow: /

Главное зеркало сайта: robots.txt Host

Директива Host служит для указания роботу Яндекса главного зеркала Вашего сайта. Из всех популярных поисковых систем, директива Host распознаётся только роботами Яндекса. Директива Host полезна в том случае, если ваш сайт доступен по нескольким доменам, например:

mysite.ru
mysite.com

Или для определения приоритета между:

mysite.ru
www.mysite.ru

Роботу Яндекса можно указать, какое зеркало является главным. Директива Host указывается в блоке директивы «User-agent: Yandex» и в качестве параметра, указывается предпочтительный адрес сайта без «http://».

Пример robots.txt с указанием главного зеркала:

User-agent: Yandex
Disallow: /page
Host: mysite.ru

В качестве главного зеркала указывается доменное имя mysite.ru без www. Таки образом, в результатах поиска буде указан именно такой вид адреса.

User-agent: Yandex
Disallow: /page
Host: www.mysite.ru

В качестве основного зеркала указывается доменное имя www.mysite.ru.

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

Если вы хотите указать главное зеркало для робота Google, воспользуйтесь сервисом Google Инструменты для вебмастеров.

Карта сайта: robots.txt sitemap

При помощи директивы Sitemap, в robots.txt можно указать расположение на сайте файла карты сайта sitemap.xml.

Пример robots.txt с указанием адреса карты сайта:

User-agent: *
Disallow: /page
Sitemap: http://www.mysite.ru/sitemap.xml

Указание адреса карты сайта через директиву Sitemap в robots.txt позволяет поисковому роботу узнать о наличии карты сайта и начать ее индексацию.

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

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

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

Clean-param: parm1[&parm2&parm3&parm4&..&parmn] [Путь]

Рассмотрим на примере страницы со следующим URL:

www.mysite.ru/page.html?&parm1=1&parm2=2&parm3=3

Пример robots.txt Clean-param:

Clean-param: parm1&parm2&parm3 /page.html # только для page.html

или

Clean-param: parm1&parm2&parm3 / # для всех

Директива Crawl-delay

Данная инструкция позволяет снизить нагрузку на сервер, если роботы слишком часто заходят на ваш сайт. Данная директива актуальна в основном для сайтов с большим объемом страниц.

Пример robots.txt Crawl-delay:

User-agent: Yandex
Disallow: /page
Crawl-delay: 3

В данном случае мы «просим» роботов яндекса скачивать страницы нашего сайта не чаще, чем один раз в три секунды. Некоторые поисковые системы поддерживают формат дробных чисел в качестве параметра директивы Crawl-delay robots.txt.

Комментарии в robots.txt

Комментарий в robots.txt начинаются с символа решетки — #, действует до конца текущей строки и игнорируются роботами.

Примеры комментариев в robots.txt:

User-agent: *
# Комментарий может идти от начала строки
Disallow: /page # А может быть продолжением строки с директивой
# Роботы
# игнорируют
# комментарии
Host: www.mysite.ru

В заключении

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

Если у вас есть вопросы — пишите в комментариях.
Рекомендуйте статью друзьям и не забывайте подписываться на блог.
Новые интересные статьи каждый день.

author__photo

Содержание

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

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

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

Оптимизируйте маркетинг и увеличивайте продажи вместе с Calltouch

Узнать подробнее

Что такое robots.txt

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

Для чего используется Robots.txt

Данный файл говорит краулерам и роботам, какие страницы сайта они должны просматривать, а к каким доступ запрещён. Это важно в связи с тем, что случайно могут быть проанализированы страницы с нерелевантным контентом. В некоторых случаях есть риск запустить бесконечный цикл считывания — например, с календарём, который генерирует новый URL для каждой даты.

Как говорится в спецификации robots.txt для Google, правильный robots.txt должен являться текстовым файлом в кодировке ASCII или UTF-8. Строки или иначе — директивы — должны отделяться типами прерывания CR, CR/LF или LF.

Обращайте внимание на размер файла, так как у каждой поисковой системы свой лимит. Google читает robots.txt не более 500 Кб, а Яндекс посчитает всё содержимое открытым, если файл весит больше 32 Кб.

Где должен располагаться Robots.txt

Файл располагается в корневом каталоге сайта, например, https://www.calltouch.ru/robots.txt.

Внимание: файл строго привязан к адресу домена вплоть до протокола. То есть, для http и https требуется предусмотреть 2 разных robots.txt, даже если затем адреса совпадают. Также один и тот же файл не применим для субдоменов.

Когда используются правила robots.txt

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

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

Вот некоторые примеры страниц и разделов, индексация которых нежелательна:

  • Страницы категорий с нестандартной сортировкой могут повлечь создание дублей основной страницы;
  • Пользовательский контент, не подлежащий модерации;
  • Страницы с конфиденциальной информацией;
  • Внутренние поисковые страницы, которых может насчитываться бесконечное множество.

Когда не стоит прибегать к robots.txt

При грамотном использовании данный файл несёт пользу, но есть ситуации, в которых его применение в целях блокировки краулинга только мешает.

Блокировка Javascript/CSS

Поисковым системам необходим доступ ко всем ресурсам, чтобы корректно рендерить страницы — это необходимая часть ранжирования. Если же, к примеру, Javascript, оказывающий подчас определяющее влияние на функционал страницы и пользовательский опыт отключен, это может привести к плохим результатам вплоть до понижения в выдаче.

Например, если ваша страница содержит редиректы с помощью Javascript, а тот, в свою очередь, закрыт от индексации, робот распознает в таком перенаправлении клоакинг — подмену страницы.

Блокировка по URL

Robots.txt можно использовать для блокировки URL со специфическими параметрами, но это далеко не всегда верное решение. Правильная настройка robots,txt предполагает использование Google Search Console — такой способ будет приемлем с точки зрения поисковых систем.

Можно разместить информацию в самом URL — /items#filter=date, так как краулеры не считывают это. Если URL-параметр должен быть использован обязательно, ссылка может содержать rel=nofollow во избежание индексации.

Блокировка URL с обратными ссылками

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

Установка правил против краулеров соцсетей

Даже если вы не хотите, чтобы поисковые системы читали ваши страницы, возможно, доступ роботов соцсетей не помешает. Ведь они формируют сниппеты в случае репоста ваших страниц в соцсети. Например, Facebook* (*продукт компании Meta, которая признана экстремистской организацией в России) будет пытаться зайти на каждую страницу, которую постят в нём, чтобы отображать релевантный сниппет.

Блокировка доступа к сайтам в процессе разработки

Использование robots.txt для блокировки всего сайта в процессе разработки хорошо работает. В то же время, Google рекомендует убирать из индексации страницы, но давать возможность роботу их читать. В целом же, следует делать такие сайты недоступными для посещения вообще.

Когда нечего блокировать

Некоторые сайты с весьма чистой архитектурой не испытывают потребности в блокировке каких-либо разделов. В такой ситуации вообще можно не создавать robots.txt, а возвращать страницу 404.

caltouch-platform

Эффективный маркетинг с Calltouch

  • Анализируйте весь маркетинг и продажи в одном окне
  • Удобные дашборды и воронки от показов рекламы до ROI

Узнать подробнее

platform

Как создать robots.txt

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

Ручное создание

Файл robots.txt можно создать в любом текстовом редакторе, например, в Блокноте и Microsoft Word. В документе прописывают специальный код-инструкцию, в нем указывают, какие элементы не подлежат индексации. После этого его сохраняют в формате.txt  под названием «robots». 

Готовый текстовый документ загружается в корневую папку с названием сайта, где находится файл index.html и файлы базового движка. Чтобы загрузить robots.txt на сервер, используют:

  • панель управления сервером;
  • консоль или пульт управления в CMS;
  • любой FTP-клиент.

Система каждый раз будет обращаться к роботу, чтобы понять, что можно индексировать на сайте, а что нет.

Онлайн-генераторы

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

Готовые шаблоны

В интернете представлено много шаблонов файла robots.txt, которые подходят для всех популярных движков (WordPress, Drupal). В шаблоне прописаны стандартные директивы, поэтому файл не нужно создавать полностью вручную.

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

Синтаксис robots.txt

Как настроить robots.txt? Примерно так может выглядеть блок robots.txt, ориентированный на Google.

Комментарии

Комментарии — это строки, которые полностью игнорируются поисковыми системами. Они начинаются со знака #. Они нужны для заметок о том, какие действия выполняют строки файла. Рекомендуется документировать каждую директиву в robots.txt, чтобы она могла быть удалена за ненадобностью или отредактирована.

Указания User-agent

Это блок, который даёт указания поисковым системам и роботам, используя директиву User-agent. Например, если вы хотите установить правила отдельно для Яндекса и Google. Тем не менее, он не применим для Facebook* (*продукт компании Meta, которая признана экстремистской организацией в России) и рекламный сетей — на них можно повлиять только через специальный токен с применением особых правил.

Каждый робот предусматривает собственный user-agent токен.

Краулеры сперва учитывают наиболее точные директивы, разделённые дефисом, а затем переходят к объемлющим. Так, Googlebot News сначала выполнит указания для User-agent «googlebot-news», а потом уже «googlebot» и впоследствии «*».

Наиболее распространённые роботы в российском сегменте — это:

  • Googlebot
  • Mediapartners-Google
  • Yandex
  • Facebook* (*продукт компании Meta, которая признана экстремистской организацией в России)

Конечно, этот список далеко не исчерпывающий. Чтобы ознакомиться с полным перечнем используемых поисковиками и другими системами роботов, лучше прочитайте их документацию.

Наименования роботов в robots.txt нечувствительны к регистру. «Googlebot» и «googlebot» вполне взаимозаменяемы.

Шаблоны адресов

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

Для эффективного использования такой функции понадобится два знака:

  • * — данный символ группировки обозначает любое количество символов. Его лучше располагать в начале или внутри адреса, но не в конце. Можно использовать сразу несколько групповых символов — например, «Disallow: */notebooks?*filter=». Правила с полными адресами не должны начинаться с данного символа.
  • $ — знак доллара означает конец адреса. Так, «Disallow: */item$» будет соответствовать URL, заканчивающемуся на «/item», но не «/item?filter» или подобным.

Обратите внимание, что эти правила уже чувствительны к регистру. Если вы запрещаете адреса с параметром «search», роботы всё ещё будут просматривать адреса, содержащие «Search».

Директивы работают только с телом адреса и не включают протокол или сам домен. Слэш в начале адреса означает, что данная директория располагается сразу после основного каталога. Например, «Disallow: /start» будет соответствовать «www.site.ru/start».

Пока вы не добавите * или / в начало директивы, она не будет ничему соответствовать. «Disallow: start» не будет иметь смысла — роботы её не поймут.

Чтобы наглядно продемонстрировать правило, приведём таблицу примеров:

Sitemap.xml

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

Для Sitemap вы должны указать полный путь, как это сделано у нас: «Sitemap: https://www.calltouch.ru/sitemap.xml». Также следует отметить, что Sitemap не всегда располагается на том же домене, что и весь сайт.

Поисковые роботы прочитают указанные в robots.txt карты сайтов, но они не появятся в том же Google Search Console, пока вы не дадите на это разрешение.

Host

Этот элемент раньше работал исключительно как инструкция для Яндекса, другим поисковым системам она была непонятна. Он указывал роботу Яндекса на главное зеркало сайта, и система рассматривала его в приоритетном порядке.

Директива Host уже не поддерживается Яндексом, решение об этом было принято еще в 2018 году. Теперь вместо нее схожий функционал выполняет раздел «Переезд сайта», доступный в Яндекс.Вебмастере.

Блоки в robots.txt

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

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

Несколько блоков User-Agent

Вы можете назначить правило сразу нескольким роботам, указав их в начале. Например, следующая директива Disallow будет работать как для Яндекса, так и для Google.

Пустые строки между блоками

Поисковые системы игнорируют пустые строки между директивами. Даже если одна директива будет отделена таким образом от предыдущей, робот всё равно её прочитает.

В следующем примере сразу два робота будут руководствоваться одним правилом.

Комбинация отдельных блоков

Разные блоки, в которых указан один и тот же агент, будут учитываться. Таким образом, Google не станет читать оба раздела, указанных в файле.

Директива Allow

Эта директива даёт доступ к указанному разделу. Вообще она действует по умолчанию, но может применяться для отмены ранее поставленного правила Disallow для вложенного раздела. Если вы запретили доступ к «/notebooks», а затем указали директиву «Allow: /notebooks/gamers», то директория /notebooks/gamers окажется читаема для краулеров, даже с учётом того, что вышестоящая запрещена к просмотру.

Приоритеты в robots.txt

Если указано несколько правил Allow и Disallow, роботы обращают внимание на те, у которых больше длина в знаках. Рассмотрим пример пути «/home/search/shirts»:

В этом случае весь путём разрешён к чтению, так как директива Allow содержит 9 знаков, а Disallow — максимум 7. Если вам нужно обойти это правило, то для увеличения длины строки можно добавлять *.

Если длина Allow и Disallow совпадает, то приоритет отдаётся Disallow.

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

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

Следующие директивы работают аналогично Allow и Disallow, используя символы * и /.

Noindex

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

Но тот же Google официально не поддерживает директиву Noindex — ситуация может измениться со дня на день. В подобной неопределённости лучше использовать данный инструмент для решения краткосрочных задач, как дополнительную меру, но не основное решение.

Помимо Noindex Google негласно поддерживает и ряд других директив, размещаемых в robots.txt. Важно помнить, что не все краулеры поддерживают эти директивы, и однажды они могут перестать работать. Не стоит на них полагаться.

Что нужно исключать из индекса

Правильный robots.txt не должен содержать:

  • Дубли страниц. Страница должна быть доступна по одному URL. Поисковые системы при обращении должны получать индивидуальные страницы с уникальным содержимым. Для скрытия дублей нужно использовать маски.  
  • Страницы с неуникальным контентом. Их стоит скрывать от поисковых систем до момента, когда они окажутся в индексе.
  • Страницы с индикаторами сессий.
  • Файлы, связанные с движком и управлением сайтом. К таким относят шаблоны, темы, панель администратора.  
  • Нерелевантные пользователям страницы. Это разделы, не имеющие уникального контента или содержания.

Кириллица в файле Robots

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

Советы по использованию операторов

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

  • Блокировать нужные типы файлов. Например, при необходимости заблокировать файлы, имеющие расширение .json, это будет выглядеть следующим образом: Disallow: /*.json$.
  • Блокировать URL, имеющий параметр ?, после которого располагаются GET-запросы. Такой способ применяется в случаях, когда у сайта настроен человекопонятный url для всех страниц, а документы, характеризующиеся GET-параметрами, оказываются дублями. 

Особенности robots.txt

Существует ряд ключевых рекомендаций и наблюдений касаемо влияния, оказываемого robots.txt на сайт.

  • Пропишите запасной блок или правило сразу для всех роботов. Если все ваши директивы прописаны для ограниченного количества роботов, те, которых нет в списке, окажутся в состоянии неопределённости, так как для них не предусмотрено правил.
  • Важно поддерживать актуальность robots.txt. Проблемы часто возникают в ситуации, когда robots.txt создавался на первоначальных этапах разработки сайта. По мере развития ресурса многие страницы могли стать актуальными, но всё ещё скрыты от роботов, и не только.
  • Избегайте путей, внутри которых содержится отключенная директория.
  • Чувствительность к регистру может стать причиной проблем.
  • Не отключайте обратные ссылки с внешних ресурсов.
  • Crawl-delay может иметь последствияДанная директива заставляет поисковых роботов работать с вашим сайтом медленнее обычного. Из-за этого важные страницы могут обрабатываться реже оптимального графика. Директива не поддерживает Гуглом, зато работает в случае с Яндексом.
  • Убедитесь, что robots.txt возвращает только коды 5**, если сайт отключен. Так роботы поймут, что сайт отключен на обслуживание и вернутся к нему позже.
  • Robots.txt имеет приоритет над другими параметрами индексации, задаваемыми вне файла.
  • Отключение мигрирующего домена повлияет на успех миграции. В данном случае роботы могут не найти редиректы со старого сайта на новый.

caltouch-platform

Сквозная аналитика Calltouch

  • Анализируйте воронку продаж от показов до денег в кассе
  • Автоматический сбор данных, удобные отчеты и бесплатные интеграции

Узнать подробнее

platform

Тестирование и аудит robots.txt

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

Правильная настройка robots.txt для Яндекса и Гугла для новичков и даже мастеров бывает затруднительна без использования специальных инструментов. К примеру, с помощью GSC robots.txt tester tool в Google Search Console вы можете увидеть последние кешированные копии страниц, а также просмотреть рендеры googlebot. Обратите внимание, что инструмент работает только с Google.

Отслеживание изменений в robots.txt

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

  • Используйте Google Search Console, чтобы узнать, какую версию robots.txt в данный момент использует Google. Для Яндекса необходимо использовать Яндекс.Вебмастер.
  • Проверяйте размер файла, чтобы он соответствовал лимитам.

Заключение

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

Понравилась статья? Поделить с друзьями:
  • Как правильно написать заявление на вырубку деревьев около дома
  • Как правильно написать заявление заведующей детского сада на увольнение
  • Как правильно написать cue файл
  • Как правильно написать заявление директору школы от родителей об отсутствии ребенка
  • Как правильно написать bat файл