Правильная настройка robots.txt: подробное руководство

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

Если вы хотите, чтобы поисковые системы проиндексировали целевые страницы вашего сайта и не затронули технические, необходимо создать правильный robots.txt. Для начала давайте разберемся, что такое индексация. Это процесс, когда «проверенные» роботами Яндекса и Гугла страницы заносятся в базу поисковых систем. Такой проиндексированный сайт можно найти в сети по запросу.

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

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

Зачем морочиться и закрывать часть материалов на сайте? Поисковые системы выделяют на каждый ресурс в сети краулинговый бюджет – максимальное количество страниц, которые могут пройти индексацию. Соответственно, если вы не «Эльдорадо» или «OZON» с раздутым бюджетом на десятки миллионов страниц, то каждая индексация бесполезного материала съедает и без того скромный бюджет. Чтобы показывать только самый «смак» и полезный целевой контент используют опции запрета индексации.

Подытожим для чего нужен этот файл:

  • Запретить индексацию разделов и страниц, которые не содержат полезный материал;
  • Разрешить просмотр и добавление в базу ПС целевых материалов сайта;
  • Разграничить права доступа между поисковиками. Например, Яндексу открыть одни страницы для индексации, а Гуглу – другие;
  • Показать роботам директиву host – главное зеркало ресурса;
  • Выставить запрет на парсинг информации с сайта сторонними парсерами.

Стандарт robots.txt приняли в 1994 году, но до сих пор он актуален при настройке сайтов. Чтобы решить 80% задач с индексацией ресурсов достаточно правильно настроить роботс.

Как создать?

Чтобы сделать robots.txt достаточно просто уметь создавать текстовые файлы, например, с помощью стандартного блокнота Windows. Далее наполняете его содержимым и через FTP-соединение загружаете в корневую директорию вашего сайта. Нельзя прятать файл во вложения – папки, категории и прочее. Всё. При следующей индексации поисковой робот обратится к этому документу, чтобы получить инструкции по работе с ресурсом.

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

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

Правила настройки

Правильная настройка robots.txt заключается в построении структуры документа с использованием основных разделов и директив. Рассмотрим подробнее:

  • Директива User-agent. Любой файл роботса начинается с этой строчки. В ней обычно пишут, какому боту поисковой системы предназначаются инструкции. Например, для всех роботов директива выглядит так: User-agent: *, где «*» понимается «всем или кому угодно». А вот пример отдельной директивы для бота Яндекса: User-agent: YandexBot или Гугла User-agent: GoogleBot
  • Директива Allow. Это разрешающая функция, которая открывает разделы для индексации, если, предположим, ранее он был закрыт от просмотра. Это как исключение из правил.
Если вы хотите, чтобы поисковые системы проиндексировали целевые страницы вашего сайта и не затронули технические, необходимо создать правильный robots.txt.-3

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

  • Директива Disallow. Это запрещающая директива в противовес Allow, которая закрывает страницы или весь сайт от индексирования. По своему действию схожа с тегом noindex. Например, запись Disallow: /запрещенная к просмотру страница.html в файле роботс.
  • Директива Host. Применяется для Яндекса, чтобы указать основное зеркало сайта. Запись в роботсе имеет следующий вид: Host: домен.ru или Host: www.домен.ru, если ресурс на протоколе https, то прописывается так: Host: https://домен.ru. Если в документе дважды прописана директива хост, то робот возьмет данные первой записи и проигнорирует все последующие. Отменена в 2018 году.
  • Директива Sitemap. Применяется, чтобы указать краулерам путь к карте сайта в формате XML, если она имеется на сайте. Прописывается в роботсе так: Sitemap: http://www.домен.ru/sitemap.xml
  • Директива Clean-param. Закрывает страницы с дублированным контентом от индексации. Параметр позволяет отсечь параметрический хвост урлов, оставляя только основу – адрес страницы. Полезная директива для онлайн-магазинов, когда приходится работать с каталогами. Например, основная страница сайта – index, может обрасти множеством клонов – логинами пользователей, перезагрузками, возвратами. Чтобы этот «мусор» не индексировался как клоны, прописывают: Clean-param: option /index.php
  • Директива Crawl-Delay. Выставляет лимит времени роботу Яндекса на загрузку страницы. Полезная опция при большой загруженности сервера, когда страницы не могут быстро обмениваться содержимым с краулером.

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

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

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

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

В роботсе важна приоритетность записей. Например, если прописано несколько правил Allow и Disallow, то боты возьмут установки с тех директив, у которых больше длина в знаках. Например, сравним два пути:

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

Директива Allow – 9 символов, а Disallow – 7. Робот примет за руководство к действию разрешающее правило и проигнорирует запрет. Обойти это ограничение можно добавлением символов «*» к строке:

Синтаксис роботса

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

  • # - применяется для написания комментариев в коде. Это обозначение применимо ко всем роботам. Такие записи полностью игнорируются поисковыми системами, они нужны для заметок и рекомендаций.
  • * - используется для обозначения любого количества символов. Обычно располагается в начале или внутри адреса, но не в конце. Например: Disallow: /*page – запрет страниц, которые заканчиваются на page.
  • $ - знак означает конец действия правила, выступает как антипод «*». Например, Disallow: /page$ читается как запрет индексации страницы с параметром page, но не page.com и других.

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

Robots.txt для Яндекса и Гугла

Покажем основные принципы настройки для Яндекса и Гугла на примерах стандартного роботса для сайта на WordPress.

Вот пример для Яндекса:

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

В коде закрыты технические папки: wp-admin, plugins, themes и другие. Все остальные страницы с полезным контентом открыты по умолчанию для индексации ботом Яндекса. Заметьте, в файле нет директивы host, которая прекратила свое существование в 2018 году.

Пример для Google:

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

Основная часть не изменяется, но открываются директивы, разрешающие использовать JS скрипты и CSS таблицы. Эти записи появились благодаря советам Гугла для правильной индексации сайта ботами ПС. Скрипты и таблицы стилей не попадают в индекс, но помогают роботам корректно отображать сайт в выдаче.

Что закрывать в роботсе?

  • Поисковые страницы на сайте. Даже при использовании внутреннего поиска по ресурсу быстрее всего создадутся дубли – релевантные страницы обрастут параметрическими «хвостами» с бесконечными циклами переиндексации. Закрыть результаты поиска от ботов Яндекса и Гугла – самый оптимум.
  • Корзина в онлайн-магазинах. Пользы для продвижения сайта от таких страниц в индексе никакой. Поэтому закрываем и не паримся.
  • Фильтры, калькуляторы сравнения товаров и прочее скрипты. Данная рекомендация относится к онлайн-магазинам, каталогам продукции. В настройках для бота Гугла можно открыть Java-скрипты, так как они не попадают в индекс ПС.
  • Страницы авторизации, регистрации пользователей. Так как любая информация, которая вводится посетителями на сайте, является конфиденциальной, то её следует закрывать от индексации.
  • Системные файлы и каталоги. Все папки, которые не содержат полезный целевой контент следует закрыть от индексации. Это сделает работу ботов более корректной и быстрой.

Как и куда добавить файл роботс?

После того как выполнена настройка файла robots.txt документ следует загрузить в корневую директорию сайта, чтобы создался путь: домен.ru/robots.txt. В периоды индексации, боты Яндекса и Гугла проверяют корневую папку на наличие этого файла и, если он есть, то руководствуются его директивами.

Типовые ошибки

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

  • Отсутствует документ в корневой папке сайта. Роботы ПС не могут найти и проиндексировать сайт.
  • В файле прописана директива, закрывающая весь ресурс для индексации, то есть запись типа (Disallow: /).
  • Используются только стандартные директивы без проработки каталогов, страниц, технических папок и других категорий. В итоге роботы индексируют все что попадается «на глаза».
  • Открыты для индексирования страницы с ID-сессий и UTM-метками.
  • Путь к карте сайта (Sitemap) указан неверно.

Как проверить?

Чтобы проинспектировать файл на наличие ошибок его необходимо загрузить в корень сайта и затем подключиться к сервисам Яндекса и Гугла:

Кроме стандартных сервисов, существуют множество других онлайн-валидаторов файла роботс.

Резюме

Мы изучили, что представляет собой правильная настройка robots.txt. Этот файл является приоритетным для роботов Яндекса и Гугла при индексации сайта, так как напрямую влияет на результаты проверки. Какие страницы попадут в индекс и будут выводиться в поиске, а какие никогда не станут видимыми, зависит от правильно настроенного роботса.