ормат файла robots.txt - особый. Он состоит из записей. Каждая запись состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow: <Поле> ":" <значение>
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 будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent, чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.
Пробелы и комментарии
Любая строка в robots.txt, начинающаяся с #, считается комментарием. Стандарт разрешает использовать комментарии в конце строк с директивами, но это считается плохим стилем:
Disallow: bob #comment
Некоторые пауки не смогут правильно разобрать данную строку и вместо этого поймут ее как запрет на индексацию ресурсов bob#comment. Мораль такова, что комментарии должны быть на отдельной строке.
Пробел в начале строки разрешается, но не рекомендуется.
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.
Распространенные ошибки
Одна из самых распространенных ошибок - перевернутый синтаксис:
User-agent: *
Disallow: scooter
А должно быть так:
User-agent: scooter
Disallow: *
Часто при составлении файла robots.txt в одной строке указываются несколько директив Disallow:
Disallow: /css/ /cgi-bin/ /images/
Различные пауки поймут эту директиву по разному. Некоторые проигнорируют пробелы и поймут директиву как запрет на индексацию каталога /css//cgi-bin//images/. Либо они возьмут только один каталог (/images/ или /css/) и проигнорируют все остальное.
Правильный синтаксис таков:
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
Иногда в файле robots.txt перечисляют все файлы каталога, как например:
Disallow: /AL/Alabama.html
Disallow: /AL/AR.html
Disallow: /Az/AZ.html
Disallow: /Az/bali.html
Disallow: /Az/bed-breakfast.html
Вышеприведенный пример можно заменить на:
Disallow: /AL
Disallow: /Az
Помните, что начальная наклонная черта обозначает, что речь идет о каталоге. Конечно, ничто не запрещает вам перечислить парочку файлов, но мы речь ведем о стиле. Данный пример взят из файла robots.txt, размер которого превышал 400 килобайт, в нем было упомянуто 4000 файлов! Интересно, сколько роботов-пауков, посмотрев на этот файл, решили больше не приходить на этот сайт.
Особенности Google
Google - первый поисковый сервер, который поддерживает в директивах регулярные выражения. Что позволяет запрещать индексацию файлов по их расширениям.
User-agent: googlebot
Disallow: *.cgi
В поле user-agent вам следует использовать имя "googlebot". Не рискуйте давать подобную директиву другим роботам-паукам.