Еще один взгляд на robots.txt

Как составить robots.txt

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

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

Команды в robots.txt

 

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

Основные роботы это Yandex и Googlebot. Если вебмастер хочет задать команды роботу Гугла, то указывается:

User-agent: Googlebot  — директивы для Google

Если Яндекса, то

User-agent: Yandex — директивы для Яндекс

Если вебмастер хочет прописать правила сразу для всех роботов:

User-agent: * — директивы для всех

Я робот

Спецсимвол «*» означает любую последовательность, в том числе и пустую.
Я привык прописывать команды в роботсе для каждого робота, а потом отдельно добить User-agent: *, но можно и сразу переходить к последнему варианту.
Ещё я прописываю команды для роботов картинок: YandexImages и Googlebot-Image.

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

User-agent: *
Disallow: / — запрещает индексировать весь сайт всем роботам

User-agent: *
Disallow: /images/ — закрывает каталог images и его содержимое

Всегда волновал один вопрос. Влияет ли закрывающий слеш на то либо? Ответ пришёл из опыта. На одном сайте имелось две карты sitemap.xml и html страница с картой и адресом sitemap. В роботсе была прописана команда:

User-agent: *
Disallow: /sitemap

В панели Search Console пришло сообщение, что роботу перекрыт доступ к xml карте сайта. Дело в том, что если не закрыть слеш, то к запрету подпадают все адреса, которые начинаются с sitemap, т.е. и sitemap.xml в том числе.

На такие случаи имеется ещё одни спецсимвол, который можно было использовать в этом случае — «$» (что-то вроде точки)

User-agent: *
Disallow: /sitemap$ — запрещает mysite/sitemap, но разрешает mysite/sitemap.xml

Чтобы разрешить доступ к части закрытых страниц и данных сайта используется команда Allow.

User-agent: *
Disallow: /
Allow: /images — запрещает доступ ко всему сайту, кроме images и его содержимого

Только для Яндекса прописывается директива Host, которая указывает главное зеркало сайта для индексации.

User-Agent: *
Disallow:
Host: www.mysite.ru

Главное зеркало сайта

Директива Sitemap указывает расположение xml карты сайта.

User-Agent: *
Disallow:

Sitemap: http://wantobe.pro/sitemap.xml

Можно запретить файлы одного типа:

User-Agent: *
Disallow: /*.pdf — запрещает все pdf файлы

Я часто использовал это на сайтах, чтобы такие файлы не перебивали запросы в выдаче.

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

 

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

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

Итак, запускаем Screaming Frog SEO Spider и парсим сайт.

Парсинг в SEO Frog

Дальше сортируем по названию.

Сортировка SEO Frog

Например, можно закрыть архив и страницу контактов, которая не несет никакой поисковой ценности.

Disallow: /2016/
Disallow: /kontaktyi/

Поиск разделов в SEO Frog

Вот еще целый раздел с JS, который не нужен в поиске

Disallow: /wp-includes

Поиск разделов в SEO Frog

Так пробираемся до самого низа. Как я уже подметил SEO Frog пропарсил не весь сайт, особенно сайт WordPress, поэтому дальше ищем руками.

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

 

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

  • страница авторизации пользователей
  • страница авторизации администраторов
  • личный кабинет
  • панель администратора
  • результаты поиска по сайту

Страницы, которые можно закрывать в зависимости от ситуации:

  • страницы автора
  • страницы контактов
  • страницы меток
  • файлы pdf, doc и прочие аттачменты
  • картинки
  • страницы архивов
  • любые динамические страницы.

Готовый robots.txt загружается в корневой каталог сайта, чтобы в итоге был доступен по адресу mysite/robots.txt

Заключение

Вместо заключения выкладываю свой роботс на WordPress. Оставляйте в комментариях свои советы и делитесь опытом. Всем советую изучить справки о robots.txt Яндекс и Google.

User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /template.html
Disallow: /search
Disallow: */trackback/
Disallow: */feed/
Disallow: */feed
Disallow: */comments/
Disallow: /?feed=
Disallow: /?s=
Disallow: /?wp-subscription-manager*
Disallow: */comment
Disallow: */attachment/*
Disallow: */page/*
Disallow: /contact/
Allow: /wp-content/uploads/
Host: okulist.com.ua

User-agent: Googlebot
Disallow: /wp-admin
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /search
Disallow: */trackback/
Disallow: */feed/
Disallow: */feed
Disallow: */comments/
Disallow: /?feed=
Disallow: *?*
Disallow: /?wp-subscription-manager*
Disallow: */comment
Disallow: */attachment/*
Disallow: /wp-includes/
Disallow: */page/*
Disallow: /contact/
Allow: /wp-includes/js/
Allow: /wp-content/uploads/

User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /template.html
Disallow: /search
Disallow: */trackback/
Disallow: */feed/
Disallow: */feed
Disallow: */comments/
Disallow: /?feed=
Disallow: /?s=
Disallow: /?wp-subscription-manager*
Disallow: */comment
Disallow: */attachment/*
Disallow: */page/*
Disallow: /contact/
Allow: /wp-content/uploads/
Sitemap: http://okulist.com.ua/sitemap.xml

User-agent: Googlebot-Image
Allow: /wp-content/uploads/

User-agent: YandexImages
Allow: /wp-content/uploads/

User-agent: Mediapartners-Google
Disallow:

User-Agent: YaDirectBot
Disallow:

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

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