среда, 27 апреля 2011 г.

Robots.txt и Яндекс (Yandex) http://webmaster.yandex.ru (Часть №1.)


Что такое robots.txt?

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

Структура robots.txt:

Файл состоит из полей. Структура полей такова: сначала идёт информация о том, какой поисковик должен следовать указаниям в директиве (строка содержит User-Agent поискового бота или *, как рекомендация для всех поисковых систем), далее идёт поле Disallow, в котором указывается название объекта, который необходимо скрыть от индексирования.
Раздел рекомендаций между инструкциями для одной поисковой системы распознаётся от раздела рекомендаций для другой поисковой системы пустой строкой, а раздел, в свою очередь, формируется полем User-Agent. В одном разделе может быть сразу несколько полей User-Agent, начинающихся с новой строки.
Стандарт robots.txt поддерживает комментарии. Всё, что начинается от символа # до конца строки, является комментарием.
Строки файла robots.txt являются регистрозависимыми (primer.html и Primer.html - разные файлы).
Следует заметить любопытный факт, что файл robots.txt создавался и создаётся с основной целью – запрета индексации, следовательно, и все поля, в нём прописанные, явно указывают на запрет индексации частей сайта. Однако поисковые системы постепенно вводят поле Allow, которое всегда должно стоять раньше директивы Disallow, но пока официально оно не признано, хоть и используется некоторыми поисковыми системами (Например, "Яндексом", Google иBing).
Некоторые поисковые системы используют собственные "информационные" директивы.  В Bing Live и "Яндексе" через robots.txt реализована установка значения скорости индексации документа. Делается это так:
User-agent: MSNbot
Crawl-delay: n где n - величина задержки в секундах перед индексированием очередной страницы.
User-agent: Yandex
Crawl-delay: n где n - величина задержки в секундах перед индексированием очередной страницы.
В начале 2009 года в поисковой системе "Яндекс" введена директива Clean-param, при помощи которой веб-мастер может указать, как индексировать динамические параметры, которые не влияют на содержание страницы. Это могут быть различные идентификаторы сессий, пользователей и т. д., что увеличивает эффективность индексации страницы. (Ознакомиться с ней можно здесь).
Пример одного из составленных файлов robots.txt:
User-agent: *
Disallow: /User-agent: Googlebot
Disallow: /text/

Это важно знать:

1) Файл robots.txt должен находиться только в корневой директории сайта, только тогда он будет учитываться поисковыми системами.
2) Называть файл необходимо robots.txt, Robots.txt будет уже ошибкой.
3) На каждой строке должно быть поле Disallow, запрещающее индексацию только одного объекта. Если нужно запретить несколько директорий или файлов, то для этого пишем поле Disallow на каждой новой строке. В записи должно быть хотя бы одно поле Disallow. Также не забудьте про поле User-Agent - оно не должно быть пустым (либо *, либо имя робота). Если используется директива Allow, то она всегда должна стоять раньше Disallow.
4) Запомните простые комбинации:
Disallow: - разрешение индексировать всё содержимое сайта,
Disallow: / - запрет на индексацию всего сайта.
Disallow: /name – запрет на индексацию любых файлов и директорий, которые называются или имеют в своём названии name.
Disallow: /name/ - запрет на индексацию директории name.
Disallow: /*.gif$ - запрет на индексацию всех файлов, имеющих расширение .gif.
Disallow: /name.php – запрет на индексацию файла name.php.
Disallow: /name.php?action=print – запрет индексации переменной, например, страниц для печати.
Allow: / - всё наоборот (разрешается индексировать), синтаксис такой же, как и с Disallow
# - при помощи решётки можно писать комментарии: они не учитываются роботами поисковых систем и носят сугубо информативный  характер.
5) Поле Host используется "Яндексом" для определения основного зеркала сайта. Например, так: Host: www.site.ru. Это поле говорит поисковой системе "Яндекс", что в результатах поиска лучше выводить именно такую ссылку на ваш сайт (с www).
Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Важно помнить, что если вы хотите, чтобы поисковая система "Яндекс" приняла во внимание директиву Host в вашей файле, то создайте одинаковые файлы robots.txt на всех "зеркалах" сайта. Только тогда зеркальщик "Яндекс" выделит главное зеркало,  согласно данным в Host.
6) Поле Sitemap используется для указания поисковой системе, где находится сгенерированная для поисковых систем карта сайта.(Sitemap: http://www.site.ru/sitemap.xml). Применяется в Google, Ask, Yahoo, Bing и "Яндекс".
User-Agent: Yandex
http://www.site.ru/sitemap-main.xml
http://www.site.ru/folder/sitemap-second.xml
# В случае, когда на сайте используется несколько файлов Sitemap, то их желательно перечислить в файле robots.txt
7) Если инструкции задаются для нескольких поисковых систем, то поля User-Agent
должны вводиться через перевод строки (клавишу Enter).
Вот так:
User-Agent: msnbot
User-Agent: Slurp
Disallow: /admin/

Ошибки в файле robots.txt:

1) Неверный порядок расположения полей:
Неправильно:
Disallow: /
User-agent: *
Правильно:
User-agent: *
Disallow: /
2) Совершаются синтаксические ошибки:
Нет пустой строки:
Неправильно:
User-agent: Googlebot
Disallow: /
User-agent: *
Disallow:
Правильно:
User-agent: Googlebot
Disallow: /User-agent: *
Disallow:
Ошибки в синтаксисе Disallow:
Disallow: * (приводит к запрету на индексацию всего сайта).
Disallow: /text/ /text2/ (нельзя использовать одно поле для разных директорий).
Правильно:
Disallow: /text/
Disallow: /text2/
Поле User-Agent:
User-agent: (поле не должно быть пустым)
Поле Host:
Неправильно:
Host: http://www.site.ru/ # (нельзя использовать протокол и слеш в конце)
Host: .site.ru # (любые ошибки в написании доменных имён не допустимы)
Host: 200.114.47.5 # (указан IP вместо адреса)
Правильно:
Host: www.site.ru
или
Host: www.site.ru:8080
# - если ваш сайт доступен по какому-то другому порту (стандартный порт 80, если используется именно он, то его не указывают).

Желательно делать так:

Не пишите все поля с больших букв, комментарии лучше переносить на новую строку.  С осторожностью используйтедополнительные директивы (Host, Crawl-Delay): убедитесь, что поисковые системы способны их правильно трактовать. Неправильные действия могут вызвать недопонимание тех систем, которые не используют эти поля, а также не забывайте, что поле Disallow должно быть даже тогда, когда некоторые поисковые системы игнорируют его. Не создавайте размер файла robots.txt больше, чем 256 килобайт.
На этом всё, спасибо за внимание.



Роботы Яндекса


Виды роботов Яндекса (www.yandex.ru)


  • Yandex/1.01.001 (compatible; Win16; I) — основной индексирующий робот
  • Yandex/1.01.001 (compatible; Win16; P) — индексатор картинок
  • Yandex/1.01.001 (compatible; Win16; H) — робот, определяющий зеркала сайтов
  • Yandex/1.02.000 (compatible; Win16; F) — робот, индексирующий пиктограммы сайтов (favicons)
  • Yandex/1.03.003 (compatible; Win16; D) — робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
  • Yandex/1.03.000 (compatible; Win16; M) — робот, обращающийся при открытии страницы по ссылке «Найденные слова»
  • YaDirectBot/1.0 (compatible; Win16; I) — робот, индексирующий страницы сайтов, участвующих в Рекламной сети Яндекса
  • YandexBlog/0.99.101 (compatible; DOS3.30,B) – робот, индексирующий xml-файлы для поиска по блогам.
  • YandexSomething/1.0 – робот, индексирующий новостные потоки партнеров Яндекс-Новостей.
  • Bond, James Bond (version 0.07) — робот, заходящий на сайты из подсети Яндекса. Официально никогда не упоминался. Ходит выборочно по страницам. Referer не передает. Картинки не загружает. Судя по повадкам, робот занимается проверкой сайтов на нарушения – клоакинг и пр.

IP-адреса роботов Яндекса

IP-адресов, с которых «ходит» робот Яндекса, много, и они могут меняться. Список адресов не разглашается.
Кроме роботов у Яндекса есть несколько агентов-«простукивалок», которые определяют, доступен ли в данный момент сайт или документ, на который стоит ссылка в соответствующем сервисе.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; C) — «простукивалка» Яндекс.Каталога. Если сайт недоступен в течение нескольких дней, он снимается с публикации. Как только сайт начинает отвечать, он автоматически появляется в Каталоге.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; Z) — «простукивалка» Яндекс.Закладок. Ссылки на недоступные сайты помечаются серым цветом.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; D) — «простукивалка» Яндекс.Директа. Она проверяет корректность ссылок из объявлений перед модерацией. Никаких автоматических действий не предпринимается.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; N) — «простукивалка» Яндекс.Новостей. Она формирует отчет для контент-менеджера, который оценивает масштаб проблем и, при необходимости, связывается с партнером.

Директива Host

Во избежания возникновения проблем с зеркаломами сайта рекомендуется использовать директиву «Host». Директива «Host» указывает роботу Яндекса на главное зеркало данного сайта. С директивой «Disallow» никак не связана.
User-agent: Yandex
Disallow: /cgi-bin
Host: www.site.ru
либо
User-agent: Yandex
Disallow: /cgi-bin
Host: site.ru
в зависимости от того что для вас оптимальнее.
Вот цитата из ЧаВо Яндекса:
Мой сайт показывается в результатах поиска не под тем именем. Как это исправить?
Скорее всего, ваш сайт имеет несколько зеркал, и робот выбрал как основное не то зеркало, которое хочется вам. Есть несколько решений:
  • удалите зеркала вашего сайта;
  • на всех зеркалах, кроме того, которое вы хотите выбрать основным, разместите файл robots.txt, полностью запрещающий индексацию сайта, либо выложите на зеркалах robots.txt с директивой Host;
  • разместите на главных страницах неосновных зеркал тег <meta name=“robots” content=“noindex, nofollow”>, запрещающий их индексацию и обход по ссылкам;
  • измените код главных страниц на неосновных зеркалах так, чтобы все (или почти все) ссылки с них вглубь сайта были абсолютными и вели на основное зеркало.
В случае реализации одного из вышеперечисленных советов ваше основное зеркало будет автоматически изменено по мере обхода робота.
Интересная информация об обработке директивы Host из ответов А. Садовского на вопросы оптимизаторов:
Вопрос: Когда планируется своевременное соблюдение директивы Host: в robots.txt? Если сайт индексируется как www.site.ru, когда указано Host: site.ru уже после того, как robots.txt был размещен 1–2 недели, то при этом сайт с www и без www не склеивается более 1–2 месяца и в Яндексе существуют одновременно 2 копии частично пересекающихся сайтов (один 550 страниц, другой 150 страниц, при этом 50 страниц одинаковых). Прокомментируйте, пожалуйста, проблемы с работой «зеркальщика».
Ответ: Расширение стандарта robots.txt, введенное Яндексом, директива Host — это не команда считать зеркалами два любых сайта, это указание, какой сайт из группы, определенных автоматически как зеркала, считать главным. Следовательно, когда сайты будут идентифицированы как зеркала, директива Host сработает.

HTML-тег <noindex>

Робот Яндекса поддерживает тег noindex, который запрещает роботу Яндекса индексировать заданные (служебные) участки текста. В начале служебного фрагмента ставится <noindex>, а в конце — </noindex>, и Яндекс не будет индексировать данный участок текста.
Тег работает аналогично мета-тегу noindex, но распространяется только на контент, заключенный внутри тега в формате:
<noindex>текст, индексирование которого нужно запретить</noindex>
Тег noindex не чувствителен к вложенности (может находиться в любом месте html-кода страницы). При необходимости сделать код сайта валидным возможно использование тега в следующем формате:
<!–noindex–>текст, индексирование которого нужно запретить<!–/noindex–>
Материал взят robotstxt.org.ru 




Хелп с яндекс



Использование robots.txt

  1. Что такое файл robots.txt
  2. Как создать robots.txt
  3. Директива User-agent
  4. Использование директив Disallow и Allow.
  5. Использование спецсимволов "*" и "$".
  6. Директива Sitemap.
  7. Директива Host.
  8. Директива Crawl-delay.
  9. Директива Clean-param
  10. Дополнительная информация.
  1. Что такое файл robots.txt

    Robots.txt — текстовый файл, расположенный на сайте, который предназначен для роботов поисковых систем. В этом файле веб-мастер может указать параметры индексирования своего сайта как для всех роботов сразу, так и для каждой поисковой системы по отдельности.
  2. Как создать robots.txt

    Воспользуйтесь любым текстовым редактором (например, Блокнотом или WordPad'ом), создайте файл с именем "robots.txt" и заполните его в соответствии с представленными ниже правилами. После этого необходимо загрузить файл в корневой каталог вашего сайта.
    Чтобы проверить правильность обработки вашего файла robots.txt, воспользуйтесь анализатором файла robots.txt.
  3. Директива User-agent

    Управлять доступом робота Яндекса к вашему сайту вы можете при помощи файла robots.txt, который должен быть размещен в корневой директории сайта. Робот Яндекса поддерживает стандарт описания http://www.robotstxt.org/wc/norobots.html с расширенными возможностями, описанными ниже.
    В роботе Яндекса используется сессионный принцип работы, на каждую сессию формируется определенный пул страниц, которые планирует закачать робот. Сессия начинается с закачки robots.txt сайта, если его нет, он не текстовый или на запрос робота возвращается HTTP-код отличный от '200', считается, что доступ роботу не ограничен. В самом robots.txt проверяется наличие записей, начинающихся с 'User-agent:', в них ищутся подстроки 'Yandex', либо '*' (регистр значения не имеет), причем, если обнаружено 'User-agent: Yandex', директивы для 'User-agent: *' не учитываются. Если записи 'User-agent: Yandex' и 'User-agent: *' отсутствуют, считается, что доступ роботу не ограничен.
    Следующим роботам Яндекса можно указать отдельные директивы:
    'YandexBot' — основной индексирующий робот;
    'YandexMedia' — робот, индексирующий мультимедийные данные;
    'YandexImages' — индексатор Яндекс.Картинок;
    'YandexCatalog' — "простукивалка" Яндекс.Каталога;
    'YandexDirect' — робот, индексирующий страницы сайтов, участвующих в Рекламной сети Яндекса;
    'YandexBlogs' — робот поиска по блогам, индексирующий комментарии постов;
    'YandexNews' — робот Яндекс.Новостей;
    'YandexPagechecker' — робот, обращающийся к странице при валидации микроразметки через форму «Валидатор микроразметки»;
    Для каждого из них также действительно правило: если обнаружены директивы для конкретного робота, директивы 'User-agent: Yandex' и 'User-agent: *' не используются.
    Пример:
    User-agent: * # не будет использована роботами Яндекса
    Disallow: /cgi-bin 
    
    User-agent: Yandex # будет использована всеми роботами Ядекса
    Disallow: /*sid= # кроме основного индексирующего
    
    User-agent: YandexBot # будет использоваться только основным индексирующим роботом
    Disallow: /*id=
  4. Использование директив Disallow и Allow.

    Чтобы запретить доступ робота к некоторым частям сайта или сайту целиком, используйте директиву 'Disallow'. Примеры:
    User-agent: Yandex
    Disallow: / # блокирует доступ ко всему сайту
    
    User-agent: Yandex
    Disallow: /cgi-bin # блокирует доступ к страницам 
                       #начинающимся с '/cgi-bin'
    Примечание:
    Недопустимо наличие пустых переводов строки между директивами 'User-agent' и 'Disallow' ('Allow'), а также между самими 'Disallow' ('Allow') директивами.
    Кроме того, в соответствии со стандартом перед каждой директивой 'User-agent' рекомендуется вставлять пустой перевод строки.
    Символ '#' предназначен для описания комментариев. Все, что находится после этого символа и до первого перевода строки не учитывается.
    Чтобы разрешить доступ робота к некоторым частям сайта или сайту целиком, используйте директиву 'Allow'. Примеры:
    User-agent: Yandex
    Allow: /cgi-bin
    Disallow: /
    # запрещает скачивать все, кроме страниц 
    # начинающихся с '/cgi-bin'
    Совместное использование директив.
    Если для данной страницы сайта подходит несколько директив, то выбирается первая в порядке появления в выбранном User-agent блоке. Примеры:
    User-agent: Yandex
    Allow: /cgi-bin
    Disallow: /
    # запрещает скачивать все, кроме страниц 
    # начинающихся с '/cgi-bin'
    User-agent: Yandex
    Disallow: /
    Allow: /cgi-bin
    # запрещает скачивать весь сайт
    Директивы Allow-Disallow без параметров.
    Отсутствие параметров у директивы трактуется следующим образом:
    User-agent: Yandex
    Disallow: # то же, что и Allow: /
    
    User-agent: Yandex
    Allow: # то же, что и Disallow: /
  5. Использование спецсимволов "*" и "$".

    При указании путей директив Allow-Disallow можно использовать спецсимволы '*' и '$', задавая, таким образом, определенные регулярные выражения. Спецсимвол '*' означает любую (в том числе пустую) последовательность символов. Примеры:
    User-agent: Yandex
    Disallow: /cgi-bin/*.aspx # запрещает '/cgi-bin/example.aspx'
                              # и '/cgi-bin/private/test.aspx'
    Disallow: /*private # запрещает не только '/private',
                        # но и '/cgi-bin/private'
    Спецсимвол '$'
    По умолчанию к концу каждого правила, описанного в robots.txt, приписывается '*', например:
    User-agent: Yandex
    Disallow: /cgi-bin* # блокирует доступ к страницам 
                        # начинающимся с '/cgi-bin'
    Disallow: /cgi-bin # то же самое
    Чтобы отменить '*' на конце правила, можно использовать спецсимвол '$', например:
    User-agent: Yandex
    Disallow: /example$ # запрещает '/example', 
                        # но не запрещает '/example.html'
    User-agent: Yandex
    Disallow: /example # запрещает и '/example', 
                       # и '/example.html'
    User-agent: Yandex
    Disallow: /example$ # запрещает только '/example'
    Disallow: /example*$ # так же, как 'Disallow: /example' 
                         #запрещает и /example.html и /example
  6. Директива Sitemap.

    Если вы используете описание структуры вашего сайта в формате sitemaps.xml, и хотите, чтобы робот узнал о ней, укажите путь к sitemaps.xml в качестве параметра директивы 'Sitemap' (если файлов несколько, укажите все). Примеры:
    User-agent: Yandex
    Allow: /
    Sitemap: http://mysite.ru/site_structure/my_sitemaps1.xml
    Sitemap: http://mysite.ru/site_structure/my_sitemaps2.xml
    или
    User-agent: Yandex
    Allow: /
    
    User-agent: *
    Disallow: /
    
    Sitemap: http://mysite.ru/site_structure/my_sitemaps1.xml
    Sitemap: http://mysite.ru/site_structure/my_sitemaps2.xml
    Робот запомнит пути к sitemaps.xml, обработает файлы и будет использовать результаты при последующем формировании сессий закачки.
  7. Директива Host.

    Если у вашего сайта есть зеркала, специальный робот зеркальщик определит их и сформирует группу зеркал вашего сайта. В поиске будет участвовать только главное зеркало. Вы можете указать его у всех зеркал при помощи robots.txt, используя директиву 'Host' и определив в качестве ее параметра имя главного зеркала. Директива 'Host' не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом. Пример:
    #Если www.glavnoye-zerkalo.ru главное зеркало сайта, то  
    #robots.txt для всех сайтов из группы зеркал выглядит так 
    User-Agent: *
    Disallow: /forum
    Disallow: /cgi-bin
    Host: www.glavnoye-zerkalo.ru
    Важно: в целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву 'Host' необходимо добавлять в группе, начинающейся с записи 'User-Agent', непосредственно после директив 'Disallow'('Allow'). Аргументом директивы 'Host' является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием.
    #Пример корректно составленного robots.txt, при обработке 
    #которого директива Host учитывается
    User-Agent: *
    Disallow:
    Host: www.myhost.ru
    Тем не менее директива Host является межсекционной, поэтому будет использоваться роботом вне зависимости от места в файле robots.txt, где она указана.
    Важно: Директива Host в файле robots.txt может быть только одна. В случае указания нескольких директив, использоваться будет первая.
    Пример:
    Host: myhost.ru # используется
    
    User-agent: *
    Disallow: /cgi-bin
    
    User-agent: Yandex
    Disallow: /cgi-bin
    Host: www.myhost.ru # не используется
    Важно: параметр директивы Host обязан состоять из одного корректного имени хоста (то есть соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки 'Host:' игнорируются.
    # Примеры игнорируемых директив Host
    Host: www.myhost-.ru
    Host: www.-myhost.ru
    Host: www.myhost.ru:100000
    Host: www.my_host.ru
    Host: .my-host.ru:8000
    Host: my-host.ru.
    Host: my..host.ru
    Host: www.myhost.ru/
    Host: www.myhost.ru:8080/
    Host: http://www.myhost.ru
    Host: 213.180.194.129
    Host: www.firsthost.ru,www.secondhost.ru
    Host: www.firsthost.ru www.secondhost.ru
    Примеры использования директивы Host:
    # domen.myhost.ru является главным зеркалом 
    # www.domen.myhost.ru, тогда корректное использование 
    # директивы Host такое:
    User-Agent: *
    Disallow:
    Host: domen.myhost.ru
    
    # domen.myhost.ru является главным зеркалом 
    # www.domen.myhost.ru, тогда некорректное использование 
    # директивы Host такое:
    User-Agent: *
    Disallow:
    Host: myhost.ru
  8. Директива Crawl-delay.

    Если сервер сильно нагружен и не успевает отрабатывать запросы на закачку, воспользуйтесь директивой "Crawl-delay". Она позволяет задать поисковому роботу минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву "Crawl-delay" необходимо добавлять в группе, начинающейся с записи "User-Agent", непосредственно после директив "Disallow" ("Allow").
    Поисковый робот Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но дает роботу больше свободы и позволяет ускорить обход сайта.
    Примеры:
    User-agent: Yandex
    Crawl-delay: 2 # задает таймаут в 2 секунды
    
    User-agent: *
    Disallow: /search
    Crawl-delay: 4.5 # задает таймаут в 4.5 секунды
    
  9. Директива Clean-param

    Если адреса страниц вашего сайта содержат динамические параметры, которые не влияют на их содержимое (например: идентификаторы сессий, пользователей, рефереров и т.п.), вы можете описать их при помощи директивы 'Clean-param'. Робот Яндекса, используя эту информацию, не будет многократно перезакачивать дублирующуюся информацию. Таким образом, увеличится эффективность обхода вашего сайта, снизится нагрузка на сервер.
    Например, на сайте есть страницы:
    www.site.ru/some_dir/get_book.pl?ref=site_1&book_id=123
    www.site.ru/some_dir/get_book.pl?ref=site_2&book_id=123
    www.site.ru/some_dir/get_book.pl?ref=site_3&book_id=123
    параметр 'ref=' используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой 'book_id=123'. Тогда, если в robots.txt указать:
    Clean-param: ref /some_dir/get_book.pl
    Вот так:
    User-agent: Yandex
    Disallow:
    Clean-param: ref /some_dir/get_book.pl
    Робот Яндекса сведет все адреса страницы к одному:
    www.site.ru/some_dir/get_book.pl?ref=site_1&book_id=123,
    
    Если на сайте доступна страница без параметров:
    www.site.ru/some_dir/get_book.pl?book_id=123
    То все сведется именно к ней, когда она будет проиндексирована роботом. Другие страницы вашего сайта будут обходиться чаще, так как нет необходимости обновлять страницы:
    www.site.ru/some_dir/get_book.pl?ref=site_2&book_id=123
    www.site.ru/some_dir/get_book.pl?ref=site_3&book_id=123
    Синтаксис использования директивы:
    Clean-param: p0[&p1&p2&..&pn] [path]
    В первом поле через '&' перечисляются параметры, которые нужно не учитывать. Во втором поле указывается префикс пути страниц, для которых нужно применить правило.
    Важно: директива Clean-Param является межсекционной, поэтому может быть указана в любом месте файла robots.txt. В случае, если директив указано несколько, все они будут учтены роботом.
    Примечание:
    Префикс может содержать регулярное выражение в формате, аналогичном robots.txt, но с некоторыми ограничениями: можно использовать только символы A-Za-z0-9.-/*_. При этом * трактуется так же, как в robots.txt. В конец префикса всегда неявно дописывается '*', то есть:
    Clean-param: s /forum/showthread.php
    означает, что параметр s будет считаться незначащим для всех url-ов, начинающихся с /forum/showthread.php. Второе поле указывать необязательно, в этом случае правило будет применяться для всех страниц сайта. Регистр учитывается. Действует ограничение на длину правила — 500 символов. Например:
    Clean-param: abc /forum/showthread.php
    Clean-param: sid&sort /forumt/*.php
    Clean-param: someTrash&otherTrash
    Дополнительные примеры:
    #для адресов вида:
    www.site1.ru/forum/showthread.php?s=681498b9648949605&t=8243
    www.site1.ru/forum/showthread.php?s=1e71c4427317a117a&t=8243
    #robots.txt будет содержать:
    User-agent: Yandex
    Disallow:
    Clean-param: s /forum/showthread.php
    #для адресов  вида:
    www.site2.ru/index.php?page=1&sort=3a&sid=2564126ebdec301c607e5df
    www.site2.ru/index.php?page=1&sort=3a&sid=974017dcd170d6c4a5d76ae
    #robots.txt будет содержать:
    User-agent: Yandex
    Disallow:
    Clean-param: sid /index.php
    #если таких параметров несколько:
    www.site1.ru/forum_old/showthread.php?s=681498605&t=8243&ref=1311
    www.site1.ru/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896
    #robots.txt будет содержать:
    User-agent: Yandex
    Disallow:
    Clean-param: s&ref /forum*/showthread.php
    #если параметр используется в нескольких скриптах:
    www.site1.ru/forum/showthread.php?s=681498b9648949605&t=8243
    www.site1.ru/forum/index.php?s=1e71c4427317a117a&t=8243
    #robots.txt будет содержать:
    User-agent: Yandex
    Disallow:
    Clean-param: s /forum/index.php
    Clean-param: s /forum/showthread.php
  10. Дополнительная информация.

    Директивы robots.txt, которые не упомянуты в данном описании, робот Яндекса не поддерживает.
    Необходимо помнить, что результат использования расширений формата robots.txt может отличаться от результата без них, а именно:
    User-agent: Yandex 
    Allow: /
    Disallow: /
    # без расширений все запрещалось так как 'Allow: /' игнорировалось, 
    # с поддержкой расширений все разрешается
    
    User-agent: Yandex
    Disallow: /private*html
    # без расширений запрещалось '/private*html', 
    # а с поддержкой расширений и '/private*html', 
    # и '/private/test.html', и '/private/html/test.aspx' и т.п.
    
    User-agent: Yandex
    Disallow: /private$
    # без расширений запрещалось '/private$' и '/private$test' и т.п., 
    # а с поддержкой расширений только '/private'
    
    User-agent: *
    Disallow: /
    User-agent: Yandex
    Allow: /
    # без расширений из-за отсутствия перевода строки, 
    # 'User-agent: Yandex' было бы проигнорировано и 
    # результатом стало бы 'Disallow: /', но робот Яндекса 
    # выделяет записи по наличию в строке 'User-agent:', 
    # результат для робота Яндекса в данном случае 'Allow: /'
    
    User-agent: *
    Disallow: /
    # комментарий1...
    # комментарий2...
    # комментарий3...
    User-agent: Yandex
    Allow: /
    # аналогично предыдущему примеру (см. выше)
    Примеры использования расширенного формата robots.txt:
    User-agent: Yandex
    Allow: /archive
    Disallow: /
    # разрешает все, что содержит '/archive', остальное запрещено
    
    User-agent: Yandex
    Allow: /obsolete/private/*.html$ # разрешает html файлы 
                            # по пути '/obsolete/private/...'
    Disallow: /*.php$  # запрещает все '*.php' на данном сайте
    Disallow: /*/private/ # запрещает все подпути содержащие 
                          # '/private/', но Allow выше отменяет 
                          # часть запрета
    Disallow: /*/old/*.zip$ # запрещает все '*.zip' файлы, содержащие 
                            # в пути '/old/'
    
    User-agent: Yandex
    Disallow: /add.php?*user= 
    # запрещает все скрипты 'add.php?' с параметром 'user'
    При написании robots.txt необходимо помнить, что у робота есть разумное ограничение на его размер. Слишком большие robots.txt (более 32 Кб) считаются полностью разрешающими, то есть рассматриваются аналогично:
    User-agent: Yandex
    Disallow:
    Также разрешающими считаются robots.txt, которые не удалось закачать (например, по причине неправильных http-заголовков) или отдающие 404 ошибку.
    Для проверки правильности файла robots.txt вы можете воспользоваться специальным on-line анализатором. См. описание «Анализатор robots.txt»

Комментариев нет:

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