Каждому web-мастеру знакомы понятия карты сайта Sitemap.xml и файла robots.txt, с какой целью они создаются. Вкратце напомню, что оба эти предписания (а именно таковыми они, по сути, являются) предназначены специально для поисковых роботов, занимающихся индексацией страниц сайтов. Только функции у них разные: карта сайта Sitemap.xml указывает те страницы, которые стоит проиндексировать обязательно, в первую очередь; файл robots.txt, наоборот, запрещает индексировать страницы или весь сайт.
Подробнее рассмотрим файл robots.txt. Расположен он, как правило, в корневом каталоге домена. И первое, что делают роботы-поисковики, - заглядывают в этот каталог и находят этот файл, адрес которого в общем случае выглядит так: http//доменное_имя_данного_сайта/robots.txt. Название его должно быть написано только строчными символами. Этот файл и будет направлять их действия в нужное русло.
В случае отсутствия такого файла боты начнут индексацию всех материалов без разбора, что может создать ощутимую нагрузку на сервер. Кроме этого, для каждого из них существует лимит на количество материалов, которые он может обработать за одно посещение. И может получиться так, что проиндексировано будет совсем не то, что нужно.
С положением всё ясно, теперь следует разобраться с другим моментом: создание файла robots.txt. А для его создания подойдёт обычный текстовый редактор, те же Блокнот и WordPad, но чаще используется текстовый формат Unix. Использоваться должны только латинские символы, вес файла не должен превышать 32 килобайта. Если этот размер превысить, данный файл будет расцениваться, как полностью разрешающий. Таким же он будет считаться, например, по причине ошибок в заголовках, поэтому он может и не загрузиться. Для выявления ошибок в файле robots.txt можно использовать специальные анализаторы.
Состоит он из двух видов полей: User-Agent и Disallow. В первом поле указываются роботы-поисковики, которым запрещается индексация материала (или * - разрешено для всех ботов). Второе поле призвано показывать, какие страницы сайта находятся под запретом к индексации. Важно соблюсти последовательность: сначала User-Agent с указанием, потом Disallow. Только не наоборот, это будет ошибкой. Отдельные записи отделяются друг от друга пустой строкой, но между User-Agent и Disallow пустых строк быть не должно.
В поле User-Agent, как уже было сказано, указывается название робота-поисковика, которому даётся разрешение индексировать; их можно указать и несколько, тогда право доступа будет распространяться на всех указанных. Логи web-сервера хранят имена почти всех роботов. А значок «*» даёт команду индексации для всех ботов. Важно запомнить: этот пункт не должен пустовать. Перед этими директивами, к тому же, следует вставлять пустые переводы строк.
Также в этой директиве можно указать названия таких роботов-поисковиков (для Яндекса), которые имеют определённую направленность. То есть они будут обрабатывать только продукты мультимедиа, картинки, новостные ресурсы и всё в таком роде.
Поле Disallow должно иметь место в записи обязательно, хотя бы один раз. После его названия ставится двоеточие и указывается url той страницы или того каталога, которые не нужно индексировать. Если не указать никакого значения, то данному поисковику разрешён доступ ко всем материалам. При указании частичного адреса, боты начнут обработку всех материалов, название которых начинается данным словом или словосочетанием. В конце по умолчанию всегда ставится звёздочка. А чтобы отменить этот значок, можно поставить знак «$». Знак «/» указывает на полный запрет.
Директива Allow обеспечивает доступ лишь к некоторым частям сайта. Здесь тоже указывается адрес документа (полный или частичный).
При составлении файла robots.txt могут использоваться и другие дополнительные директивы.
В поле Sitemap указывается подробный адрес нахождения карты сайта, чтобы поисковик нашёл её и индексировал нужные страницы сайта.
При наличии зеркала у сайта указывается поле Host, в которой прописывается главное зеркало.
Crawl-delay призван указать время от конца закачивания одного материала до начала закачивания следующего документа. Она создана для избавления сервера от перегрузок. Всегда указывается после Disallow.
Существует такая межсекционная директива, которую можно указать в любом месте файла robots.txt и в любом количестве (они все будут учтены). Это Clean-param. Она используется для описания адресов, содержащих динамические элементы.
Но всё вышесказанное – это только пояснения к обозначениям, используемых при составлении файла. Чтобы понять всё это, стоит привести пример, хотя бы шаблонный, простейший:
#указать местонахождение файла robots.txt
User-Agent: имя робота
Allow:/...
Disallow:/...
Host: указать зеркало
User-Agent: имя робота
Disallow:/...
Disallow:/...
Crawl-delay: указывается число
Clean-param:...
Правда, есть одно "но": "правильные и честные" боты, конечно, будут искать этот файл в корневом каталоге. Но есть и их полные противоположности, которым всё равно. Так что robots.txt не даёт никаких гарантий.