Шаг 28 - Как управлять веб-роботами ?

Веб-роботы это программы, которые автоматически путешествуют по сети. Происходит это достаточно просто. Робот скачивает гипертекстовый документ и строит дерево ссылок этого документа. Затем он выбирает следующую ссылку из дерева и скачивает следующий документ, затем добавляет найденные ссылки к уже созданному дереву. И так далее... Чисто теоритически робот способен облазить за какое-то время всю сеть.

Роботы бывают нескольких типов:

К индексирующим роботам относятся все поисковые системы. Программы поисковой системы "проходят" по всем ссылкам сайта, и оставляют его "слепок" в своей базе данных, чтобы затем осуществлять поиск информации. Роботы проверяющие правильность ссылок или HTML кода как правило являются вспомогательными программами для веб-мастеров. Они помогают оценить целостность сайта и найти неработающие ссылки или неправильный код. Роботы осуществляющие мониторинг "нового" на сайте, как правило относятся к поисковым системам, но могут выступать и как вспомогательные программы для пользователей облегчающие поиск новой информации на сайте. Зеркалирующие роботы предназначены для создания копий сайтов. Это могут быть как автоматические программы, которые обновляют зеркала сайта, так и обычные программы закачки для пользователей.

Есть несколько причин недолюбливания роботов в сети:

Конечно же все эти причины относятся к плохо реализованным программам и вовсе не означает, что все роботы плохие. Однако следует относиться к ним с должным вниманием.

Чтобы дать возможность авторам и держателям сайтов управлять роботами был разработан специальный файл, который определяет области сайта для индексирования. Файл этот называется robots.txt. Он должен лежать в корне сервера.

Формат файла robots.txt достаточно прост. Весь файл делится на несколько блоков, каждый из которых может задавать настройки для разных роботов. Первая строка в блоке задает название робота, которому предназначен этот блок. Ее формат такой:

	User-agent: <название робота1> [... <название роботаN>]
Название робота может быть равно '*', т.е. все возможные роботы. Если Вы хотите настроить сразу несколько роботов одновременно, то перечислите их имена через пробел.

Затем идут строки описывающие запрещенные каталоги или файлы:

	Disallow: <путь>
И каталоги, которые не являются запрещенными:
	Allow: <путь>
Как и во всех нормальных конфигурационных файлах в файле /robots.txt могут быть комментарии. Комментарием считается любая строка или часть строки, которая начинается с символа '#'.

Вот несколько примеров файлов robots.txt:

#пример файла robots.txt

User-agent: WebBot
Disallow: /artic

User-agent: *
Disallow: /statistic
Disallow: /logs
Disallow: /forum/forum.html
Еще один пример, открывающий доступ только к одной папке:
#Закрываем весь сервер для всех роботов
User-agent: *
Disallow: /
#открываем только один каталог
Allow: /news/
Добавление символа "/" в конец пути означает, что закрывается доступ для всей папки. Если же этот символ не указан, то доступ будет закрываться для папок и файлов начинающихся с такого пути. Пример:
User-agent: *
Disallow: /ser
В результате такой настройки роботы не будут обращаться к папкам и файлам /ser*, например:
/server/
/serge.html
/service.html
....
Что вообще следует закрывать для доступа ? Иногда /robots.txt невозможно создать из-за маленьких полномочий или очень огромного списка запрещенных каталогов и роботов. Тогда может помочь meta-механизм в html файлах.

Для управления роботами в html файле предназначен следующий тег:

	<meta name=robots content="[настройки]">
Настройки роботов состоят из двух параметров:
  1. Индексирование - index(разрешено) или noindex(запрещено)
  2. Следование по ссылкам - follow(разрешено) или nofollow(запрещено)
С помощью перечисления этих параметров можно настраивать роботов, например:
	<meta name=robots content="noindex,follow">
Данный пример запрещает индексацию, но разрешает следование по ссылкам.

Для запрещения или разрешения всех настроек существует два зарезервированных названия all и none. При этом :

	all  = index,follow
	none = noindex,nofollow
Пример:
	<meta name=robots content=all>
	или
	<meta name=robots content=none>

Правильные настройки роботов на сайте имеют огромное значение. В интернете более тысячи поисковых систем, более сотни автоматических искалок информации (например списков e-mail'ов для спама) и каждый день их все больше и больше. Вы можете представить, что будет с вашим сервером если все друг решат его облазить вдоль и поперек...

Поэтому надо уметь правильно запретить эти действия. Хотя естественно существуют роботы, которые на файл /robots.txt или его <meta> аналоги не смотрят. К таким почти всегда относятся скачивальщики (типа TelePort Pro) и программы вредители. Но на них можно придумать другие воздействия, если это действительно необходимо.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Кузин Андрей.