>>>>>>> О файле robots.txt подробно написано на сайте Яндекса
На сайте Яндекса об использовании robots.txt:
- Что такое файл robots.txt
- Как создать robots.txt
- Директива User-agent
Роботы Яндекса учитывают директивы в файле robots.txt, начинающиеся строкой
'User-agent: Yandex' (без учета регистра) или, если нет директив специально для Яндекса (Yandex), учитывают директивы предназначенные для всех роботов, т.е. начинающиеся строкой 'User-agent: *'.
Если нет ни одной из этих строк, считается, что доступ роботу не ограничен.
Роботы Яндекса:'YandexBot' — основной индексирующий робот;
'YandexMedia' — робот, индексирующий мультимедийные данные;
'YandexImages' — индексатор Яндекс.Картинок;
'YandexCatalog' — «простукивалка» Яндекс.Каталога, используется для временного снятия с публикации недоступных сайтов в Каталоге;
'YaDirectFetcher' — робот Яндекс.Директа, интерпретирует robots.txt особым образом;
'YandexBlogs' — робот поиска по блогам, индексирующий посты и комментарии;
'YandexNews' — робот Яндекс.Новостей;
'YandexPagechecker' — валидатор микроразметки;
‘YandexMetrika’ — робот Яндекс.Метрики;
‘YandexMarket’— робот Яндекс.Маркета;
‘YandexCalendar’ — робот Яндекс.Календаря.Для любого робота можно задать отдельные директивы, тогда для этого робота директивы 'User-agent: Yandex' или 'User-agent: *' не используются.
Например:
User-agent: YandexBot # для основного индексирующего робота Яндекса Disallow: /*id= User-agent: Yandex # для всех роботов Яндекса Disallow: /*sid= # кроме основного индексирующего User-agent: * # это Яндекс не учитывает Disallow: /cgi-bin
- Использование директив Disallow и Allow
Робот сортирует директивы Allow (разрешено) и Disallow (запрещено) из соответствующего User-agent блока по длине префикса URL (от меньшего к большему) и применяет последовательно, поэтому порядок следования директив в файле robots.txt не влияет на использование их роботом.
При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow
! Недопустимо наличие пустых переводов строки между директивами 'User-agent' и 'Disallow' ('Allow'), а также между директивами 'Disallow' и 'Allow'.# блокировано все кроме страниц, адреса которых # начинаются с site.ru/blog User-agent: Yandex Allow: /blog Disallow: /
Без параметров:
User-agent: Yandex Disallow: # все запрещено = Allow: / User-agent: Yandex Allow: # все разрешено = Disallow: /
- Использование спецсимволов "*" и "$"
Спецсимвол '*' означает любую (в том числе пустую) последовательность символов, - по умолчанию '*' приписывается к концу каждого правила в robots.txt.User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает '/cgi-bin/example.aspx' # и '/cgi-bin/private/test.aspx' Disallow: /*private # запрещает не только '/private', # но и '/cgi-bin/private'
Спецсимвол $ позволяет отменить '*' на конце правила:
User-agent: Yandex Disallow: /example$ # запрещает '/example', # но не запрещает '/example.html'
- Директива Sitemap - карта сайта
User-agent: Yandex Allow: / Sitemap: http://mysite.ru/site_structure/my_sitemaps1.xml Sitemap: http://mysite.ru/site_structure/my_sitemaps2.xml
- Директива Host - имя главного зеркала сайта
# После директив Disallow и Allow Host: www.glavnoye-zerkalo.ru
***Аргумент директивы 'Host' - доменное имя и номер порта (по умолчанию 80), отделенный двоеточием (Host: myhost.ru:8080).
- Директива Crawl-delay - чтобы робот сильно не нагружал сервер
# После директив Disallow и Allow Crawl-delay: 2 # задает таймаут в 2 секунды
- Директива Clean-param - используется, если адреса страниц сайта содержат динамические параметры, которые не влияют на содержимое
- Дополнительная информация: Робот Яндекса не поддерживает директивы robots.txt, которые не упомянуты ...
- Исключения: Некоторые роботы Яндекса скачивают документы не для их последующей индексации, а для других целей...Чтобы ограничить этим роботам доступ к сайту или его части, указывают директивы специально для них:
User-agent: YaDirectFetcher Disallow: / User-agent: YandexCalendar Disallow: /*.ics$
Яндекс предлагает проверить работу файла robots.txt: анализатор файла robots.txt.