Robots.txt - простой текстовый файл1, который должен находиться в корневой директории сервера. Имя файла должно быть в нижнем регистре (ROBOTS.TXT, Robots.txt - неправильно).
В файле содержатся записи, отделяемые одной или несколькими пустыми строками (разделяемыми CR, CRNL, NL или r, rn, n). Каждая запись, в свою очередь, состоит из строк следующего вида:
имя_поля[необязательные пробелы]:[необязательные пробелы]значение[необязательные пробелы]
Поле является нечувствительным к регистру (case insensitive).
Каждая запись начинается одной или несколькими строками, где имя_поля=User-agent, после чего следует одна или несколько строк, где имя_поля=Disallow, имена полей, которые отличаются от двух указанных, игнорируются2.
Знак «#» означает, что пробелы перед ним и все символы до конца строки являются комментарием. Строки, содержащие только комментарий, игнорируются и не могут использоваться для разделения записей.
User-agent
Значением этого поля является имя робота, к которому применяются правила доступа;
Если строк с User-agent несколько, то для всех роботов применяются одинаковые правила, которые содержаться в текущей записи;
Если значение поля равно «*», то правила применяются к любому роботу, для которого нет отдельной записи. В файле robots.txt может быть только одна запись с User-agent: *.
Disallow
В записи должно быть хотя бы одно поле Disallow;
в поле Disallow указывается частичный или полный путь (URL), который не будет посещен;
пустое значение (Disallow: ) интерпретируется как разрешение на посещение любой страницы;
регулярные выражения и символы подстановки запрещены3.
Практика
В процессе обработки сайта роботы имеют массив ссылок для посещения и набор правил исключения из файла robots.txt. Для каждой ссылки выделяется путь (http://www.site.com/path/to/file.html), после чего к этому пути применяются по очереди правила исключения. Пусть в файле есть строка Disallow: /path/to, она сравнивается с соответствующей подстрокой ссылки:
http://www.site.com/path/to/file1.html - посещение запрещено;
http://www.site.com/path/to/file2.html - посещение запрещено;
http://www.site.com/path/file3.html - посещение разрешено.
Чтобы запретить роботу посещение динамических страниц, можно использовать частичный путь. Например, чтобы запретить посещение страниц для печати вида http://www.site.com/index.php?action=print&id=1, но разрешить посещение страниц вида http://www.site.com/index.php?action=view&id=1, необходимо в robots.txt написать следующее:
Disallow: /index.php?action=print
Однако следует учитывать порядок параметров в ссылке. Так, следующие страницы робот посетит: (http://www.site.com/index.php?id=1&action=print http://www.site.com/?action=print&id=1)
Пример файла robots.txt
User-agent: *
Disallow: /news
# запретить всем роботам индексировать ссылки,
#которые начинаются с /news
User-agent: StackRambler
User-agent: Aport
Disallow: /eng
Disallow: /news
#Рамблеру и Апорту запретить индексацию ссылок,
#которые начинаются с /news и /eng
User-agent: Yandex
Disallow:
#Яндексу разрешить все.
Следует заметить, что файл robots.txt не является панацеей, так как его правила исключения используют только «культурные» роботы, а наряду с ними существует целый список роботов, сервисов и программ, которые не следуют правилам исключения, либо игнорируют существование файла robots.txt на сайте.
Кроме этого в файл исключений не стоит добавлять пути к файлам, о существовании которых не следует знать посторонним людям. Файл robots.txt доступен всем, поэтому присутствие там строк, вроде Disallow: /admin, только подзадорит некоторых посетителей к совершению вредоносных действий.
Примечания
В некоторых случаях используется динамическое формирование файла robots.txt, для сайтов с зеркалами.
Некоторые системы поддерживают дополнительные поля. Яндекс, например, использует поле Host для определения основного зеркала сайта.
Некоторые системы разрешают использование регулярных выражений. Так Гугл, который имеет поиск по изображениям, файлам PDF и другим, поддерживает в поле Disallow символы «*» (любая последовательность символов) и «$» (окончание строки ссылки). Это позволяет запретить индексирование определенного типа файлов: User-agent: Googlebot
Disallow: *.pdf$
#Запрет индексации файлов PDF
По мнению автора это избыточное расширение, так как с тем же успехом можно вынести все документы PDF в отдельный каталог и запретить его индексирование:
User-agent: *
Disallow: /pdf/
http://ucoooz.ru/






