Robots.txt – это специальным образом оформленный текстовый файл, в котором содержатся директивы, следуя которым поисковая система может понять стратегию индексирования информации на вашем сайте.
Структура robots.txt: Файл состоит изполей. Структура полей такова: сначала идёт информация о том, какой поисковик должен следовать указаниям в директиве (строка содержит User-Agent поискового бота или *, как рекомендация для всех поисковых систем), далее идёт поле Disallow, в котором указываетсяназвание объекта, который необходимо скрыть от индексирования.
Раздел рекомендаций между инструкциями для одной поисковой системы распознаётся от раздела рекомендаций для другой поисковой системы пустой строкой, а раздел, в свою очередь, формируется полем User-Agent. В одном разделе может быть сразу несколько полей User-Agent, начинающихся с новой строки.
Стандарт robots.txt поддерживает комментарии. Всё, что начинается от символа # до конца строки, является комментарием.
Следует заметить любопытный факт, что файл robots.txt создавался и создаётся с основной целью – запрета индексации, следовательно, и все поля, в нём прописанные, явно указываютна запрет индексации частей сайта. Были предложения также ввести поле Allow, но пока официально оно не признано, хоть и используется поисковыми системами (Например, "Яндексом", Google и MSN).
Некоторые поисковые системы используют собственные "информационные" директивы. В MSN Live через robots.txt реализована установка значения скорости индексации документа. Делается это через директиву:
User-agent: MSNbot
Crawl-delay: n где n - величина задержки в секундах перед индексированием очередной страницы.
Пример одного из составленных файлов robots.txt:
User-agent: *
Disallow: /
User-agent: Googlebot
Disallow: /text/
Это важно знать:
1) Файл robots.txt должен находиться только в корневой директории сайта, только тогда он будет учитываться поисковыми системами.
2) Называть файл необходимо robots.txt, Robots.txt будет уже ошибкой.
3) На каждой строке должно быть поле Disallow, запрещающее индексацию только одного объекта. Если нужно запретить несколько директорий или файлов, то для этого пишем поле Disallowна каждой новой строке. В записи должно быть хотя бы одно поле Disallow. Также не забудьте про поле User-Agent - оно не должно быть пустым.
4) Запомните простые комбинации:
Disallow: - разрешение индексировать всё содержимое сайта,
Disallow: / - запрет на индексацию всего сайта.
Disallow: /name – запрет на индексацию любых файлов и папок, которые называются или имеют в своём названии name.
Disallow: /name/ - запрет на индексацию папки name.
Disallow: /*.gif$ - запрет на индексацию всех файлов, имеющих расширение .gif.
Disallow: /name.php – запрет на индексацию файла name.php.
Disallow: /name.php?action=print – запрет индексации переменной, например, страниц для печати.
5) Поле Host используется "Яндексом" для определения основного зеркала сайта. Например, так: Host: www.site.ru. Это поле говорит поисковой системе "Яндекс", что в результатах поиска лучше выводить именно такую ссылку на ваш сайт (с www).
6) Поле Sitemap используется для указания поисковой системе, где находится сгенерированная для поисковых систем карта сайта.(Sitemap: http://www.site.ru/sitemap.xml ). Применяется в Google, Ask, Yahoo, MSN и "Яндекс".
7) Если инструкции задаются для нескольких поисковых систем, то поля User-Agent
должны вводиться через Enter.
Вот так:
User-Agent: msnbot
User-Agent: Slurp
Disallow: /admin/
Ошибки в файле robots.txt:
1) Неверный порядок расположения полей:
Неправильно:
Disallow: /
User-agent: *
Правильно:
User-agent: *
Disallow: /
2) Совершаются синтаксические ошибки:
Нет пустой строки:
Неправильно:
User-agent: Googlebot
Disallow: /
User-agent: *
Disallow:
Правильно:
User-agent: Googlebot
Disallow: /
User-agent: *
Disallow:
Ошибки в синтаксисе Disallow:
Disallow: * (приводит к запрету на индексацию всего сайта).
Disallow: /text/ /text2/ (нельзя использовать одно поле для разных директорий).
Правильно:
Disallow: /text/
Disallow: /text2/
Поле User-Agent:
User-agent: (поле не должно быть пустым)
Поле Host:
Неправильно:
Host: http://www.site.ru/ (нельзя использовать протокол и слеш в конце)
Правильно:
Host: www.site.ru