Поисковые сервера всегда перед индексацией вашего ресурса ищут в корневом каталоге вашего домена файл с именем robots.txt. Этот файл сообщает роботам (паукам-индексаторам), какие файлы они могут индексировать, а какие нет.
Формат файла robots.txt - особый. Он состоит из записей. Каждая запись состоит из двух полей:
[list=1]
[*]строка с названием клиентского приложения (user-agent)
[*]одна или несколько строк, начинающихся с директивы Disallow:
[/list]
<Поле>: <значение>
Robots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода.
Поле User-agent
Строка User-agent содержит название робота. Например:
User-agent: googlebot
Если вы обращаетесь ко всем роботам, вы можете использовать символ подстановки *:
User-agent: *
Названия роботов вы можете найти в логах вашего веб-сервера. Для этого выберите только запросы к файлу robots.txt. Большинство поисковых серверов присваивают короткие имена своим паукам-индексаторам.
Поле Disallow
Вторая часть записи состоит из строк Disallow. Эти строки - директивы для данного робота. Они сообщают роботу какие файлы и/или каталоги роботу неразрешено индексировать. Например, следующая директива запрещает паукам индексировать файл email.htm
Disallow: email.htm
Директива может содержать и название каталога:
Disallow: /cgi-bin/
Эта директива запрещает паукам-индексаторам лезть в каталог cgi-bin.
В директивах Disallow могут также использоваться и символы подстановки. Стандарт диктует, что директива /bob запретит паукам индексировать и /bob.html и /bob/index.html.
Если директива Disallow будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent, чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.
Пробелы и комментарии
Любая строка в robots.txt, начинающаяся с #, считается комментарием. Стандарт разрешает использовать комментарии в конце строк с директивами, но это считается плохим стилем:
Disallow: bob #comment
[note=important]Некоторые пауки не смогут правильно разобрать данную строку и вместо этого поймут ее как запрет на индексацию ресурсов bob#comment. Мораль такова, что комментарии должны быть на отдельной строке.[/note]
Пробел в начале строки разрешается, но не рекомендуется.
Disallow: bob #comment
Примеры
Следующая директива разрешает всем роботам индексировать все ресурсы сайта, так как используется символ подстановки *.
User-agent: * Disallow:
Эта директива запрещает всем роботам это делать:
User-agent: * Disallow: /
Данная директива запрещает всем роботам заходить в каталоги cgi-bin и images:
User-agent: * Disallow: /cgi-bin/ Disallow: /images/
Данная директива запрещает роботу Roverdog индексировать все файлы сервера:
User-agent: Roverdog Disallow: /
Данная директива запрещает роботу googlebot индексировать файл cheese.htm:
User-agent: googlebot Disallow: cheese.htm
Если вас интересуют более сложные примеры, попутайтесь вытянуть файл robots.txt с какого-нибудь крупного сайта, например CNN или Looksmart.
Дополнения к стандартам
Несмотря на то, что были предложения по расширению стандарта и введению директивы Allow или учета версии робота, эти предложения формально так и не были утверждены.