Правильный Robots.txt

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



Файл robots.txt сообщает поисковым системам, что индексировать, а что нет. Он может оказать значительную пользу при оптимизации и последующем продвижении сайта.

Как настроить Robots.txt

Для создания robots.txt используйте текстовый редактор, например, Блокнот. Наполните его в соответствии с изложенными ниже правилами и загрузите на хостинг в корневую директорию сайта.

User-agent

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

У Яндекса существуют следующие роботы, которых можно указать в директиве User-agent:

  • YandexBot или просто Yandex – основной робот Яндекса.
  • YandexMedia – робот, отвечающий за индексацию мультимедийных данных.
  • YandexCatalog – сканер Яндекс.Каталога.
  • YandexBlogs – сканер поиска по блогам.
  • YandexDirect – робот, сканирующий сайты, участвующие в рекламной сети Яндекс Директ.
  • YandexNews – сканер сервиса Яндекс.Новости.

Google использует следующие сканеры:

  • Googlebot – основной робот Google.
  • Googlebot-Image – предназначен для индексации картинок.
  • Googlebot-Mobile – сканер страниц для мобильных устройств.
  • Mediapartners-Google – сканер страниц с рекламой AdSense.
  • Adsbot-Google – робот-оценщик страниц для AdWords.

Чтобы User-agent относился ко всем поисковым роботам, он должна выглядеть так:




User-agent: *

Disallow и Allow

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

User-agent: Yandex

Disallow: / # запрещено индексирование всего сайта

Disallow: /image # запрещено индексирование раздела image и страницы image.html

Disallow: /page1.php # запрещено индексирование страницы page1.php

Чтобы разрешить сканирование определенного участка сайта используйте директиву Allow

User-agent: Yandex

Disallow: /image # запрещено индексирование /image и /image.html, но

Allow: /image/catalog # разрешено индексирование подраздела image/catalog

Не допускаются пустые переводы строк между User-agent, Allow и Disallow.

В случае возникновения конфликтов между Disallow и Allow, предпочтение отдается Allow.

Спецсимволы * и $

Директивам Disallow или Allow можно указывать спецсимволы «*» и «$».

Пример:

User-agent: Googlebot

Disallow: /cgi-bin* # запрет индексации страниц, адрес которых начинается на cgi-bin

Disallow: /*example # запрещена индексация страниц, в адресе которых встречается слово example

User-agent: Yandex

Disallow: /image$ # блокирует индексацию только /image

Disallow: /image*$ # как и 'Disallow: /image' - запрещает и /image и /image.html

Sitemap

Если на вашем веб-ресурсе есть карта сайта — sitemap.xml, и вы хотите, чтобы поисковые системы узнали о ней, укажите в файл robots.txt путь в карте сайта, использовав директиву Sitemap. Если карт сайта несколько – можете указать их все.

User-agent: Yandex

Allow: /

Sitemap: //site1.com/sitemap1.xml

Sitemap: //site1.com/sitemap2.xml

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

User-agent: Yandex

Allow: /

User-agent: Googlebot

Disallow: /image

User-agent: *

Disallow: /about.html

Sitemap: //site1.com/sitemap1.xml

Host

Если у сайта есть разные зеркала, например, домен с www или без www, специальный робот-зеркалищик найдет зеркала и сформирует из них группу, а в результатах поиска отобразится только одно из них. Чтобы помочь поисковому роботу определить главное зеркало используйте директиву Host — поддерживается Яндексом.

Host – не гарантирует на 100% правильный выбор главного зеркала, но, тем не менее, поисковик учтет эту инструкцию.

Для совместимости файла robots.txt с роботами поисковых систем, не поддерживающими директиву Host, добавляйте её к группе правил, сразу после Allow или Disallow.

User-agent: Yandex

Allow: /

Host: where-money.com

Файл robots.txt может содержать только 1 Host. Если их будет несколько, поисковики учтут только первый из них.

Crawl-delay

Если сервер нагружен и не отрабатывает все запросы — используйте директиву Crawl-delay. Она задает промежуток времени между концом сканирования одной страницы и началом сканирования другой.

Crawl-delay, как и Host, добавляется к группе инструкций, начинающихся с User-Agent, после Allow или Disallow.

User-agent: *

Disallow: /image

Crawl-delay: 3 # таймаут 3 секунды

Clean-param

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

Например, у вас есть следующие страницы:

www.site.com/dir/file.php?ref=site1&file_id= 123

www.site.com/dir/file.php?ref=site2&file_id= 123

www.site.com/dir/file.php?ref=site3&file_id= 123

Динамический параметр «ref=» отслеживает сайты источники, с которых сделан переход, и он не меняет содержимое страницы.

Если в файл robots.txt написать следующее:

User-agent: Yandex

Disallow: /image

Clean-param: ref /dir/file.php

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

www.site.com/dir/file.php?ref=site1&file_id= 123

Межсекционная директива Clean-Param указывается в любом месте robots.txt. Если их несколько, роботы учтут все директивы Clean-Param.

Проверка robots.txt

Для проверки файла robots.txt пользуйтесь сервисами поисковых систем. Кто как ни они знают о том, корректно ли работают инструкции в robots.txt.

Анализатор Robots.txt в Яндексе выглядит так.

Проверка robots.txt Google:

  1. Перейдите в панель вебмастера Гугла.
  2. Выберите нужный сайт, зайдите в раздел меню Состояние – Заблокированные URL.
  3. Выберите «Проверить robots.txt».
  4. Затем скопируйте содержимое файла robots.txt, и поместите его в соответствующее поле.
  5. Укажите URL для проверки.
  6. Из списка роботов User agent выберите нужный сканер Google.


3 комментария

Ирина

Спасибо Вам за нормальное описание. Все понятно. Есть вопрос: "Что вначале следует загружать на сайт robots.txt или sitemap.xml ?"

Сергей

Вначале robots.txt – обязательно, а затем sitemap.xml. В дальнейшем, путь к файлу sitemap.xml (если он ещё не создан) можно дописать в robots.txt

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

Ирина

Спасибо за быстрый ответ

Добавить комментарий для Ирина Отменить ответ