Если вы хотите, чтобы поисковые системы проиндексировали целевые страницы вашего сайта и не затронули технические, необходимо создать правильный robots.txt. Для начала давайте разберемся, что такое индексация. Это процесс, когда «проверенные» роботами Яндекса и Гугла страницы заносятся в базу поисковых систем. Такой проиндексированный сайт можно найти в сети по запросу.
Для чего нужен роботс? Файл указывает поисковым роботам и краулерам, какие страницы разрешаются к просмотру и индексации, а какие нет. Это ключевой момент, так как позволяет закрыть страницы с нерелевантным контентом. Например, календарь и другие технические материалы, не подлежащие публикации.
Зачем морочиться и закрывать часть материалов на сайте? Поисковые системы выделяют на каждый ресурс в сети краулинговый бюджет – максимальное количество страниц, которые могут пройти индексацию. Соответственно, если вы не «Эльдорадо» или «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. Это разрешающая функция, которая открывает разделы для индексации, если, предположим, ранее он был закрыт от просмотра. Это как исключение из правил.
Например, запись читается так: ресурс закрыт для индексации, кроме выделенной директивой 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 не должен содержать пустых строк между директивами, но это больше эстетическая рекомендация. Даже если записи будут отделены пустотами друг от друга, робот прочитает, и всё верно интерпретирует. Например, такие записи не вызывают «затыка» при проверке. Во втором блоке правило будет применено к обоим ботам.
Разные блоки с одним и тем же агентом будут учитываться роботом при чтении файла. Например, Гуглбот не станет читать оба раздела:
В роботсе важна приоритетность записей. Например, если прописано несколько правил Allow и Disallow, то боты возьмут установки с тех директив, у которых больше длина в знаках. Например, сравним два пути:
Директива Allow – 9 символов, а Disallow – 7. Робот примет за руководство к действию разрешающее правило и проигнорирует запрет. Обойти это ограничение можно добавлением символов «*» к строке:
Синтаксис роботса
Чтобы директивы были понятны краулерам поисковых систем, необходимо использовать специальные обозначения в содержимом роботса. Их не так много:
- # - применяется для написания комментариев в коде. Это обозначение применимо ко всем роботам. Такие записи полностью игнорируются поисковыми системами, они нужны для заметок и рекомендаций.
- * - используется для обозначения любого количества символов. Обычно располагается в начале или внутри адреса, но не в конце. Например: Disallow: /*page – запрет страниц, которые заканчиваются на page.
- $ - знак означает конец действия правила, выступает как антипод «*». Например, Disallow: /page$ читается как запрет индексации страницы с параметром page, но не page.com и других.
Синтаксис роботса чувствителен к регистру. Например, адреса с параметром «search» и «Search» читаются как разные страницы. Директивы и синтаксис работают с телом адреса. Слэш перед записью означает, что директория располагается сразу после корневого каталога. Такая запись - «Disallow: /start» означает путь «www.домен.ru/start». Но пока в начало строки не будет добавлена «*», такую запись не поймут роботы.
Robots.txt для Яндекса и Гугла
Покажем основные принципы настройки для Яндекса и Гугла на примерах стандартного роботса для сайта на WordPress.
Вот пример для Яндекса:
В коде закрыты технические папки: wp-admin, plugins, themes и другие. Все остальные страницы с полезным контентом открыты по умолчанию для индексации ботом Яндекса. Заметьте, в файле нет директивы host, которая прекратила свое существование в 2018 году.
Пример для Google:
Основная часть не изменяется, но открываются директивы, разрешающие использовать JS скрипты и CSS таблицы. Эти записи появились благодаря советам Гугла для правильной индексации сайта ботами ПС. Скрипты и таблицы стилей не попадают в индекс, но помогают роботам корректно отображать сайт в выдаче.
Что закрывать в роботсе?
- Поисковые страницы на сайте. Даже при использовании внутреннего поиска по ресурсу быстрее всего создадутся дубли – релевантные страницы обрастут параметрическими «хвостами» с бесконечными циклами переиндексации. Закрыть результаты поиска от ботов Яндекса и Гугла – самый оптимум.
- Корзина в онлайн-магазинах. Пользы для продвижения сайта от таких страниц в индексе никакой. Поэтому закрываем и не паримся.
- Фильтры, калькуляторы сравнения товаров и прочее скрипты. Данная рекомендация относится к онлайн-магазинам, каталогам продукции. В настройках для бота Гугла можно открыть Java-скрипты, так как они не попадают в индекс ПС.
- Страницы авторизации, регистрации пользователей. Так как любая информация, которая вводится посетителями на сайте, является конфиденциальной, то её следует закрывать от индексации.
- Системные файлы и каталоги. Все папки, которые не содержат полезный целевой контент следует закрыть от индексации. Это сделает работу ботов более корректной и быстрой.
Как и куда добавить файл роботс?
После того как выполнена настройка файла robots.txt документ следует загрузить в корневую директорию сайта, чтобы создался путь: домен.ru/robots.txt. В периоды индексации, боты Яндекса и Гугла проверяют корневую папку на наличие этого файла и, если он есть, то руководствуются его директивами.
Типовые ошибки
Приведем несколько явных ошибок при работе с файлом роботс:
- Отсутствует документ в корневой папке сайта. Роботы ПС не могут найти и проиндексировать сайт.
- В файле прописана директива, закрывающая весь ресурс для индексации, то есть запись типа (Disallow: /).
- Используются только стандартные директивы без проработки каталогов, страниц, технических папок и других категорий. В итоге роботы индексируют все что попадается «на глаза».
- Открыты для индексирования страницы с ID-сессий и UTM-метками.
- Путь к карте сайта (Sitemap) указан неверно.
Как проверить?
Чтобы проинспектировать файл на наличие ошибок его необходимо загрузить в корень сайта и затем подключиться к сервисам Яндекса и Гугла:
- Яндекс. Вебмастер – перейти на вкладку Инструменты – Анализ robots.txt
- Google Search Console – перейти на вкладку Сканирование – Инструменты проверки robots.txt.
Кроме стандартных сервисов, существуют множество других онлайн-валидаторов файла роботс.
Резюме
Мы изучили, что представляет собой правильная настройка robots.txt. Этот файл является приоритетным для роботов Яндекса и Гугла при индексации сайта, так как напрямую влияет на результаты проверки. Какие страницы попадут в индекс и будут выводиться в поиске, а какие никогда не станут видимыми, зависит от правильно настроенного роботса.