Энциклопедия интернет-маркетинга: составляем корректный robots.txt своими руками

Быстрое исследование индексации сайта через новый Вебмастер
10.12.2017
10 способов убить репутацию компании в SMB
10.12.2017

Энциклопедия интернет-маркетинга: составляем корректный robots.txt своими руками

SEOnews запустил проект для специалистов и клиентов «Энциклопедия интернет-маркетинга», в рамках которого редакция публикует обучающие материалы от ведущих агентств на рынке. В итоге мы планируем выпустить полное, практически полезное и актуальное электронное руководство.

***

Составляем корректный robots.txt своими руками

Руслан Фатхутдинов
Руководитель SEO-отдела,

Реаспект

Если попросить SEO-специалиста оценить важность правильно составленного robots.txt для сайта, хороший SEOшник оценит ее на 5 баллов из 5.

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

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

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

Если вы уже знакомы с основами составления robots.txt, можете сразу переходить к пункту 3 «Составление robots.txt».

1. Что такое robots.txt

Для начала определимся что из себя представляет этот файл и зачем он нужен.

В справке Яндекса дано следующее определение:

Robots.txt — текстовый файл, который содержит параметры индексирования сайта для роботов поисковых систем…

Сессия (робота поисковой системы) начинается с загрузки файла robots.txt. Если файл отсутствует, не является текстовым или на запрос робота возвращается HTTP-статус отличный от 200 OK, робот считает, что доступ к документам (страницам сайта) не ограничен.

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

Сказано «индексировать» страницу или раздел, будет индексировать. Сказано «не индексировать», не будет.

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

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

Порядок включения директив:

<Директива><двоеточие><пробел><документ, к которому применяется директива>

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

User-agent – указание робота, для которого составлен список директив ниже. Обязательная для robots.txt директива, которая указывается в начале файла.

  • Основной User-agent поисковой системы Яндекс – Yandex (список роботов Яндекса, которым можно указать отдельные директивы).
  • Основной User-agent поисковой системы Google – Googlebot (список роботов Google, которым можно указать отдельные директивы).
  • Если список директив указывается для всех возможных User-agent’ов, ставится – «*»

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

  • При запрете индексации документа путь определяется от корня сайта (красная стрелка на рисунке 1).
  • Для запрета индексации документов второго и далее уровней можно указывать полный путь документа, или перед адресом документа указывается знак «*» (синяя стрелка на рисунке 1).
  • При запрете индексации каталога также будут запрещены к индексации все страницы, входящие в этот каталог (зеленая стрелка на рисунке 1).
  • Можно запрещать для индексации документы, в url которых содержатся определенные символы (розовая стрелка на рисунке 1).

Рис. 1 Директива Disallow

Allow – директива разрешения индексации документов. Является директивой по умолчанию для всех документов на сайте, если не указано другое.

  • Используется для открытия к индексации документов (синие стрелки), которые по той или иной причине находятся в каталогах, закрытых от индексации (красные стрелки).
  • Можно открывать для индексации документы, в url которых содержатся определенные символы (синие стрелки).
  • Стоит обратить внимание на правила применения директив Disallow-Allow: «Директивы Allow и Disallow из соответствующего User-agent блока сортируются по длине префикса URL (от меньшего к большему) и применяются последовательно.»

Рис. 2 Директива Allow

Sitemap – директива для указания пути к файлу xml-карты сайта.

  • Если сайт имеет более 1 карты xml, допустимо указание нескольких путей.

User-agent: *

Sitemap: http://site.ru/sitemap-1.xml

Sitemap: http://site.ru/sitemap-2.xml

Спецсимволы

  • * — означает любую последовательность символов. Добавляется по умолчанию к концу каждой директивы (красная стрелочка на рисунке 3).
  • $ — используется для отмены знака «*» на конце директивы (синяя стрелочка на рисунке 3).
  • # — знак описания комментариев. Все что указывается справа от этого знака не будет учитываться роботами.
Рис. 3 Спецсимволы

Host – директива указания главного зеркала сайта. Учитывается только роботами Яндекса.

  • Данная директива может склеить не только зеркала вида www.site.ru и site.ru но и другие сайты, в robots.txt которых указан соответствующий Host.
  • Если зеркало доступно только по защищенному протоколу, указывается адрес с протоколом (https://site.ru). В других случаях протокол не указывается.
  • Для настройки главного зеркала в поисковой системе Google используется функция «Настройки сайта» в Google Search Console.

Crawl-delay – директива указания минимального времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей. Учитывается только роботами Яндекса. Директива используется, чтоб роботы поисковых систем не перегружали сайт.

  • Для ограничения времени между окончанием загрузки одной страницы и началом загрузки следующей в поисковой системе Google используется функция «Настройки сайта» в Google Search Console

Clean-param – директива используется для удаления параметров из url-адресов сайта. Учитывается только роботами Яндекса.

  • Может использоваться для удаления меток отслеживания, фильтров, идентификаторов сессий и других параметров.
  • Для правильной обработки меток роботами Google используется функция «Параметры URL» в Google Search Console.

Рис. 4 Clean-param

2. Использование Google Search Console (GSC)

Как говорилось ранее, часть функций, которые можно указать для роботов Яндекса в robots.txt, для роботов Google надо указывать в Google Search Console.

Чтобы указать главное зеркало в Google необходимо подтвердить оба зеркала (www.site.ru и site.ru) в GSC. Зайти в настройки сайта (знак шестеренки), там выбрать ссылку «Настройка сайта» и в блоке «Основной домен» выбрать главное зеркало и сохранить изменения.

Чтобы ограничить скорость сканирования сайта роботами Google необходимо подтвердить сайт в GSC. Зайти в настройки сайта (знак шестеренки), там выбрать ссылку «Настройка сайта», в блоке «Частота сканирования» выбрать пункт «Ограничить максимальную скорость сканирования Google» и выставить приемлемое значение, после чего сохранить изменения.

Для того чтобы задать, как Google будет обрабатывать параметры в url-адресах сайта необходимо подтвердить сайт в GSC. Зайти в раздел «Сканирование» – «Параметры URL», нажать на кнопку «Добавление параметра», заполнить соответствующие поля и сохранить изменения.

  • В поле «Параметр» добавляется сам параметр. Это поле является регистрозависимым.
  • В поле «Изменяет ли этот параметр содержание страницы, которое видит пользователь?», вне зависимости от реального значения параметра, рекомендуем выбирать пункт «Да, параметр изменяет, реорганизует или ограничивает содержимое страницы», так как при выборе варианта «Нет, параметр не влияет на содержимое страницы (например, отслеживает использование) есть вероятность того что, одна страница с параметром все же попадет в индекс.
  • Выбор в поле «Как этот параметр влияет на содержимое страницы?» влияет только на то как этот параметр будет отображаться в списке других параметров в GSC, поэтому допускается выбор любого значения.
  • В блоке «Какие URL содержащие этот параметр, должен сканировать робот Googlebot?» выбор должен делаться исходя из того, что за параметр вводится. Если это метки для отслеживания, рекомендуется выбирать «Никакие URL». Если это какие-то GET параметры для продвигаемых страниц, выбирать стоит «Каждый URL».

Если робот Google уже нашел какие-либо параметры на сайте, то вы увидите список этих параметров в таблице и сможете посмотреть примеры таких страниц.

3. Составление robots.txt

Рассмотрев основные директивы для работы с файлом robots.txt перейдем к составлению robots.txt для сайта.

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

1. Первым делом добавим в robots.txt три User-Agent с одной пустой строкой между каждой директивой

  • User-agent: Yandex
  • User-agent: Googlebot
  • User-agent: *

Третий User-Agent добавляется по причине того, что для роботов каждой поисковой системы наборы директив будут различаться.

2. Каждому User-agent’у рекомендуется добавить директивы запрета индексации самых распространенных форматов документов

  • Disallow: *.pdf
  • Disallow: *.xls
  • Disallow: *.doc
  • Disallow: *.ppt
  • Disallow: *.txt

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

Даже если сейчас на вашем сайте пока нет документов в вышеперечисленных форматах, рекомендуем не удалять эти строки, а оставить их на перспективу.

3. Каждому User-agent’у добавляем директиву разрешения индексации JS и CSS файлов

  • Allow: */<папка содержащая css>/*.css
  • Allow: */<папка содержащая js>/*.js

JS и CSS файлы открываются для индексации, так как часто они находятся в каталогах системных папок, но они требуются для правильного индексирования сайта роботами поисковых систем.

4. Каждому User-agent’у добавляем директиву разрешения индексации самых распространенных форматов изображений

  • Allow: */<папка содержащая медиа файлы>/*.jpg
  • Allow: */<папка содержащая медиа файлы>/*.jpeg
  • Allow: */<папка содержащая медиа файлы>/*.png
  • Allow: */<папка содержащая медиа файлы>/*.gif

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

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

5. Для User-agent’а Yandex добавляем директиву удаления меток отслеживания, чтобы исключить возможность появления дублей страниц в индексе поисковых систем

  • Clean-param: utm_source&utm_medium&utm_term&utm_content&utm_campaign&yclid&gclid&_openstat&from /

6. Эти же параметры закрываем в GSC в разделе «Параметры URL»

Внимание! Если закрыть от индексации роботами Google метки при помощи директивы запрета, есть вероятность того, что вы не сможете запустить на такие страницы рекламу в Google Adwords.

7. Для User-agent’а «*» закрываем метки отслеживания стандартной директивой запрета

  • Disallow: *utm
  • Disallow: *clid=
  • Disallow: *openstat
  • Disallow: *from

8. Далее задача закрыть от индексации все служебные документы, документы бесполезные для поиска и дубли других страниц. Директивы запрета копируются для каждого User-agent’а. Пример таких страниц:

  • Администраторская часть сайта
  • Персональные разделы пользователей
  • Корзины и этапы оформления
  • Фильтры и сортировки в каталогах

9. Последней директивой для User-agent’а Yandex указывается главное зеркало

  • Host: site.ru

10. Последней директивой, после всех директив, через пустую строку указываются директивы xml-карт сайта, если таковые используются на сайте

  • Sitemap: http://site.ru/sitemap.xml

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

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

User-agent: Yandex

# Наиболее часто встречаемые расширения документов

Disallow: /*.pdf

Disallow: /*.xls

Disallow: /*.doc

Disallow: /*.ppt

Disallow: /*.txt

# Требуется для правильно обработки ПС

Allow: /*/<папка содержащая css>/*.css

Allow: /*/<папка содержащая js>/*.js

# Картинки

Allow: /*/<папка содержащая медиа файлы>/*.jpg

Allow: /*/<папка содержащая медиа файлы>/*.jpeg

Allow: /*/<папка содержащая медиа файлы>/*.png

Allow: /*/<папка содержащая медиа файлы>/*.gif

# Наиболее часто встречаемые метки для отслеживания рекламы

Clean-param: utm_source&utm_medium&utm_term&utm_content&utm_campaign&yclid&gclid&_openstat&from /

# При наличии фильтров и параметров добавляем и их в Clean-param

Host: site.ru

 

User-agent: Googlebot

Disallow: /*.pdf

Disallow: /*.xls

Disallow: /*.doc

Disallow: /*.ppt

Disallow: /*.txt

Allow: /*/<папкасодержащая css>/*.css

Allow: /*/<папкасодержащая js>/*.js

Allow: /*/<папкасодержащаямедиафайлы>/*.jpg

Allow: /*/<папка содержащая медиа файлы>/*.jpeg

Allow: /*/<папка содержащая медиа файлы>/*.png

Allow: /*/<папка содержащая медиа файлы>/*.gif

# У google метки, фильтры и параметры закрываются в GSC-Сканирование-Параметры URL

 

User-agent: *

# Метки, фильтры и параметры для других ПС закрываем по классическому стандарту

Disallow: /*utm

Disallow: /*clid=

Disallow: /*openstat

Disallow: /*from

Disallow: /*.pdf

Disallow: /*.xls

Disallow: /*.doc

Disallow: /*.ppt

Disallow: /*.txt

Allow: /*/<папкасодержащая css>/*.css

Allow: /*/<папкасодержащая js>/*.js

Allow: /*/<папка содержащая медиа файлы>/*.jpg

Allow: /*/<папка содержащая медиа файлы>/*.jpeg

Allow: /*/<папка содержащая медиа файлы>/*.png

Allow: /*/<папка содержащая медиа файлы>/*.gif

 

Sitemap: http://site.ru/sitemap.xml

* Напомним, что в указанном шаблоне присутствует спецсимвол комментария «#», и все что находится справа от него предназначается не для роботов, а является подсказками для людей.

Важно! Когда копируете шаблон в текстовый файл, не забудьте убрать лишние пустые строки.

Пустые строки в robots.txt должны быть только:

  • Между последней директивой одного User-agent’а и следующим User-agent’ом.
  • Последней директивой последнего User-agent’а и директивой Sitemap.

Но прежде чем добавлять его на сайт, мы рекомендуем проверить его в сервисах анализа, например, для Яндекса, нет ли в нем ошибок. А заодно проверить несколько документов из каталогов, которые запрещены к индексации, и несколько документов, которые должны быть открыты для индексации, и проверить, нет ли каких-либо ошибок.

4. Распространенные ошибки

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

4.1. Полное закрытие сайта от индексации

User-agent: *

Disallow: /

Такая ошибка приводит к исключению всех страниц из индекса поисковых систем и полной потери поискового трафика.

4.2. Не закрытие от индексации меток отслеживания

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

4.3. Неправильное зеркало сайта

User-agent: *

Host: site.ru # В то время, как правильное зеркало sub.site.ru

Скорее всего в большинстве случаев Яндекс просто проигнорирует эту директиву, но если, например, у вас есть несколько судбоменов для разных регионов, то есть вероятность того, что зеркала просто «склеятся».

Заключение

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

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

Полезные ссылки по теме:

  • Анализатор robots.txt для Яндекс https://webmaster.yandex.ru/robots.xml
  • Анализатор robots.txt для Google https://www.google.com/webmasters/tools/robots-testing-tool?utm_source=support.google.com/webmasters/&utm_medium=referral&utm_campaign=6155685
  • Справка по robots.txt от Яндекс https://yandex.ru/support/webmaster/controlling-robot/robots-txt.xml
  • Справка по robots.txt от Google https://support.google.com/webmasters/answer/6062598?hl=ru