Директива host

Файл robots.txt является одним из самых важных при оптимизации любого сайта. Его отсутствие может привести к высокой нагрузке на сайт со стороны поисковых роботов и медленной индексации и переиндексации, а неправильная настройка к тому, что сайт полностью пропадет из поиска или просто не будет проиндексирован. Следовательно, не будет искаться в Яндексе, Google и других поисковых системах. Давайте разберемся во всех нюансах правильной настройки robots.txt.

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

Как влияет robots.txt на индексацию сайта

Поисковые роботы будут индексировать ваш сайт независимо от наличия файла robots.txt. Если же такой файл существует, то роботы могут руководствоваться правилами, которые в этом файле прописываются. При этом некоторые роботы могут игнорировать те или иные правила, либо некоторые правила могут быть специфичными только для некоторых ботов. В частности, GoogleBot не использует директиву Host и Crawl-Delay, YandexNews с недавних пор стал игнорировать директиву Crawl-Delay, а YandexDirect и YandexVideoParser игнорируют более общие директивы в роботсе (но руководствуются теми, которые указаны специально для них).


Подробнее об исключениях:
Исключения Яндекса
Стандарт исключений для роботов (Википедия)

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

Пример работы robots.txt

К таким ненужным страницам относятся скрипты ajax, json, отвечающие за всплывающие формы, баннеры, вывод каптчи и т.д., формы заказа и корзина со всеми шагами оформления покупки, функционал поиска, личный кабинет, админка.

Для большинства роботов также желательно отключить индексацию всех JS и CSS. Но для GoogleBot и Yandex такие файлы нужно оставить для индексирования, так как они используются поисковыми системами для анализа удобства сайта и его ранжирования (пруф Google, пруф Яндекс).

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


Директивы — это правила для роботов. Есть спецификация W3C от 30 января 1994 года и расширенный стандарт от 1996 года. Однако не все поисковые системы и роботы поддерживают те или иные директивы. В связи с этим для нас полезнее будет знать не стандарт, а то, как руководствуются теми или иными директивы основные роботы.

Давайте рассмотрим по порядку.

User-agent

Это самая главная директива, определяющая для каких роботов далее следуют правила.

Для всех роботов:
User-agent: *

Для конкретного бота:
User-agent: GoogleBot

Обратите внимание, что в robots.txt не важен регистр символов. Т.е. юзер-агент для гугла можно с таким же успехом записать соледующим образом:
user-agent: googlebot

Ниже приведена таблица основных юзер-агентов различных поисковых систем.


Бот Функция
Google
Googlebot основной индексирующий робот Google
Googlebot-News Google Новости
Googlebot-Image Google Картинки
Googlebot-Video видео
Mediapartners-Google Google AdSense, Google Mobile AdSense
Mediapartners Google AdSense, Google Mobile AdSense
AdsBot-Google проверка качества целевой страницы
AdsBot-Google-Mobile-Apps Робот Google для приложений
Яндекс
YandexBot основной индексирующий робот Яндекса
YandexImages Яндекс.Картинки
YandexVideo Яндекс.Видео
YandexMedia мультимедийные данные
YandexBlogs робот поиска по блогам
YandexAddurl робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
YandexFavicons робот, индексирующий пиктограммы сайтов (favicons)
YandexDirect Яндекс.Директ
YandexMetrika Яндекс.Метрика
YandexCatalog Яндекс.Каталог
YandexNews Яндекс.Новости
YandexImageResizer робот мобильных сервисов
Bing
Bingbot основной индексирующий робот Bing
Yahoo!
Slurp основной индексирующий робот Yahoo!
Mail.Ru
Mail.Ru основной индексирующий робот Mail.Ru
Rambler
StackRambler Ранее основной индексирующий робот Rambler. Однако с 23.06.11 Rambler перестает поддерживать собственную поисковую систему и теперь использует на своих сервисах технологию Яндекса. Более не актуально.

Disallow и Allow

Disallow закрывает от индексирования страницы и разделы сайта.
Allow принудительно открывает для индексирования страницы и разделы сайта.

Но здесь не все так просто.

Во-первых, нужно знать дополнительные операторы и понимать, как они используются — это *, $ и #.

* — это любое количество символов, в том числе и их отсутствие. При этом в конце строки звездочку можно не ставить, подразумевается, что она там находится по умолчанию.
$ — показывает, что символ перед ним должен быть последним.
# — комментарий, все что после этого символа в строке роботом не учитывается.

Примеры использования:

Disallow: *?s=
Disallow: /category/$

Следующие ссылки будут закрыты от индексации:
http://site.ru/?s=
http://site.ru/?s=keyword
http://site.ru/page/?s=keyword
http://site.ru/category/

Следующие ссылки будут открыты для индексации:
http://site.ru/category/cat1/
http://site.ru/category-folder/

Во-вторых, нужно понимать, каким образом выполняются вложенные правила.
Помните, что порядок записи директив не важен. Наследование правил, что открыть или закрыть от индексации определяется по тому, какие директории указаны. Разберем на примере.

Allow: *.css
Disallow: /template/

http://site.ru/template/ — закрыто от индексирования
http://site.ru/template/style.css — закрыто от индексирования
http://site.ru/style.css — открыто для индексирования
http://site.ru/theme/style.css — открыто для индексирования

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

Allow: *.css
Allow: /template/*.css
Disallow: /template/

Повторюсь, порядок директив не важен.

Sitemap

Директива для указания пути к XML-файлу Sitemap. URL-адрес прописывается так же, как в адресной строке.

Например,

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

Директива Sitemap указывается в любом месте файла robots.txt без привязки к конкретному user-agent. Можно указать несколько правил Sitemap.

Host

Директива для указания главного зеркала сайта (в большинстве случаев: с www или без www). Обратите внимание, что главное зеркало указывается БЕЗ http://, но С https://. Также если необходимо, то указывается порт.
Директива поддерживается только ботами Яндекса и Mail.Ru. Другими роботами, в частности GoogleBot, команда не будет учтена. Host прописывается только один раз!

Пример 1:
Host: site.ru

Пример 2:
Host: https://site.ru

Crawl-delay

Директива для установления интервала времени между скачиванием роботом страниц сайта. Поддерживается роботами Яндекса, Mail.Ru, Bing, Yahoo. Значение может устанавливаться в целых или дробных единицах (разделитель — точка), время в секундах.

Пример 1:
Crawl-delay: 3

Пример 2:
Crawl-delay: 0.5

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

Чем больше значение, тем меньше страниц робот загрузит за одну сессию. Оптимальное значение определяется индивидуально для каждого сайта. Лучше начинать с не очень больших значений — 0.1, 0.2, 0.5 — и постепенно их увеличивать. Для роботов поисковых систем, имеющих меньшее значение для результатов продвижения, таких как Mail.Ru, Bing и Yahoo можно изначально установить бо́льшие значения, чем для роботов Яндекса.

Clean-param

Это правило сообщает краулеру, что URL-адреса с указанными параметрами не нужно индексировать. Для правила указывается два аргумента: параметр и URL раздела. Директива поддерживается Яндексом.

Пример 1:

Clean-param: author_id http://site.ru/articles/

http://site.ru/articles/?author_id=267539 — индексироваться не будет

Пример 2:

Clean-param: author_id&sid http://site.ru/articles/

http://site.ru/articles/?author_id=267539&sid=0995823627 — индексироваться не будет

Яндекс также рекомендует использовать эту директиву для того, чтобы не учитывались UTM-метки и идентификаторы сессий. Пример:

Clean-Param: utm_source&utm_medium&utm_campaign

Другие параметры

В расширенной спецификации robots.txt можно найти еще параметры Request-rate и Visit-time. Однако они на данный момент не поддерживаются ведущими поисковыми системами.

Смысл директив:
Request-rate: 1/5 — загружать не более одной страницы за пять секунд
Visit-time: 0600-0845 — загружать страницы только в промежуток с 6 утра до 8:45 по Гринвичу.

Закрывающий robots.txt

Если вам нужно настроить, чтобы ваш сайт НЕ индексировался поисковыми роботами, то вам нужно прописать следующие директивы:

User-agent: *
Disallow: /

Проверьте, чтобы на тестовых площадках вашего сайта были прописаны эти директивы.

Правильная настройка robots.txt

правильноДля России и стран СНГ, где доля Яндекса ощутима, следует прописывать директивы для всех роботов и отдельно для Яндекса и Google.

Чтобы правильно настроить robots.txt воспользуйтесь следующим алгоритмом:


  1. Закройте от индексирования админку сайта
  2. Закройте от индексирования личный кабинет, авторизацию, регистрацию
  3. Закройте от индексирования корзину, формы заказа, данные по доставке и заказам
  4. Закройте от индексирования ajax, json-скрипты
  5. Закройте от индексирования папку cgi
  6. Закройте от индексирования плагины, темы оформления, js, css для всех роботов, кроме Яндекса и Google
  7. Закройте от индексирования функционал поиска
  8. Закройте от индексирования служебные разделы, которые не несут никакой ценности для сайта в поиске (ошибка 404, список авторов)
  9. Закройте от индексирования технические дубли страниц, а также страницы, на которых весь контент в том или ином виде продублирован с других страниц (календари, архивы, RSS)
  10. Закройте от индексирования страницы с параметрами фильтров, сортировки, сравнения
  11. Закройте от индексирования страницы с параметрами UTM-меток и сессий
  12. Проверьте, что проиндексировано Яндексом и Google с помощью параметра «site:» (в поисковой строке наберите «site:site.ru»). Если в поиске присутствуют страницы, которые также нужно закрыть от индексации, добавьте их в robots.txt
  13. Укажите Sitemap и Host
  14. По необходимости пропишите Crawl-Delay и Clean-Param
  15. Проверьте корректность robots.txt через инструменты Google и Яндекса (описано ниже)
  16. Через 2 недели перепроверьте, появились ли в поисковой выдаче новые страницы, которые не должны индексироваться. В случае необходимости повторить выше перечисленные шаги.

Пример robots.txt

# Пример файла robots.txt для настройки гипотетического сайта https://site.ru  User-agent: *  Disallow: /admin/  Disallow: /plugins/  Disallow: /search/  Disallow: /cart/  Disallow: */?s=  Disallow: *sort=  Disallow: *view=  Disallow: *utm=  Crawl-Delay: 5    User-agent: GoogleBot  Disallow: /admin/  Disallow: /plugins/  Disallow: /search/  Disallow: /cart/  Disallow: */?s=  Disallow: *sort=  Disallow: *view=  Disallow: *utm=  Allow: /plugins/*.css  Allow: /plugins/*.js  Allow: /plugins/*.png  Allow: /plugins/*.jpg  Allow: /plugins/*.gif    User-agent: Yandex  Disallow: /admin/  Disallow: /plugins/  Disallow: /search/  Disallow: /cart/  Disallow: */?s=  Disallow: *sort=  Disallow: *view=  Allow: /plugins/*.css  Allow: /plugins/*.js  Allow: /plugins/*.png  Allow: /plugins/*.jpg  Allow: /plugins/*.gif  Clean-Param: utm_source&utm_medium&utm_campaign  Crawl-Delay: 0.5    Sitemap: https://site.ru/sitemap.xml  Host: https://site.ru

Как добавить и где находится robots.txt

После того как вы создали файл robots.txt, его необходимо разместить на вашем сайте по адресу site.ru/robots.txt — т.е. в корневом каталоге. Поисковый робот всегда обращается к файлу по URL /robots.txt

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

Проверка robots.txt осуществляется по следующим ссылкам:

  • В Яндекс.Вебмастере — на вкладке Инструменты>Анализ robots.txt
  • В Google Search Console — на вкладке Сканирование>Инструмент проверки файла robots.txt

Типичные ошибки в robots.txt

ошибкаВ конце статьи приведу несколько типичных ошибок файла robots.txt

  • robots.txt отсутствует
  • в robots.txt сайт закрыт от индексирования (Disallow: /)
  • в файле присутствуют лишь самые основные директивы, нет детальной проработки файла
  • в файле не закрыты от индексирования страницы с UTM-метками и идентификаторами сессий
  • в файле указаны только директивы
    Allow: *.css
    Allow: *.js
    Allow: *.png
    Allow: *.jpg
    Allow: *.gif
    при этом файлы css, js, png, jpg, gif закрыты другими директивами в ряде директорий
  • директива Host прописана несколько раз
  • в Host не указан протокол https
  • путь к Sitemap указан неверно, либо указан неверный протокол или зеркало сайта

P.S.

Если у вас есть дополнения к статье или вопросы, пишите ниже в комментариях.
Если у вас сайт на CMS WordPress, вам будет полезна статья «Как настроить правильный robots.txt для WordPress».

seogio.ru

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

Так же, если вы ищите как настроить файл robots.txt для переезда с HTTP на HTTPS, то вам сюда — Настройка SSL сертификата

Итак, поехали!

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

Ошибки составления robots.txt для сайта, которые мы встречали

Перепутанные инструкции

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

User-agent: /
 Disallow: Yandex 

Всем же, надеюсь, известно что правильно писать так:

User-agent: Yandex
 Disallow: / 

Указание нескольких правил в одной инструкции

Так же мне улыбнулась удача увидеть в своей жизни данное безобразие:

Disallow: /wp-admin/ /wp-includes/ /wp-feed/ 

В таком случае не понятно как поведет себя тот или иной робот поисковой системы. Один может воспринять данное правило вместе — Disallow: /wp-admin/wp-includes/wp-feed/ , другой взять первое правило (/wp-admin/) или последнее (/wp-feed/), а какой то вовсе не воспримет данную строку. Поэтому не рискуем и пишем правила построчно, в отдельных инструкциях:

Disallow: /wp-admin/
 Disallow: /wp-includes/
 Disallow: /wp-feed/

Ошибки в названии файла

Так же на моем веку встречались и совсем экзотичные случаи. Захотел я посмотреть роботс сайта, ввел в строку http://сайт.ru/robots.txt, а мне в ответ кукиш! «Наверное нет файла» — подумал я. Но когда залез в структуру сайта был шокирован! Встречались разные варианты написания:

  • Robots.txt (с заглавной буквы);
  • robot.txt (без s);
  • ROBOTS.TXT (!КАПСОМ!).

Правильно писать естественно «robots.txt».

Пустое значение в User-agent

Очень часто на недоработанных сайтах встречалась следующая конструкция:

User-agent:
 Disallow: 

Для кого она? Не понятно. Единственное из этого понятно, что данный посыл не дошел ни до одного робота. Правильно вписывать имя робота, для кого назначены ниже перечисленные инструкции:

User-agent: Googlebot
 Disallow: 

Взаимодействия инструкций Disallow и Allow

Очень часто вижу ошибочное написание разрешающих и запрещающих инструкций:

User-agent: Yandex
 Disallow: /admin/
 Disallow: /tools/
 Allow: /kartinki/ 

Сначала, сразу же после User-agent должны быть правила разрешающие проход роботу, а уже после всех инструкций Allow должны следовать Disallow:

User-agent: Yandex
 Allow: /kartinki/
 Disallow: /admin/
 Disallow: /tools/ 

Требование к составлению директивы Host

Некоторые копируют URL сайта и бессовестно, не глядя, вставляют его в директиву Host вместе с http:

Host: http://studiof1.ru/ 

Серьезная ошибка! Указывать протокол HTTP не нужно . А вот защищенный протокол HTTPS в robots.txt необходим, т.к. показывает роботу как правильно нужно позиционировать ресурс:

Host: https://askusers.ru 

Так же не стоит запихивать в роботс.тхт несколько директив Host. Он всё равно прочитает и воспримет только первую. Так что размещаем Host в секции Yandex после всех правил:

User-agent: Yandex
 Disallow: /admin/
 Disallow: /tools/
 Disallow: /poslednee-pravilo/
 Host: studiof1.ru

Запомните: директивы файла robots.txt, которые неправильно составлены — игнорируются! Например:

Хороший тон создания файла robots.txt

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

Комментарий на одной строчке с правилами и инструкциями

Вообще такая запись возможна, но не желательна:

Disallow: /admin/ #запрещаем роботам индексировать каталог admin 

Раньше некоторые системы не понимали таких строк. Сейчас, я думаю, поисковики адаптировались ко многим неприятностям, которые вытворяют веб-мастера, но лучше не рисковать и писать комментарий на новой строке.

Редирект страницы на 404-ю ошибку:

Бывают ситуации, при разработке свежего проекта, программист забывает про файл robots и при обращении «паука» к сайту, а это непременно произойдет без этого файла, ресурс переадресует его на другую страницу. Бывает что такой своеобразный редирект происходит без отдачи 404 Not Found. Чтобы этого избежать, советую положить в корень сайта правильный файл robots.txt. А ещё желательно не полениться и написать в нем:

User-agent: *
 Disallow: 

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

User-agent: *
 Disallow: / 

Заглавные буквы в инструкциях

USER-AGENT: YANDEX
 DISALLOW: /ADMIN/ 

Тут без комментариев. Просто будьте людьми! Пишите правильно:

User-agent: Yandex
 Disallow: /admin/ 

Перечисление всех файлов одного каталога

Встречал иногда, когда делал оптимизацию, примерно следующую конструкцию:

User-agent: Yandex
 Disallow: /admin/backup/
 Disallow: /admin/cache/
 Disallow: /admin/components/
 Disallow: /admin/modules/
 Disallow: /admin/themes/
 Disallow: /admin/wizards/ 

И таким образом прошлый программист закрыл все папки вложенности Admin. Хотя было достаточно написать просто:

User-agent: Yandex
 Disallow: /admin/ 

Если уж нужно открыть какие то каталоги внутри закрываемой папки, то таким методом:

User-agent: Yandex
 Allow: /admin/css/
 Allow: /admin/images/
 Disallow: /admin/ 

Написание дополнительных директив в секции

Некоторое время в нашей компании велись споры: где располагать директиву Host? В какой секции: в общей или после всех правил в конце файла? Наши сотрудники ходили на квалифицированные курсы в Unibrains, Топ Эксперт и т.д., приносили разные знания и видения этого вопроса. Такое чувство, что никто не знал как составить robots.txt и где правильнее написать эту директиву. На самом деле некоторые роботы могут неверно отреагировать на использование дополнительных директив, а это значит, что не стоит писать их в секции * — (для всех). Пишите Host в секции для робота Яндекса:

User-agent: Yandex
 Disallow: /admin/
 Host: studiof1.ru
 User-agent: *
 Disallow: /admin/ 

Отсутствие инструкции Disallow

Данная инструкция является обязательной и из-за её отсутствия робот может неправильно понять вас понять.

User-agent: Yandex
 Host: studiof1.ru 

Пишем правильно:

User-agent: Yandex
 Disallow: /wp-admin/
 Host: studiof1.ru 

Если хотим что то закрыть, пишем правило только со слешами!

User-agent: Yandex
 Disallow: /blog/ 

Как и где прописать секцию Sitemap в robots

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

User-agent: * ...
 Disallow: /poslednee-pravilo/
 Sitemap: http://mysite.ru/sitemap.xml

Возможности robots.txt которые многие не используют

В этом пункте мы рассмотрим фишки и дополнительные команды для файла robots.txt, которые мало используют веб-мастера, оптимизаторы и программисты. Я не буду здесь разжевывать возможности Crawl-delay, Clean-param и других директив и правил, которые итак есть в help.yandex.

Взаимодействие обычных страниц и страниц для Google AdWords

Если вы хотите повесить на некоторые свои страницы интернет рекламу от Google, но не хотите чтобы эти страницы были в индексе Google, следует использовать агент Mediapartners-Google. Для этого блокируем страницы в для Google и открываем их (или весь сайт) для рекламы:

User-agent: Googlebot
 Disallow: /admin/
 Disallow: /search/
 Disallow: /reklamnaya-stranica/
 User-agent: Mediapartners-Google
 Allow: /reklamnaya-stranica/ 

Но помним, что секция Mediapartners-Google должна находится после всех агентов включая «*» — для всех. Иначе получится что сначала вы разрешите боту пройти по данным страницам, а потом запретите и в итоге он ничего не сделает.

Взаимодействие обычных страниц и страниц для Яндекс Директа

Тоже самое что и с Google AdWords. Закрываем не нужное и открываем нужное для рекламы в агенте YaDirectBot:

User-agent: *
 Disallow: /admin/
 Disallow: /search/
 Disallow: /reklamnaya-stranica/
 User-agent: YaDirectBot
 Allow: /reklamnaya-stranica/ 

Опять же не забываем размещать эту секцию ниже всех! Можно размещать YaDirectBot и Mediapartners-Google вместе снизу, перед инструкцией для Sitemap.

Открываем изображения для индексации в Яндекс Картинках и Google Images

Для того, чтобы ваши картинки на сайте попали в базы изображений Яндекса и Google, прописываем следующие агенты:

User-agent: Googlebot-Image
 Allow: /themes/images/
 User-agent: YandexImages
 Allow: /themes/images/

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

Закрыть от индексации часть текста

Для начала хочу обратить внимание, что этот метод работает только в Яндексе и Рамблере! Гуглу этот тег до лампочки! Noindex — тег, который закрывает необходимую часть контента от индексации роботом. Он аналогичен мета-тегу noindex, но призван использоваться только в тексте. Обычно им закрывают от индексации счетчики.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus convallis viverra diam sed pretium. Nam ut orci ut arcu ornare pretium ut a diam. Nunc ac tempus augue. Morbi in molestie massa. In hac habitasse platea dictumst. In quis maximus libero. Ut varius dolor et justo hendrerit mollis. Vivamus at semper mi, et hendrerit lacus. Pellentesque quis mollis felis. Etiam eu hendrerit libero.  

studiof1.ru

Файл robots.txt для сайта

Robots.txt для сайта – это индексный текстовый файл в кодировке UTF-8.

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

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

Файл действителен для протоколов http, https, ftp, а также имеет «силу» только в пределах хоста/протокола/номера порта, на котором размещен.

Где находится robots.txt на сайте?

У файла robots.txt может быть только одно расположение – корневой каталог на хостинге. Выглядит это примерно вот так: http://vash-site.xyz/robots.txt

Директивы файла robots txt для сайта

Обязательными составляющими файла robots.txt для сайта являются правило Disallow и инструкция User-agent. Есть и второстепенные правила.

Правило Disallow

Disallow – это правило, с помощью которого поисковому роботу сообщается информация о том, какие страницы сканировать нет смысла. И сразу же несколько конкретных примеров применения этого правила:

Пример 1 — разрешено индексировать весь сайт:

открыть robots txt для индексации сайта

Пример 2 — полностью запретить индексацию сайта:

robots txt запретить индексирование сайта

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

Пример 3 – запрещено сканирование всех документов, находящихся в папке /papka/:

Директива host

Пример 4 – запретить индексацию страницы с конкретным URL:

Директива host

Пример 5 – запрещено индексировать конкретный файл (в данном случае – изображение):

Директива host

Пример 6 – как в robots txt закрыть от индексации файлы конкретного расширения (в данном случае — .gif):

Директива host

Звездочка перед .gif$ сообщает, что имя файла может быть любым, а знак $ сообщает о конце строки. Т.е. такая «маска» запрещает сканирование вообще всех GIF-файлов.

Правило Allow в robots txt

Правило Allow все делает с точностью до наоборот – разрешает индексирование файла/папки/страницы.

И сразу же конкретный пример:

Директива host

Мы с вами уже знаем, что с помощью директивы Disallow: / мы можем закрыть сайт от индексации robots txt. В то же время у нас есть правило Allow: /catalog, которое разрешает сканирование папки /catalog. Поэтому комбинацию этих двух правил поисковые роботы будут воспринимать как «запрещено сканировать сайт, за исключением папки /catalog»

Сортировка правил и директив Allow и Disallow производится по возрастанию длины префикса URL и применяется последовательно. Если для одной и той же страницы подходит несколько правил, то робот выбирает последнее подходящее из списка.

Рассмотрим 2 ситуации с двумя правилами, которые противоречат друг другу — одно правило запрещает индексировать папки /content, а другое – разрешает.

В данном случае будет приоритетнее директива Allow, т.к. оно находится ниже по списку:

Директива host

А вот здесь приоритетным является директива Disallow по тем же причинам (ниже по списку):

Директива host

User-agent в robots txt

User-agent — правило, являющееся «обращением» к поисковому роботу, мол, «список рекомендаций специально для вас» (к слову, списков в robots.txt может быть несколько – для разных поисковых роботов от Google и Яндекс).

Например, в данном случае мы говорим «Эй, Googlebot, иди сюда, тут для тебя специально подготовленный список рекомендаций», а он такой «ОК, специально для меня – значит специально для меня» и другие списки сканировать не будет.

Правильный robots txt для Google (Googlebot)

robots txt для Google (Googlebot)

Примерно та же история и с поисковым ботом Яндекса. Забегая вперед, список рекомендаций для Яндекса почти в 100% случаев немного отличается от списка для других поисковых роботов (чем – расскажем чуть позже). Но суть та же: «Эй, Яндекс, для тебя отдельный список» — «ОК, сейчас изучим его».

Директива host

И последний вариант – рекомендации для всех поисковых роботов (кроме тех, у которых отдельные списки). Через «звездочку» было решено сделать по одной простой причине – чтоб не перечислять «поименно» все 300 с чем-то роботов.

Директива host

Т.е. если в одном и том же robots.txt есть 3 списка с User-agent: *, User-agent: Googlebot и User-agent: Yandex, это значит, первый является «одним для всех», за исключением Googlebot и Яндекс, т.к. для них есть «личные» списки.

Sitemap

Правило Sitemap — расположение файла с XML-картой сайта, в которой содержатся адреса всех страниц, являющихся обязательными к сканированию. Как правило, указывается адрес вида http://site.ua/sitemap.xml.

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

Правило Sitemap должно быть вписано в Robots.txt следующим образом:

Директива host

Директива Host

Межсекционная директива Host в файле robots.txt так же является обязательной. Она необходима для поискового робота Яндекса — сообщает ему, какое из зеркал сайта нужно учитывать при индексировании. Именно поэтому для Яндекса формируется отдельный список правил, т.к. Google и остальные поисковые системы директиву Host не понимают. Поэтому если у вашего сайта есть копии или же сайт может открываться под разными URL адресами, то добавьте директиву host в файл robots txt, чтобы страницы сайта правильно индексировались.

Директива host

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

Адрес основного зеркала обязательно должно быть указано следующим образом:

— для сайтов, работающих по http — Host: site.ua или Host: http://site.ua (т.е. http:// пишется по желанию)

— для сайтов, работающих по https – Host: https://site.ua (т.е. https:// прописывается в обязательном порядке)

Пример директивы host в robots txt для сайта на протоколе HTTPS:

Директива host

Crawl delay

В отличие от предыдущих, параметр Crawl-delay уже не является обязательным. Основная его задача – подсказать поисковому роботу, в течение скольких секунд будут грузиться страницы. Обычно применяется в том случае, если Вы используете слабые сервера. Актуален только для Яндекса.

Директива host

Clean param

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

Например, один и тот же контент может быть доступен по трем адресам:

www.site.com/catalog/get_phone.ua?ref=page_1&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_2&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_3&phone_id=1

В таком случае директива Clean-param оформляется вот так:

Директива host

Т.е. после двоеточия прописывается атрибут ref, указывающий на источник ссылки, и только потом указывается ее «хвост» (в данном случае — /catalog/get_phone.ua).

Самые частые вопросы

Как в robots.txt запретить индексацию?

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

А затем удаляете адрес домена (в данном случае удалить надо вот эту часть — http://your-site.xyz). После удаления у нас останется ровно то, что и должно остаться:

Ну а если требуется закрыть от индексирования все файлы с определенным расширением, то правила будут выглядеть следующим образом:

Как в robots.txt указать главное зеркало?

Для этих целей придумана директива Host. Т.е. если адреса http://your-site.xyz и http://yoursite.com являются «зеркалами» одного и того же сайта, то одно из них необходимо указать в директиве Host. Пусть основным зеркалом будет http://your-site.xyz. В этом случае правильными вариантами будут следующие:

— если сайт работает по https-протоколу, то нужно делать только так:

— если сайт работает по http-протоколу, то оба приведенных ниже варианта будут верными:

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

Простейший пример правильного robots.txt

В таком виде файл robots.txt можно разместить практически на любом сайте (с мельчайшими корректировками).

Директива host

Давайте теперь разберем, что тут есть.

  1. Здесь 2 списка правил – один «персонально» для Яндекса, другой – для всех остальных поисковых роботов.
  2. Правило Disallow: пустое, а значит никаких запретов на сканирование нет.
  3. В списке для Яндекса присутствует директива Host с указанием основного зеркала, а также, ссылка на карту сайта.

НО… Это НЕ значит, что нужно оформлять robots.txt именно так. Правила должны быть прописаны строго индивидуально для каждого сайта. Например, нет смысла индексировать «технические» страницы (страницы ввода логина-пароля, либо тестовые страницы, на которых отрабатывается новый дизайн сайта, и т.д.). Правила, кстати, зависят еще и от используемой CMS.

Закрытый от индексации сайт – как выглядит robots.txt?

Даем сразу же готовый код, который позволит запретить индексацию сайта независимо от CMS:

Директива host

Как указать главное зеркало для сайта на https robots.txt?

Очень просто:

Host: https://your-site.xyz

ВАЖНО!!! Для https-сайтов протокол должен указываться строго обязательно!

Директива host

Наиболее частые ошибки в robots.txt

Специально для Вас мы приготовили подборку самых распространенных ошибок, допускаемых в robots.txt. Почти все эти ошибки объединяет одно – они допускаются по невнимательности.

1. Перепутанные инструкции:

Директива host

Правильный вариант:

Директива host

2. В один Disallow вставляется куча папок:

Директива host

В такой записи робот может запутаться. Какую папку нельзя индексировать? Первую? Последнюю? Или все? Или как? Или что? Одна папка = одно правило Disallow и никак иначе.

Директива host

3. Название файла допускается только одно — robots.txt, причем все буквы маленькие. Имена Robots.txt, ROBOTS.TXT и т.п. не допускаются.

4. Правило User-agent запрещено оставлять пустым. Либо указываем имя поискового робота (например, для Яндекса), либо ставим звездочку (для всех остальных).

5. Мусор в файле (лишние слэши, звездочки и т.д.).

6. Добавление в файл полных адресов скрываемых страниц, причем иногда даже без правила Disallow.

Неправильно:

http://mega-site.academy/serrot.html

Тоже неправильно:

Disallow: http://mega-site.academy/serrot.html

Правильно:

Disallow: /serrot.html

Онлайн-проверка файла robots.txt

Существует несколько способов проверки файла robots.txt на соответствие общепринятому в интернете стандарту.

Способ 1. Зарегистрироваться в панелях веб-мастера Яндекс и Google. Единственный минус – придется покопаться, чтоб разобраться с функционалом. Далее вносятся рекомендованные изменения и готовый файл закачивается на хостинг.

Способ 2. Воспользоваться онлайн-сервисами:

— https://services.sl-team.ru/other/robots/

Директива host

— https://technicalseo.com/seo-tools/robots-txt/

Директива host

— http://tools.seochat.com/tools/robots-txt-validator/

Директива host

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

Google Вебмастерс (Search Console Google): заходим в аккаунт, если в нем сайт не подтвержден – подтверждаем, далее переходим на Сканирование -> Инструмент проверки файла robots.txt.

Директива host

Здесь можно:

  • моментально обнаружить все ошибки и потенциально возможные проблемы,
  • сразу же «на месте» внести поправки и проверить на ошибки еще раз (чтоб не перезагружать файл на сайт по 20 раз)
  • проверить правильность запретов и разрешений индексирования страниц.

Яндекс Вебмастер (прямая ссылка — http://webmaster.yandex.ru/robots.xml).

Директива host

Является аналогом предыдущего, за исключением:

  • авторизация не обязательна;
  • подтверждение прав на сайт не обязательно;
  • доступна массовая проверка страниц на доступность;
  • можно убедиться, что все правила правильно восприняты Яндексом.

Готовые решения для самых популярных CMS

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

Давайте разберем код файла robots txt для WordPress CMS:

User-agent: *

Здесь мы указываем, что все правила актуальны для всех поисковых роботов (за исключением тех, для кого составлены «персональные» списки). Если список составляется для какого-то конкретного робота, то * меняется на имя робота:

User-agent: Yandex

User-agent: Googlebot

Allow: */uploads

Здесь мы осознанно даем добро на индексирование ссылок, в которых содержится /uploads. В данном случае это правило является обязательным, т.к. в движке WordPress есть директория /wp-content/uploads (в которой вполне могут содержаться картинки, либо другой «открытый» контент), индексирование которой запрещено правилом Disallow: /wp-. Поэтому с помощью Allow: */uploads мы делаем исключение из правила Disallow: /wp-.

В остальном просто идут запреты на индексирование:

Disallow: /cgi-bin – запрет на индексирование скриптов

Disallow: /feed – запрет на сканирование RSS-фида

Disallow: /trackback – запрет сканирования уведомлений

Disallow: ?s= или Disallow: *?s= — запрет на индексирование страниц внутреннего поиска сайта

Disallow: */page/ — запрет индексирования всех видов пагинации

Правило Sitemap: http://site.ru/sitemap.xml указывает Яндекс-роботу путь к файлу с xml-картой. Путь должен быть прописан полностью. Если таких файлов несколько – прописываем несколько Sitemap-правил (1 файл = 1 правило).

В строке Host: site.ru мы специально для Яндекса прописали основное зеркало сайта. Оно указывается для того, чтоб остальные зеркала индексировались одинаково. Пустая строка перед Host: является обязательной.

Где находится robots txt WordPress вы все наверное знаете — так как и в другие CMS, данный файл должен находится в корневом каталоге сайта.

Файл robots.txt для Joomla

Joomla — почти самый популярный движок у вебмастеров, т.к. не смотря на широчайшие возможности и множества готовых решений, он поставляется бесплатно. Однако, штатный robots.txt всегда имеет смысл подправить, т.к. для индексирования открыто слишком много «мусора», но картинки закрыты (это плохо).

Вот так выглядит правильный robots.txt для Joomla :

robots.txt Wix

Платформа Wix автоматически генерирует файлы robots.txt персонально для каждого сайта Wix. Т.е. к Вашему домену добавляете /robots.txt (например: www.domain.com/robots.txt) и можете спокойно изучить содержимое файла robots.txt, находящегося на Вашем сайте.

Отредактировать robots.txt нельзя. Однако с помощью noindex можно закрыть какие-то конкретные страницы от индексирования.

robots.txt для Opencart

Стандартный файл robots.txt для OpenCart:

robots.txt для Битрикс (Bitrix)

1. Папки /bitrix и /cgi-bin должны быть закрыты, т.к. это чисто технический «хлам», который незачем светить в поисковой выдаче.

2. Папка /search тоже не представляет интереса ни для пользователей, ни для поисковых систем. Да и образование дублей никому не нужно. Поэтому тоже ее закрываем.

3. Про формы PHP-аутентификации и авторизации на сайте тоже забывать нельзя – закрываем.

4. Материалы для печати (например, счета на оплату) тоже нет смысла светить в поисковой выдаче. Закрываем.

5. Один из жирных плюсов «Битрикса» в том, что он фиксирует всю историю сайта – кто когда залогинился, кто когда сменил пароль, и прочую конфиденциальную информацию, утечка которой не допустима. Поэтому закрываем:

6. Back-адреса тоже нет смысла индексировать. Эти адреса могут образовываться, например, при просмотре фотоальбома, когда Вы сначала листаете его «вперед», а потом – «назад». В эти моменты в адресной строке вполне может появиться что-то типа матерного ругательства: ?back_url_ =%2Fbitrix%2F%2F. Ценность таких адресов равна нулю, поэтому их тоже закрываем от индексирования. Ну а в качестве бонуса – избавляемся от потенциальных «дублей» в поисковой выдаче.

7. Папку /upload необходимо закрывать строго по обстоятельствам. Если там хранятся фотографии и видеоматериалы, размещенные на страницах, то ее скрывать не нужно, чтоб не срезать дополнительный трафик. Ну а если что-то конфиденциальное – однозначно закрываем:

Готовый файл robots.txt для Битрикс:

robots.txt для Modx и Modx Revo

CMS Modx Revo тоже не лишена проблемы дублей. Однако, она не так сильно обострена, как в Битриксе. Теперь о ее решении.

  1. Включаем ЧПУ в настройках сайта.
  2. закрываем от индексации:

Disallow: /index.php # т.к. это дубль главной страницы сайта

Disallow: /*? # разом решаем проблему с дублями для всех страниц

Готовый файл robots.txt для Modx и Modx Revo:

Выводы

Без преувеличения файл robots.txt можно назвать «поводырём для поисковых роботов Яндекс и Гугл» (разумеется, если он составлен правильно). Если файл robots txt отсутствует, то его нужно обязательно создать и загрузить на хостинг Вашего сайта. Справка Disallow правил описаны выше в этой статьей и вы можете смело их использоваться в своих целях.

Еще раз резюмируем правила/директивы/инструкции для robots.txt:

  1. User-agent — указывает, для какого именно поискового робота создан список правил.
  2. Disallow – «рекомендую вот это не индексировать».
  3. Sitemap – указывает расположение XML-карты сайта со всеми URL, которые нужно проиндексировать. В большинстве случаев карта расположена по адресу http://[ваш_сайт]/sitemap.xml.
  4. Crawl-delay — директива, указывающая период (в секундах), через который будет загружена страница сайта.
  5. Host – показывает Яндексу основное зеркало сайта.
  6. Allow – «рекомендую вот это проиндексировать, не смотря на то, что это противоречит одному из Disallow-правил».
  7. Clean-param — помогает в борьбе с get-параметрами, применяется для снижения рисков образования страниц-дублей.

Знаки при составлении robots.txt:

  1. Знак «$» для «звездочки» является «ограничителем».
  2. После слэша «/» указывается наименование файла/папки/расширения, которую нужно скрыть (в случае с Disallow) или открыть (в случае с Allow) для индексирования.
  3. Знаком «*» обозначается «любое количество любых символов».
  4. Знаком «#» отделяются какие-либо комментарии или примечания, оставленные вэб-мастером для себя, либо для кого-то другого. Поисковые роботы их не читают.

stokrat.org

Зачем robots.txt в SEO?

Первое, на что обращает внимание оптимизатор при анализе/начале продвижения сайта — это роботс. Именно в нем располагаются все главные инструкции, которые касаются действий индексирующего робота. Именно в robots.txt мы исключаем из поиска страницы, прописываем пути к карте сайта, определяем главной зеркало сайта, а так же вносим другие важные инструкции.

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

Создаем robots самостоятельно

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

Если Вы пользуетесь web ftp — файловым менеджером, который доступен в панели управления у любого хост-провайдера,  то файл можно создать прямо там.

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

Используем online генераторы

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

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

Используем готовые шаблоны

В Интернете есть множество шаблонов для  распространенных CMS, таких как WordPress, Joomla!, MODx и т.д. От онлайн генераторов они отличаются только тем, что сам текстовой файл Вам нужно будет сделать самостоятельно. Шаблон позволяет не писать большинство стандартных директив, однако он не гарантирует правильную и полную настройку для Вашего ресурса. При использовании шаблонов так же нужны знания.

Синтаксис robots.txt

Использование правильного синтаксиса при настройке — это основа всего. Пропущенная запятая, слэш, звездочка или проблем могут «сбить» всю настройку. Безусловно, есть системы проверки файла, однако без знания синтаксиса они все равно не помогу. Мы по порядку рассмотрим все возможные инструкции, которые применяются при настройке robots.txt. Сначала самые популярные.

Обращение к индексирующему роботу

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

  User-agent: Yandex  User-agent: YandexBot  User-agent: Googlebot  

Строка 1 — Инструкции для всех роботов Яндекса
Строка 2 — Инструкции для основного индексирующего робота Яндекса
Строка 3 — Инструкции для основного индексирующего робота Google
Яндекс и Гугл имеют не один и даже не два робота. Действиями каждого можно управлять в нашем robots.txt. Давайте рассмотрим, какие бывают роботы и зачем они нужны.

Роботы  Yandex

Название Описание Предназначение
YandexBot  Основной индексирующий робот  Отвечает за основную органическую выдачу Яндекса.
YandexDirect  Работ контекстной рекламы  Оценивает сайты с точки зрения расположения на них контекстных объявлений.
YandexDirectDyn  Так же робот контекста  Отличается от предыдущего тем, что работает с динамическими баннерами.
YandexMedia  Индексация мультимедийных данных. Отвечает, загружает и оценивает все, что связано с мультимедийными данными.
YandexImages  Индексация изображений  Отвечает за раздел Яндекса «Картинки»
YaDirectFetcher  Так же робот Яндекс Директ  Его особенность в том, что он интерпретирует файл robots особым образом. Подробнее о нем можно прочесть у Яндекса.
YandexBlogs  Индексация блогов  Данный робот отвечает за посты, комментарии, ответы и т.д.
YandexNews  Новостной робот  Отвечает за раздел «Новости». Индексирует все, что связано с периодикой.
YandexPagechecker  Робот микроразметки  Данный робот отвечает за индексацию и распознание микроразметки сайта.
YandexMetrika  Робот Яндекс Метрики  Тут все и так ясно.
YandexMarket  Робот Яндекс Маркета  Отвечает за индексацию товаров, описаний, цен и всего того, что относится к Маркету.
YandexCalendar  Робот Календаря  Отвечает за индексацию всего, что связано с Яндекс Календарем.

Роботы Google

Название Описание Предназначение
Googlebot  (Googlebot) Основной индексирующий роботом Google. Индексирует основной текстовой контент страницы. Отвечает за основную органическую выдачу. Запрет приведет к полному отсутствия сайта в поиске.
Googlebot-News  (Googlebot News) Новостной робот. Отвечает за индексирование сайта в новостях. Запрет приведет к отсутствию сайта в разделе «Новости»
Googlebot-Image  (Googlebot Images) Индексация изображений. Отвечает за графический контент сайта. Запрет приведет к отсутствию сайта в выдаче в разделе «Изображения»
Googlebot-Video  (Googlebot Video) Индексация видео файлов. Отвечает за видео контент. Запрет приведет к отсутствию сайта в выдаче в разделе «Видео»
Googlebot  (Google Smartphone) Робот для смартфонов.  Основной индексирующий робот для мобильных устройств.
 Mediapartners-Google (Google Mobile AdSense) Робот мобильной контекстной рекламы Индексирует и оценивает сайт с целью размещения релевантных мобильных объявлений.
 Mediapartners-Google (Google AdSense) Робот контекстной рекламы  Индексирует и оценивает сайт с целью размещения релевантных объявлений.
 AdsBot-Google (Google AdsBot) Проверка качества страницы.  Отвечает за качество целевой страницы — контент, скорость загрузки, навигация и т.д.
 AdsBot-Google-Mobile-Apps Робот Google для приложений Сканирование для мобильных приложений. Оценивает качество так же, как и предыдущий робот AdsBot

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

Другие поисковые системы, такие как Bing, Mail, Rambler, так же индексируют сайт и обращаются к robots.txt, однако мы не будем заострять на них внимание. Про менее популярные поисковики мы напишем отдельную статью.

Запрет индексации Disallow

Без сомнения самая популярная директива. Именно при помощи disallow страницы исключаются из индекса. Disallow — буквально означает запрет на индексацию страницы, раздела, файла или группы страниц (при помощи маски). Рассмотрим пример:

  Disallow: /wp-admin   Disallow: /wp-content/plugins   Disallow: /img/images.jpg   Disallow: /dogovor.pdf   Disallow: */trackback   Disallow: /*my   

Строка 1 — запрет на индексацию всего раздела wp-admin
Строка 2 — запрет на индексацию подраздела plugins
Строка 3 — запрет на индексацию изображения в папке img
Строка 4 — запрет индексации документа
Строка 5 — запрет на индексацию trackback в любой папке на 1 уровень
Строка 6 — запрет на индексацию не только /my, но и /folder/my или /foldermy

Данная директива поддерживает маски, о которых мы подробнее напишем ниже.
После Disallow в обязательном порядке ставится пробел, а вот в конце строки пробела быть не должно. Так же, допускается написание комментария в одной строке с директивой через пробел после символа «#», однако это не рекомендуется.

Указание нескольких каталогов в одной инструкции не допускается!

Разрешение индексации Allow

Обратная Disallow директива Allow разрешает индексацию конкретного раздела. Заходить на Ваш сайт или нет решает поисковая система, но данная директива ей это позволяет. Обычно Allow не применяется, так как поисковая система старается индексировать весь материал сайта, который может быть полезен человеку.

Пример использования Allow

  Allow: /img/   Allow: /dogovor.pdf   Allow: /trackback.html   Allow: /*my   

Строка 1 — разрешает индексацию всего каталога /img/
Строка 2 — разрешает индексацию документа
Строка 3 — разрешает индексацию страницы
Строка 4 — разрешает индексацию по маске *my

Данная директива поддерживает и подчиняется всем тем же правилам, которые справедливы для Disallow.

Директива host robots.txt

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

Пример использования:

  Host: dh-agency.ru  

Если вы не пропишите главное зеркало сайта через host, Яндекс сообщит Вам об этом в Вебмастере.

Ошибка отсутствия директивы HOST

Не знаете главное зеркало сайта? Определить довольно просто. Вбейте в поиск Яндекса адрес своего сайта и посмотрите выдачу. Если перед доменом присутствует www, то значит главное зеркало у вас с www.

Если же сайт еще не участвует в поиске, то в Яндекс Вебмастере в разделе «Переезд сайта» Вы можете задать главное зеркало самостоятельно.

Sitemap.xml в robots.txt

Данную директиву желательно иметь в каждом robots.txt, так как ее используют yandex, google, а так же все основные поисковые системы. Директива представляет из себя ссылку на файл sitemap.xml в котором содержатся все страницы, которые предназначены для индексирования. Так же в sitemap указываются приоритеты и даты изменения.

Пример использования:

  Sitemap: http://dh-agency.ru/sitemap.xml  

О том, как правильно создавать sitemap.xml мы напишем чуть позже.

Использование директивы Clean-param

Очень полезная, но мало кем применяющаяся директива. Clean-param позволяет описать динамические части URL, которые не меняют содержимое страницы. Такими динамическими частями могут быть:

  • Идентификаторы сессий;
  • Идентификаторы пользователей;
  • Различные индивидуальные префиксы не меняющие содержимое;
  • Другие подобные элементы.

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

Объясним на примере. Предположим, что для определения с какого сайта перешел пользователь мы взяли параметр site. Данный параметр будет меняться в зависимости от ресурса, но контент страницы будет одним и тем же.

  http://dh-agency.ru/folder/page.php?site=x&r_id=985  http://dh-agency.ru/folder/page.php?site=y&r_id=985  http://dh-agency.ru/folder/page.php?site=z&r_id=985  

Все три ссылки разные, но они отдают одинаковое содержимое страницы, поэтому индексирующий робот загрузит 3 копии контента. Что бы этого избежать пропишем следующие директивы:

  User-agent: Yandex  Disallow:  Clean-param: site /folder/page.php  

В данном случае робот Яндекса либо сведет все страницы к одному варианту, либо проиндексирует ссылку без параметра. Если такая конечно есть.

Использование директивы Crawl-delay

Довольно редко используемая директива, которая позволяет задать роботу минимальный промежуток между загружаемыми страницами. Crawl-delay применяется, когда сервер нагружен и не успевает отвечать на запросы. Промежуток задается в секундах. К примеру:

  User-agent: Yandex  Crawl-delay: 3  

В данном случае таймаут будет 3 секунды. Кстати, стоит отметить, что Яндекс поддерживает и не целые значения в данной директиве. К примеру, 0.4 секунды.

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

Хороший robots.txt всегда пишется с комментариями. Это упростит работу Вам и поможет будущим специалистам.

Что бы написать комментарий, который будет игнорировать робот поисковой системы, необходимо поставить символ «#». К примеру:

  #мой роботс  Disallow: /wp-admin   Disallow: /wp-content/plugins   

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

  Disallow: /wp-admin #исключаем wp admin  Disallow: /wp-content/plugins   

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

Маски в robots.txt

Применение масок в robots.txt не только упрощает работу, но зачастую просто необходимо. Напомним, маска — это условная запись, которая содержит в себе имена нескольких файлов или папок. Маски применяются для групповых операций с файлами/папками. Предположим, что у нас есть список файлов в папке /documents/

Маски в robots.txt

Среди этих файлов есть презентации в формате pdf. Мы не хотим, что бы их сканировал робот, поэтому исключаем из поиска.

Мы можем перечислять все файлы формата .pdf «в ручную»

  Disallow: /documents/admin.pdf  Disallow: /documents/r7.pdf  Disallow: /documents/leto.pdf  Disallow: /documents/sity.pdf  Disallow: /documents/afrika.pdf  Disallow: /documents/t-12.pdf  

А можем сделать простую маску *.pdf и скрыть все файлы в одной инструкции.

  Disallow: /documents/*.pdf  

Удобно, не правда ли?
Маски создаются при помощи спецсимвола «*». Он обозначает любую последовательность символов, в том числе и пробел. Примеры использования:

  Disallow: *.pdf  Disallow: admin*.pdf  Disallow: a*m.pdf  Disallow: /img/*.*  Disallow: img.*  Disallow: &=*  

Стоит отметить, что по умолчанию спецсимвол «*» добавляется в конце каждой инструкции, которую Вы прописываете. То есть,

  Disallow: /wp-admin # равносильно инструкции ниже  Disallow: /wp-admin*  

То есть, мы исключаем все, что находится в папке /wp-admin, а так же /wp-admin.html, /wp-admin.pdf и т.д. Для того, что бы этого не происходило необходимо в конце инструкции поставить другой спецсимвол — «$».

  Disallow: /wp-admin$ #   

В таком случае, мы уже не запрещаем файлы /wp-admin.html, /wp-admin.pdf и т.д

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

С синтаксисом robots.txt мы разобрались выше, поэтому сейчас напишем как правильно настроить данный файл. Если для популярных CMS, таких как WordPress и Joomla!, уже есть готовые robots, то для самописного движка или редкой СУ Вам придется все настраивать вручную.

(Даже несмотря на наличие готовых robots.txt редактировать и удалять «уникальный мусор» Вам придется  и в ВордПресс. Поэтому этот раздел будет полезен и для владельцев сайтов на ТОПовых CMS)

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

А.) В первую очередь из индекса исключаются дубликаты страниц в любом виде. Страница на сайте должна быть доступна только по одному адресу. То есть, при обращении к ресурсу робот должен получать по каждому URL уникальный контент.

Зачастую дубликаты появляются у систем управления сайтом при создании страниц. К примеру, одна и та же страница может быть доступна по техническому адресу /?p=391&preview=true и одновременно с этим иметь ЧПУ. Так же дубли могут возникать при работе с динамическими ссылками.

Всех их необходимо при помощи масок исключать из индекса.

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

Б.) Все страницы, которые имеют не уникальный контент, желательно убрать из индекса еще до того, как это сделает поисковая система.

В.) Из индекса должны быть исключены все страницы, которые используются при работе сценариев. К примеру, страница «Спасибо, сообщение отправлено!».

Г.) Желательно исключить все страницы, которые имеют индикаторы сессий

  Disallow: *PHPSESSID=  Disallow: *session_id=  

Д.) В обязательном порядке из индекса должны быть исключены все файлы вашей cms. Это файлы панели администрации, различных баз, тем, шаблонов и т.д.

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

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

«Держа в чистоте» Ваш индекс Вы упрощаете жизнь и себе и индексирующему роботу.

Что нужно разрешать индексировать?

Да по сути все, что не запрещено. Есть только один нюанс. Поисковые системы по умолчанию индексируют любой полезный контент Вашего сайта, поэтому использовать директиву Allow в 90% случаев не нужно.

Корректный файл sitemap.xml и качественная перелинковка дадут гарантию, что все «нужные» страницы Вашего сайта будут проиндексированы.

Обязательны ли директивы host и sitemap?

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

Для каких поисковиков настраивать?

Инструкции файла robots.txt понимают все популярные поисковые системы. Если различий в инструкциях нету, то Вы можете прописать User-agent: * (Все директивы для всех поисковиков).

Однако, если Вы укажите инструкции для конкретного робота, к примеру Yandex, то все другие директивы Яндексом будут проигнорированы.

Нужны ли мне директивы Crawl-delay и Clean-param?

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

Использование Crawl-delay зависит исключительно от Вашего хостинга. Если Вы чувствуете, что сервер уже не справляется запросами, то желательно увеличить время межу ними.

Проверяем свой robots.txt

После настройки файла его необходимо проверить. Сделать это возможно через Ваш Вебмастер в разделе «Инструменты» -> «Анализ robots.txt»

Проверка robots.txt

Но нужно понимать, что данный онлайн инструмент сможет лишь найти синтаксическую ошибку. Он никак не убережет Вас от лишней исключенной страницы, а так же от мусора в выдаче.

dh-agency.ru


You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector