Директивы, запреты и проверка robots.txt

Ранее, мы рассмотрели  основные операторы Disallow и User-Agent – именно они чаще всего используются в файле «robots.txt». Теперь подробнее остановимся на том, как лучше использовать их совместно, и какие правила необходимо соблюдать, чтобы всё работало так — как задумано. Оператор Disallow запрещает доступ поисковым роботом к папкам, файлам, директориям в названиях которых встречаются определенные сочетания символов или единичные символы.

Одна директива – одна строка

Чтобы запретить доступ к разделу администрирования сайтом, после строки с User-Agent прописываем Disallow: /admin/. Обратите внимание, что директива Disallow с этим запретом не обязательно должен идти сразу после User-Agent, между ними могут быть и другие правила Disallow и Allow директивы. Я предпочитаю писать Allow, после всех Disallow.

Внимание! Запреты с помощью Disallow нельзя перечислять в одной строке! Для каждой директории, папки, раздела и файла нужно писать свою директиву в новой строке. Некоторые SEO  оптимизаторы и администраторы сайтов помещают все запрещаемые к индексации каталоги в одну инструкцию Disallow. Это ошибка, которая идет в разрез со стандартами и если сегодня это возможно работает для некоторых поисковых роботов, то не понятно как будут вести себя при индексации другие поисковики. И если это работает сегодня, для поискового паука, то не факт, что эта директива, написанная с ошибкой будет работать для него же завтра.

Итак, каждое новое правило Disallow мы пишем в новой строке. Между директивами Disallow нет пустых строк, и если надо задать одно и то же правило для нескольких поисковиков, мы просто пишим:

User-Agent: *
Disallow: /admin/

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

User-Agent: Googlebot
Disallow: /admin/

User-Agent: Yandex
Disallow: /admin/index.php

Директивы Host и Crawl-delay

Не все правила индексации понятны всем поисковым роботом, поэтому при написании своего robots.txt учитывайте это. Например директива Host – объявляет о главном адресе интернет-сайта и очень полезна, если у сайта есть зеркало или в htaccess не прописаны специальные правила для редиректа и одновременно существуют два домена с www и без него. Поисковый робот считает, что www.sbbo.ru и sbbo.ru – это два разных сайта, поэтому чтобы не было дублирования контента мы сообщаем поисковикам Host: sbbo.ru

Внимание! Для того, чтобы директива работала правильно, в этой строке не должно быть слешей и http. Т.е. если написать Host: http://sbbo.ru/- это не правильно. Нужно прописывать «Host: sbbo.ru». Так же как и в случае с Disallow нельзя указывать несколько доменов в одной строке.

На сайте Яндекса написано:

Директива Host не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом.

Crawl-delay – полезная директивая, которая нужная для снижения нагрузки на сервер. Инструкция задает минимальный интервал между окончанием загрузки предыдущей страницы и началом закачки следующей. Если Crawl-delay: 3, это значит – интервал между загрузкой двух разных веб-страниц сайта, равен трем секундам.

Поисковый робот Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но позволяет ускорить обход сайта.

Автоматически сгенерировать robots.txt

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

  • Адрес сайта, для которого генерируется
  • Запретить индексацию сайта всем роботам или нет
  • С задержкой в секунд
  • Карта сайта находится по адресу
  • Разрешить этим роботам индексировать сайт

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

Так же есть директива Sitemap, которая сообщаем поисковым роботом, где находится xml карта сайта. Мы разберем её в другой раз, саму директиву и карту сайта в частности.

Проверить работоспособность готового robots.txt можно в разных сервисах.

Инструмент Яндекс Веб-мастер: https://webmaster.yandex.ru/tools/robotstxt/

В блоке Результаты анализа robots.txt перечислены директивы, которые будет учитывать робот при индексировании сайта. Чтобы проверить наличие разрешения или запрета на индексирование определенных страниц, в поле Список URL укажите эти страницы.

Google Search Console: https://www.google.com/webmasters/tools/robots-testing-tool

  1. В Google Search Console выберите ваш сайт, перейдите к инструменту проверки и просмотрите содержание файла robots.txt. Синтаксические и логические ошибки в нем будут выделены, а их количество – указано под окном редактирования.
  2. Внизу на странице интерфейса укажите нужный URL в соответствующем окне.
  3. В раскрывающемся меню справа выберите робота.
  4. Нажмите кнопку Проверить.
  5. Отобразится статус Доступен или Недоступен. В первом случае роботы Google могут переходить по указанному вами адресу, а во втором – нет.
  6. При необходимости внесите изменения в меню и выполните проверку заново. Внимание! Эти исправления не будут автоматически внесены в файл robots.txt на вашем сайте.
  7. Скопируйте измененное содержание и добавьте его в файл robots.txt на вашем веб-сервере.

UPD 1: исправлены пути до сервисов проверки robots: яндекс и google.
UPD2 2: Директива Host должна содержать:

  • Протокол HTTPS, если зеркало доступно только по защищенному каналу. Если вы используете протокол HTTP, то его указывать необязательно.
  • Одно корректное доменное имя, соответствующего RFC 952 и не являющегося IP-адресом.
  • Номер порта, если необходимо (Host: sbbo.ru:8080).

Добавить комментарий

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

*