11Май/100

Спецификация robots.txt.

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

Путь к файлу robots.txt.

1. Поскольку для некоторых сетевых операционных систем регистр символов в названии файла имеет значение, наименование файла robots.txt должно состоять из букв нижнего регистра (именно под таким именем он ищется поисковыми машинами). Это правило следует соблюдать, даже если сервер, предоставляющий услуги хостинга нормально переводит регистр символов и понимает что «robots.txt» и «ROBOTS.TXT» одно и тоже.
2. Файл robots.txt должен находиться в корневом каталоге сервера, и определять, какие каталоги не допускаются к индексации (но это касается только администраторов сервера и, не касается создателей сайтов).
3. Файл robots.txt должен находиться в корневом каталоге сайта (это уже на попечении владельцев сайта), например, если сайт называется webdesign.site3k.net, то файл robots.txt должен иметь адрес HTTP://webdesign.site3k.net/robots.txt. Файлы robots.txt, вложенные во внутренние каталоги сайта, поисковыми машинами игнорируются.

Спецификация robots.txt.

Поисковые машины поддерживают всего три директивы файла robots.txt:
# означает начало комментария. Вся строка, следующая за этим знаком, игнорируется. Данная директива позволяет разработчику оставить себе памятку о том, с какой целью он указал ту, или другую, директиву.
User-agent: указывает робота, которому адресован приведенный в следующих за строкой User-agent блок инструкций. Например, робот поисковой системы Рамблер называется StackRambler и, строка для его указания выглядит как:
User-agent: StackRambler
В одной директиве User-agent можно указать только одного робота (на самом деле, спецификации, с момента создания изменились и, в одной директиве, через пробел можно указывать любое количество роботов, но наши поисковые системы и многие западные, проигнорировали такое нововведение в спецификации и не понимают строк User-agent указывающих на нескольких роботов) и, для указания нескольких роботов, применяется несколько директив User-agent. Однако допускается применение универсального имени * означающего всех роботов, кроме тех, что указаны в других строках. Например:
User-agent: *
Если указание одного и того же робота повторяется в нескольких строках (по ошибке), роботами учитывается только первое, потому что, найдя первое упоминание о себе, прекращают поиск директивы User-agent (спецификация, в таком случае, разрешает роботам произвольно выбирать используемый блок).

disallow: указывает имя или часть имени не индексируемых файлов. Так же, как и директива User-agent, директива disallow: допускает не более одного параметра, поэтому для указания нескольких файлов, требуется употребление нескольких строк disallow. Директивы disallow должны идти в следующей строке после строки User-agent. Пустая строка является окончанием блока параметров для одного робота и началом блока параметров для следующего. Дойдя до пустой строки своего блока, роботы прекращают чтение параметров и начинают индексацию файлов. Поэтому пустые строки недопустимы как внутри блока параметров, так и между этим блоком и предшествующей им строкой с директивой User-agent. Например, блок параметров для Рамблера должен выглядеть так:
user-agent: StackRambler
disallow: /alt
disallow: /mac
disallow: /koi
Этот блок запретит индексацию файлов путь, к которым начинается с alt, mac и koi. Если же между disallow: /mac и disallow: /koi вставить пустую строку, файлы, имя которых начинается с koi, будут проиндексированы.
Директива disallow не признает шаблонов типа *.CGI, поэтому, чтобы облегчить себе жизнь и не повторять строку тысячи раз, следует собрать все неиндексируемые файлы в один каталог (или несколько каталогов, если так будет удобней) и запретить индексацию всего этого каталога.
Параметр директивы disallow должен указывать относительный путь от корня сайта. Попытка указать абсолютный путь вроде HTTP://MyCite.Host.ru/files.html приведет к результату
disallow: /HTTP://MyCite.Host.ru/HTTP://MyCite.Host.ru/files.html
Этот результат получается в силу того, что путь к корневому каталогу сайта роботами учитывается автоматически (иначе можно было бы запретить индексацию файлов на чужих сайтах).
Корневой каталог сайта обозначается обратным слешем (/). Если по какой-то причине не требуется индексация всего сайта, директива disallow должна указывать на корень:
disallow: /
Директива disallow без слеша ничего не запрещает.
Если не требуется индексация файлов, имя которых начинается с некоторой последовательности символов, в директиве disallow указывается обратный слеш и требуемая последовательность. Например:
disallow: /dir
Запретит индексацию файлов «/dir.html», «/dir/index.html», «/directory.html».
Если требуется указать не начало имени файла или пути к нему, а имя целиком, это имя следует закончить обратным слешем. Например:
disallow: /dir/
disallow: /dir.html/
Чувствительность к регистру в имени файлов зависит от сервера предоставляющего хостинг. Если сервер регистрочувствительный, то
disallow: /dir.html/
Запретит индексацию файла dir.html, но не файла dir.HTML.
Других директив, robots.txt содержать не может. В частности, нет директив разрешающих индексацию. Иначе владелец сайта мог бы разрешить индексацию файлов, запрещенных к индексации владельцем сервера.
Трудно представить ситуацию, в которой содержателю сайта пришлось бы давать различные инструкции для разных роботов. Поэтому, с учетом изложенного, стандартный файл robots.txt выглядит примерно так:
User-Agent: *
Disallow: /cgi-bin/
Disallow: /links/

Где cgi-bin – папка с cgi-скриптами, а links – папка с различными ссылками. Если же требуется задание различных параметров индексации различным роботам, перед началом блока параметров для следующего робота обязательно наличие пустой строки, определяющей завершение предыдущего блока. Например:
User-Agent: *
Disallow: /cgi-bin/
Disallow: /links/

User-Agent: Lycos
Disallow: /cgi-bin/

Имена некоторых роботов: Yandex, StackRambler, Aport, Googlebot, Lycos

Комментарии (0) Пинги (0)

Пока нет комментариев.


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

Нет обратных ссылок на эту запись.