Многие начинающие сайтостроители задаются целью поместить на свой сайт в обязательном порядке файл robots.txt. Причем некоторые из них находятся в полной уверенности оттого, что если этого файла на сайте нет, то поисковые роботы не будут индексировать страницы сайта или будут делать это не полностью. Корни этого заблуждения идут от того, что неопытные создатели сайтов услышав или прочитав о том, что в файле robots.txt даются команды поведения роботов поисковых систем на сайте считают, что они могут ими управлять с помощью этих команд. Эта статья призвана развеять эти заблуждения и дать практические советы по правильному написанию файла robots.txt.
Начнем с того, что определимся с форматом и названием самого файла.
Формат файла – текстовый. Создается он в любом текстовом редакторе, не сохраняющем форматирование текста в явном или скрытом виде. Поэтому даже не думайте о редакторе Microsoft Word или подобных текстовых процессорах. Для написания этого файла необходим самый простой текстовый редактор. Например, стандартный «Блокнот» из комплекта поставки Windows вполне отвечает этим требованиям.
Теперь название файла. Для тех, кто работает исключительно под управлением операционной системы Windows известно, что для нее не имеет никакого значения сточные или прописные символы в именах файлов и папок. Те, кому повезло познакомиться с системами семейства Unix знают, что для нее написание имени со строчной или прописной буквы имеет огромное значение. Поэтому, никаких ROBOTS.TXT или Robots.txt – имя должно быть только robots.txt и никак иначе. Конечно если вы хотите, чтобы роботы, для которых он собственно и создается, стали его читать.
Теперь самое главное – цель создания этого файла на сервере.
Файл robots.txt создается с единственной целью – запретить роботам поисковых систем индексировать некоторые из страниц вашего сайта. С его помощью можно управлять роботом, но только с целью его корректного поведения на вашем сайте. Больше никаких указаний вы дать ему не вправе.
С помощью этого файла можно запретить для индексации как отдельные файлы, так и целые папки. Нужно это для того, чтобы те страницы, которые нежелательны для публичного просмотра, попадали в поисковую выдачу. Это могут быть страницы с секретными ссылками, различные скрипты служащие для каких-либо административных целей или просто папки с картинками или документами.
Также запреты можно поставить для всех роботов разом или прописать разные правила для роботов разных поисковых систем. Это нужно в том случае если ваш сайт содержит страницы на нескольких языках и нужно запретить, например англоязычный контент от индексации Российскими поисковыми системами.
И третья часть статьи непосредственно о том, что писать в этот файл.
Синтаксис написания этого файла очень прост. Любое выражение должно начинаться с имени поля и через двоеточие содержать его значение или значения, если их несколько. Значения записываются в отдельных строках. Таким образом поле записывается так:
Имя_поля[пробелы один или несколько]:[пробелы один или несколько]Значение
Пробелы не являются обязательными и никак не учитываются при чтении команд роботом. Они могут понадобиться только из эстетических соображении или повышения читабельности файла человеком.
Все строки, которые начинаются с символа #, интерпретируются роботами как комментарии и не обрабатываются. С помощью этих символов можно вставлять в файл текстовые комментарии или временно исключать из обработки некоторые строки с целью разрешить индексацию.
Теперь сами поля. Их два – User-agent и Disallow. Оба поля являются обязательными и без их использования нет смысла во всем файле robots.txt. Имена полей и их значения могут записываться и строчными и прописными буквами. В значении поля Disallow большинством роботов не допускается использование регулярных выражений и символы подстановки.
Значение поля User-agent описывает имя робота, для которого предназначаются инструкции. Этих полей может быть несколько в каждом из них стоит указание на соответствующий робот. Поле может иметь значение *, что говорит о том, что инструкции следуют выполнять всем роботам без исключения.
Значением поля Disallow может быть определенная страница на сайте или папка, индексирование которых запрещено. Также можно запрещать к индексации динамические страницы, с определенными параметрами передаваемые в адресной строке. Если значение поля Disallow оставляется пустым значит, разрешена индексация всех страниц на сайте.
Примеры:
User-agent : *
Disallow : /documents/
# Запретить всем роботам
# индексировать файлы
# из папки /documents/
User-agent : *
Disallow : /files/secret/
Disallow : /documents/
# Запретить всем роботам
# индексировать файлы из
# папок /files/secret/ и /documents/
# Файлы из папки /files/
# будут индексироваться роботами
User-agent: StackRambler
User-agent: Aport
Disallow : /eng
# Запретить Рамблеру и
# Апорту индексировать
# документы начинающиеся
# на /eng
User-agent : *
Disallow : /news/index.php?mode=print
# Запрещает все роботам индексировать
# файл /news/index.php только в том
# случае если он вызывается с параметром
# mode=print (печать страницы)
Для некоторых роботов могут поддерживаться дополнительные поля. Например, Яндекс поддерживает поле Host, которое указывает на основной хост сайта. Более подробно о названии роботов и поддерживаемых командах можно узнать непосредственно на поисковых системах в разделе помощи или тех поддержки.
Использование файла robots.txt не может гарантировать корректное поведение абсолютно всех поисковых роботов. Его учитывают только роботы «правильных» поисковиков, которые работают корректно. Роботы некоторых поисковых систем могут вообще игнорировать присутствие на сайте этого файла. Поэтому не нужно полностью полагаться на этот файл. Кроме этого указание в нем заведомо уязвимых папок дает лишний повод злоумышленникам.
Так как файл robots.txt доступен для чтения абсолютно всем, не указывайте в нем путей к тем папкам и файлам, о существовании которых не нужно знать никому кроме администрации сайта.