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:
- Перейдите в панель вебмастера Гугла.
- Выберите нужный сайт, зайдите в раздел меню Состояние – Заблокированные URL.
- Выберите «Проверить robots.txt».
- Затем скопируйте содержимое файла robots.txt, и поместите его в соответствующее поле.
- Укажите URL для проверки.
- Из списка роботов User agent выберите нужный сканер Google.
Спасибо Вам за нормальное описание. Все понятно. Есть вопрос: "Что вначале следует загружать на сайт robots.txt или sitemap.xml ?"
Вначале robots.txt – обязательно, а затем sitemap.xml. В дальнейшем, путь к файлу sitemap.xml (если он ещё не создан) можно дописать в robots.txt
Если сайт небольшой, состоит из одной или нескольких страниц, например, сайт-визитка, тогда карту сайта можно и не создавать вовсе, хотя лишней она не будет.
Спасибо за быстрый ответ