суббота, 31 мая 2008 г.

robots.txt - запрещающие инструкции

С появлением в сети роботов возник ряд угроз, спасти от которых и призвана технология "robots.txt". Возможные угрозы можно разделить на два класса: повышение нагрузки и злоупотребление данными. Перегружая ресурс запросами, робот легко может добиться от сервера отказа в обслуживании; получив данные, робот может организовать распространение или использование данных, не желательное для их владельца. Стандарт был принят в 1994-м году и с тех пор остался без изменений. Для всех интересующихся доступна официальная версия стандарта robots.txt на английском языке.


Что позволяет robots.txt?


Файл robots.txt позволяет владельцу веб-сайта проинструктировать робота-посетителя в вопросе того, как себя нужно вести. Проще говоря, в этом файле объявляются маски путей, по которым роботу запрещено следовать и производить индексацию.


Правила создания файла инструкций robots.txt


В соответствие со стандартом, инструкции могут быть размещены только в файле формата plain text с разрешением .txt и именем robots, составленным из символов нижнего регистра. Любые другие варианты имени, типа и формата недопустимы и будут проигнорированы роботом.


На сайте может быть лишь один файл robots.txt, хоторый должен быть размещен в корне домена. Файлы, размещенные по иному адресу роботом не просматриваются и не воспринимаются. Примеры првильного размещения robots.txt:

  • http://www.w3.org/robots.txt
  • http://www.microsoft.com/robots.txt

Содержание файла инструкций собирается из двух директив: User-agent и Disallow. Никаких других директив в robots.txt не предусмотрено и быть не должно — файл инструкций запрета не может что-либо разрешать.


Можно полностью запретить индексировать сайт всем роботам

User-agent: *
Disallow: /

А можно объявить роботу Google отсутствие запретов
User-agent: Googlebot
Disallow:

Для отделения каталога следует использовать косую черту.
Стоит понимать, что в директиве Disallow указывается маска, и в случае запрета
Disallow: topsecret

зепрещены будут все совпадения


  • http://site.com/topsecret.txt

  • http://site.com/topsecret/page.html

  • http://site.com/topsecretdirectory/scripts/top.php

  • http://site.com/xxx/topsecret.html

Важно: директивы в robots.txt не наследуются. Запрет, объявленный для произвольных роботов не является действующим для робота, которому объявлена персональная инструкция.

User-agent: *
Disallow: /films/

User-agent: Yandex
Disallow: /songs/

В примере всем роботам запрещен раздел фильмов, а Яндексу - раздел песен, при этом директория фильмов ему разрешена. Для запрета директории её нужно указать повторно в инструкции для Яндекса.


Для чего нужно использовать robots.txt?


Следует исключить доступ роботов к дублированному, не уникальному и любому другому контенту сайта, ценность которого робот может определить как низкую. Можно запретить доступ к отдельным материалам сайта, которые без связи со страницей или другими элементами теряют ценность или не подлежат распространению.


Чего нет в robots.txt?


Стандартом не предусмотрено использование регулярных выражений. Инструкция

Disallow: /index.php?ShowPageNumber=*

ничего не запрещает, т.к. на сервере нет вайла с таким именем.

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