Robots.TXT: полная инструкция по созданию, настройке и использованию директив под нужды SEO

Что такое robots.txt


Robots.txt — это стандартный текстовый файл в кодировке UTF-8 с расширением .txt, который содержит директивы и инструкции индексирования сайта, его страниц или разделов. Он необходим для роботов поисковых систем. В статье расскажем, зачем он нужен, какие инструменты используются для его проверки и настройки под Яндекс и Google, а также представим рекомендации по созданию.

Это первый файл, к которому обращаются поисковые системы, чтобы определить, может ли проводиться индексация сайта. Файл располагается в корневой директории сайта. Разместить его можно через FTP-клиент. Файл должен быть доступен в браузере по ссылке вида site.ru/robots.txt. На него нужно смотреть в первую очередь, если на сайт “упал трафик”.

Рассмотрим наиболее простой пример содержимого robots.txt (кстати, в названии должен быть строго нижний регистр букв), которое позволяет поисковым системам индексировать все разделы сайта:

User-agent: *
Allow: /

Эта инструкция дословно говорит: роботы, которые читают данную инструкцию (User-agent: *), могут индексировать весь сайт (Allow: /).

Зачем он вообще необходим? Чтобы это понять, достаточно представить, как работает поисковый робот. Им по умолчанию приходится просматривать миллиарды страниц по всему интернету, а затем определить для каждой страницы запросы, которым они могут соответствовать. В конце они ранжируют общую массу в поисковой выдаче. Конечно, это задача не из легких. Для работы поисковых алгоритмов задействуются колоссальные ресурсы, которые, конечно, ограничены.

Если кроме страниц, которые содержат полезный контент и которые по задумке владельца сайта должны попадать в выдачу, роботу придется просматривать еще множество технических страниц, которые не представляют никакой ценности для пользователей, его ресурсы будут растрачиваться впустую. Лишь один сайт может генерировать тысячи страниц результатов поиска по сайту, повторяющихся страниц или таких страниц, которые не содержат контента вообще. А если этот объем масштабировать на всю сеть, то получатся огромные цифры и соответствующие ресурсы, которые придется тратить поисковикам.

Наличие огромного количества бесполезного контента на сайте может отрицательно сказаться на его представлении в поиске.

Помимо этого, существует такое понятие, как краулинговый бюджет. Условно говоря, это объем страниц, который может участвовать в поисковой выдаче от одного сайта. Этот объем, конечно, ограничен, хоть по мере роста проекта и повышения его качества краулинговый бюджет может увеличиваться. Главная мысль в том, в выдаче должны участвовать лишь страницы, которые содержат полезные записи, а весь технический «мусор» не должен засорять выдачу.

Зачем Robots.txt нужен для SEO?

Если на сайте нет robots.txt, то роботы из поисковых систем будут беспорядочно блуждать по всему сайту. Роботы могут попасть в корзину с мусором, после чего они «сделают вывод», что на сайте слишком грязно. А с помощью robots.txt можно скрыть определенные страницы от индексации. Его нужно создавать для каждого поддомена.

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

Где находится и как создать?

Файл robots.txt размещается в корневой директории сайта: путь к файлу robots станет таким: site.ru/robots.txt.

Принцип настройки и как редактировать. Техническая часть

После написания файла Robots его текст можно редактировать в процессе оптимизации ресурса, например, в Notepad. Делать это нужно в текстовом файле robots.txt с соблюдением правил и синтаксиса файла, но не в HTML редакторе. После редактирования на сайт можно выгрузить обновленную версию файла. Кстати, для определенны CMS есть специальные плагины и дополнения, которые дают возможность редактировать файл прямо в админ панели.

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

User-Agent

Это обязательная директива, которая определяет, к какому роботу будут применяться прописанные ниже в файле правила. Иными словами, это обращение к конкретному роботу или всем поисковым ботам. Все файлы должны начинаться именно с этой строчки. Пустой эту строку оставлять нельзя. Регистр символов в значениях директивы User-agent (пользовательский агент) не принимается во внимание.

Disallow

Disallow. Наиболее распространенная директива, запрещающая индексировать определенные страницы или целые разделы веб-сайта. В этой строке можно использовать спец символы * и $. Точка с запятой не используются. Пробел в начале строки ставить можно, но не рекомендуется.

Что нужно исключить из индекса?

  1. В первую очередь роботу необходимо запретить включать в индекс любые дубли страниц. Доступ к странице должен осуществляться лишь по одному URL. Обращаясь к сайту, поисковый бот по каждому URL должен получить в ответ страницу строго с уникальным содержанием. Дубли нередко появляются у CMS в процессе создания страниц. Так, один и тот же документ можно найти по техническому домену в формате http:// site.ru/?p=391&preview=true и “человекопонятному” URL http:// site.ru/chto-takoe-seo. Часто дубли появляются и из-за динамических ссылок. Важно их все скрывать от индекса с помощью масок (писать каждую команду нужно с новой строки):

Disallow: /*?*
Disallow: /*%
Disallow: /index.php
Disallow: /*?page=
Disallow: /*&page=

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

3. Все страницы, которые используются при работе сценариев. К примеру, это те, где есть сообщения наподобие “Спасибо за ваш отзыв!”.

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

Disallow: *PHPSESSID=
Disallow: *session_id=

5. Все файлы движка управления сайтом. Это файлы шаблонов, администраторской панели, тем, баз и другие. Возможные исключения:

Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback

6. Бесполезные для пользователей страницы и разделы. К примеру, не имеющие какого-либо содержания, с неуникальным контентом, несуществующие и так далее. Их роботу видеть не стоит. Кроме этого, для робота Googlebot при необходимости можно заблокировать выдачу сайта в новостях через Googlebot-News, а через Googlebot-Image — запретить показ изображений в Гугл Картинках.

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

Запрет конкретного раздела сайта

User-agent: *
Disallow: /admin/

Запрет на сканирование определенного файла

User-agent: *
Disallow: /admin/my-embarrassing-photo.png

Полная блокировка доступа к хосту

User-agent: *
Disallow: /

Разрешить полный доступ

Разрешает полный доступ:

User-agent: *
Disallow:

Allow

С помощью такой директивы можно, напротив, допустить каталог или конкретный адрес для того, чтобы он индексировался. В некоторых случаях быстрее и легче запретить к сканированию весь сайт и с помощью строки Allow открыть роботу необходимые разделы.

User-agent: *#
Блокируем весь раздел /admin
Disallow: /admin#
Кроме файла /admin/css/style.css
Allow: /admin/css/style.css#
Открываем все файлы в папке /admin/js. Например:
# /admin/js/global.js
# /admin/js/ajax/update.js
Allow: /admin/js/

Директива Crawl-delay

Директива, которая не актуальна в случае Goolge, но очень полезна для работы с другими поисковиками, например, Яндекс или даже Yahoo..

С ее помощью можно замедлить сканирование, если сервер бывает перегружен. Она задает интервал времени для обхода страниц в секундах (актуально для Яндекса). Чем выше значение, тем медленнее краулер станет обходить страницы сайта.

User-agent: *
Crawl-delay: 5

Хотя Googlebot игнорирует подобные правила, настроить скорость сканирования можно в Google Search Console проекта.

Важно, что китайским Baidu тоже не учитывается наличие Crawl-delay в robots.txt, а Bing воспринимает команду как «временное окно», в рамках которого BingBot будет сканировать сайт лишь единожды.

Стоит учитывать: если установлено высокое значение Crawl-delay, самое главное — убедиться, что сайт своевременно индексируется. В сутках 86 400 секунд, при Crawl-delay: 30 будет просканировано менее 2880 страниц в день, и этот показатель не слишком велик для крупных сайтов.

Директива Clean-param

Директива Clean-param дает возможность запрещать поисковому роботу обход страниц с динамическими параметрами, контент которых не имеет отличий от основной страницы. Например, многие интернет-магазины используют параметры в url-адресах, которые отправляют данные по источникам сессий, в том числе персональные идентификаторы пользователей.

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

Давайте рассмотрим использование данной директивы на примере. Например, что сайт собирает информацию по пользователям на страницах:

https:// site.ru/get_book/?userID=1&source=site_2&book_id=3

https:// site.ru/get_book/?userID=5&source=site_4&book_id=5

https:// site.ru/get_book/?userID=9&source=site_11&book_id=2

Параметр userID, который есть в каждом url-адресе, показывает персональный идентификатор пользователя, а параметр source показывает источник, из которого посетитель попал на сайт. По трем разным url-адресам пользователи видят один и тот же контент book_id=3. В этом случае нам необходимо использовать директиву Clean-param таким образом:

User-agent: Yandex
Clean-param: userID /books/get_book.pl
Clean-param: source /books/get_book.pl

Данные директивы позволяют поисковому роботу Яндекса свести все динамические параметры в единую страницу:

https:// site.ru/books/get_book.pl?&book_id=3

Если на сайте есть такая страница, то именно она станет индексироваться и участвовать в выдаче.

Главное зеркало сайта в robots.txt — Host

С марта 2018 года Яндекс отказался от директивы Host. Ее функции полностью перешли на раздел «Переезд сайта в Вебмастере» и 301-редирект.

Директива Host указывает поисковому роботу Яндекса на главное зеркало сайта. Если сайт был доступен сразу по нескольким разным URL адресам, например, с www и без www, требовалось настроить 301 редирект на главный URL адрес и указать его в директиве Host, поддержка Host прекращена.

Эта директива была полезна при установке SSL-сертификата и переезде сайта с http на https. В директиве Host адрес сайта при наличии SSL-сертификата указывался с https.

Директива Host указывалась в User-agent: Yandex только 1 раз. Например для нашего сайта это выглядело таким образом:

User-agent: Yandex
Host: https:// site.ru

В этом примере указано, что главным зеркалом сайта oparinseo.ru является ни www.oparinseo.ru, ни http://oparinseo.ru, а именно https://oparinseo.ru.

Для указания главного зеркала сайта в Google требуется использовать инструменты вебмастера в Google Search Console.

Комментарии в robots.txt

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

Один из примеров:

#Это файл robots.txt. Все, что прописывают в данной строке, роботы не прочтут
User-agent: Yandex #Правила для Яндекс-бота
Disallow: /pink #закрыл от индексации, т.к. на странице есть неуникальный контент

Карта сайта в robots.txt — Sitemap.xml

Директива Sitemap позволяет показать поисковому роботу путь на xml карту сайта. Этот файл очень важен для поисковых систем, так как при обходе сайта они в самом начале обращаются к нему. В этом файле представлена структура сайта со всем внутренними ссылками, датами создания страниц, приоритетами индексирования.

Пример robots.txt с указанием адреса карты сайта в строке:

User-agent: *
Sitemap: https:// site.ru/sitemal.xml

Благодаря наличию xml карты сайта представление сайта в поисковой выдаче улучшается. Она является стандартом, который должен использоваться на каждом сайте. Частота обновления и актуальность поддержания sitemap.xml сможет значительно увеличить скорость индексирования страниц, особенно у относительно молодого сайта.

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

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

Как проверить robots.txt на сайте?

Если файл составлен правильно и загружен в корень сервера, то после загрузки он будет доступен по ссылке типа site.ru/robots.txt. Он является публичным, поэтому посмотреть и провести анализ robots.txt можно у любого сайта.

Как проверить robots.txt на наличие ошибок — доступные инструменты

Можно провести проверку robots.txt на наличие ошибок, используя для этой цели специальные инструменты Гугл и Яндекс:

  1. В панели Вебмастера Яндекс — https://webmaster.yandex.ru/tools/robotstxt/
  2. В Google Search Console — https://www.google.com/webmasters/tools/robots-tes...

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

Частая ошибка Robots.txt

Обычной распространенной ошибкой является установка индивидуальных правил для User-Agent без дублирования инструкций Disallow.

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

Правильный robots.txt для WordPress

Внешний вид Robots.txt на платформе WordPress

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

В представленном варианте нет опасности запретить индексацию каких-либо файлов внутри ядра WordPress либо папки wp-content.


User-agent: *

# Нужно создать секцию правил для роботов. * означает для всех роботов. Чтобы указать секцию правил для отдельного робота, вместо * укажите его имя: GoogleBot (mediapartners-google), Yandex.

Disallow: /cgi-bin # Стандартная папка на хостинге.
Disallow: /wp-admin/ # Закрываем админку.
Disallow: /? # Все параметры запроса на главной.
Disallow: *?s= # Поиск.
Disallow: *&s= # Поиск.
Disallow: /search # Поиск.
Disallow: /author/ # Архив автора.
Disallow: */embed$ # Все встраивания. Символ $ — конец строки.
Disallow: */page/ # Все виды пагинации.
Disallow: */xmlrpc.php # Файл WordPress API
Disallow: *utm*= # Ссылки с utm-метками
Disallow: *openstat= # Ссылки с метками openstat #
Одна или несколько ссылок на карту сайта (файл Sitemap). Это независимая # директива и дублировать её для каждого User-agent не нужно. Например, # Google XML Sitemap создает две карты сайта:
Sitemap: http:// example.com/sitemap.xml
Sitemap: http:// example.com/sitemap.xml.gz

Правильный robots.txt для Joomla

Внешний вид Robots.txt на платформе Joomla

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /tmp/
Sitemap: https:// site.ru/sitemap.xml

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

Правильный robots.txt для Tilda

Оба файла — роботс и карта сайта — генерируются Тильдой автоматически.

Чтобы просмотреть их, добавьте к вашему адресу сайта /robots.txt или /sitemap.xml, например:

http:// mysite.com/robots.txt

http:// mysite.com/sitemap.xml

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

Правильный robots.txt для Bitrix

Внешний вид Robots.txt на платформе Bitrix

Код для Robots, который представлен ниже, является базовым, универсальным для любого сайта на Битриксе. В то же время важно понимать, что у каждого сайта могут быть свои индивидуальные особенности, и этот файл может потребоваться корректировать и дополнять в вашем конкретном случае. После этого его нужно сохранить.

User-agent: * # правила для всех роботов
Disallow: /cgi-bin # папка на хостинге
Disallow: /bitrix/ # папка с системными файлами битрикса
Disallow: *bitrix_*= # GET-запросы битрикса
Disallow: /local/ # папка с системными файлами битрикса
Disallow: /*index.php$ # дубли страниц index.php
Disallow: /auth/ # авторизацияDisallow: *auth= # авторизация
Disallow: /personal/ # личный кабинет
Disallow: *register= # регистрация
Disallow: *forgot_password= # забыли пароль
Disallow: *change_password= # изменить пароль
Disallow: *login= # логин
Disallow: *logout= # выход
Disallow: */search/ # поиск
Disallow: *action= # действия
Disallow: *print= # печать
Disallow: *?new=Y # новая страница
Disallow: *?edit= # редактирование
Disallow: *?preview= # предпросмотр
Disallow: *backurl= # трекбеки
Disallow: *back_url= # трекбеки
Disallow: *back_url_admin= # трекбеки
Disallow: *captcha # каптча
Disallow: */feed # все фиды
Disallow: */rss # rss фид
Disallow: *?FILTER*= # здесь и ниже различные популярные параметры фильтров
Disallow: *?ei=
Disallow: *?p=
Disallow: *?q=
Disallow: *?tags=
Disallow: *B_ORDER=
Disallow: *BRAND=
Disallow: *CLEAR_CACHE=
Disallow: *ELEMENT_ID=
Disallow: *price_from=
Disallow: *price_to=
Disallow: *PROPERTY_TYPE=
Disallow: *PROPERTY_WIDTH=
Disallow: *PROPERTY_HEIGHT=
Disallow: *PROPERTY_DIA=
Disallow: *PROPERTY_OPENING_COUNT=
Disallow: *PROPERTY_SELL_TYPE=
Disallow: *PROPERTY_MAIN_TYPE=
Disallow: *PROPERTY_PRICE[*]=
Disallow: *S_LAST=
Disallow: *SECTION_ID=
Disallow: *SECTION[*]=
Disallow: *SHOWALL=
Disallow: *SHOW_ALL=
Disallow: *SHOWBY=
Disallow: *SORT=
Disallow: *SPHRASE_ID=
Disallow: *TYPE=
Disallow: *utm*= # ссылки с utm-метками
Disallow: *openstat= # ссылки с метками openstat
Disallow: *from= # ссылки с метками from
Allow: */upload/ # открываем папку с файлами uploads
Allow: /bitrix/*.js # здесь и далее открываем для индексации скрипты
Allow: /bitrix/*.css
Allow: /local/*.js
Allow: /local/*.css
Allow: /local/*.jpg
Allow: /local/*.jpeg
Allow: /local/*.png
Allow: /local/*.gif
# Укажите один или несколько файлов Sitemap
Sitemap: http:// site.ru/sitemap.xml
Sitemap: http:// site.ru/sitemap.xml.gz

Robots.txt в Яндекс и Google

Многие оптимизаторы, делая только первые шаги в работе с robots.txt, задаются логичным вопросом о том, почему нельзя указать общий User-agent: * и не указывать роботу каждого поисковика — Яндекс и Google — одни и те же инструкции.

Все дело в том, что поисковая система Google более позитивно воспринимает директиву User-agent: Googlebot в файле robots, а Яндекс — отдельную директиву User-agent: Yandex.

Прописывая ключевые правила отдельно для Google и Яндекс, можно управлять индексацией страниц и разделов веб-ресурса посредством Robots. Кроме того, применение персональных User-agent, поможет запретить индексацию некоторых файлов Google, но при этом оставить их доступными для роботов Яндекса, и наоборот.

Максимально допустимый размер текстового документа robots составляет 32 КБ (если он больше, файл считается открытым и полностью разрешающим). Это позволяет почти любому сайту указать все необходимые для индексации инструкции в отдельных юзер-агентах для Google и Яндекс.. Поэтому лучше не проводить эксперименты и указывать правила, которые относятся к каждому поисковику.

Кстати, Googlebot-Mobile — робот, индексирующий сайты для мобильных устройств.

Правильно настроенный файл robots.txt может позитивно влиять на SEO-продвижение сайта в Яндекс и Google, улучшение позиций. Если вы хотите избавиться от “мусора” и навести порядок на сайте, улучшить его индексацию, в первую очередь нужно работать именно с robots.txt. И если самостоятельно справиться с этим из-за отсутствия опыта и достаточных знаний сложно, лучше доверить эту задачу SEO-специалисту.

Оставить комментарий
Комментарии

Пусто

Артем Опарин

Обсудим ваш проект бесплатно

Сделайте заказ прямо сейчас, и уже сегодня мы приступим к работе!
Заполняя данную форму вы соглашаетесь на обработку персональных данных в соответствии с законом №152-ФЗ "О персональных данных"