robots.txt, Назначение, синтаксис и прочее…

Памятки и заметки Скрипты и Кодинг

Что такое robots.txt и для чего он нужен
Файл robots.txt размещается в корневой директории сайта и описывает исключения для поисковых ботов. Придерживающийся стандартов бот проверяет сначала url «/robots.txt», если файл существует, то бот анализирует его содержимое на предмет наличия запретов к посещению определённых частей сайта. Имя файла не должно содержать заглавных букв. Записи в файле разделяются одной или несколькими пустыми строками. Комментарии в файле robots.txt начинаются знаком “#” и заканчиваются окончанием строки (строки, содержащие только комментарии игнорируются ботами и не являются разделителями записей).

User-agent
Имя бота, к которому применяются правила исключений на сайте. Можно прописать несколько строк с User-agent, в этом случае правила, описанные в данной записи будут применяться указанными ботами. Для описывания правил ботам, для которых отдельная запись не составлена применяют следующий параметр: «*» (в файле robots.txt может быть только одна запись User-agent: *).

Disallow
В данном поле прописывается полный или частичный путь к месту на сайте, посещение которого запрещено для бота. В каждой записи должно присутствовать как минимум одно поле Disallow. Пустое поле Disallow подразумевает разрешение боту посещать все директории и файлы сайта. Не допускается использование в данном поле регулярных выражений и символов подстановки.

Примеры для  http://www.site.ru/
(Показывает как можно сочетать директивы в файле robots.txt но не несущий смысловой нагрузки)
 User-agent: Yandex
Disallow: /test/
Disallow: /print.html
# Запрещает ботам Яндекса посещать папку http://site.ru/test/
# и файл http://site.ru/print.htmlUser-agent: Aport
User-agent: Googlebot
Disallow: /temp/img/
# Запрещает посещение ботами Google и Апорт http://site.ru/temp/img/

User-agent: StackRambler
Disallow:
# Для бота поисковой системы Рамблер разрешено посещение всех
# страниц и папок сайта

User-Agent: *
Disallow: /lesson.php?action=test
# Запрещает посещение всеми ботами, для которых не сделана
#отдельная запись,
# динамических страниц, начинающихся с http://site.ru/lesson.php?action=test
# например: http://site.ru/lesson.php?action=test&id=13
# чувствительно к порядку переменных в ссылке

Некоторые поисковые системы поддерживают дополнительные поля в файле robots.txt. Яндексом поддерживается директива Host, служащая для назначения основного зеркала:

Quote:User-agent: Yandex
Disallow: /test/
Host: site.ru
# разрешено посещение всех страниц и папок на сайте, кроме http://site.ru/test/
# основным зеркалом назначено http://site.ru/User-agent: *
Disallow:
# всем ботам, кроме бота Яндекса, разрешено посещение всех страниц и
# папок на сайте

Запретить сайт к индексации полностью можно с помощью такого файла robots.txt

Quote:User-agent: *
Disallow: / 

Наиболее актуальные для Рунета, на мой взгляд, боты:
(думаю, даже расшифровывать не требуется)
Yandex
Googlebot
StackRambler
Aport

Рекомендации по запрету к индексации
Что не следует указывать в файле robots.txt:
— папки с административными файлами
— файлы, о которых посторонним вообще знать не стоит
Прописывание путей к данным частям сайта может породить нездоровый интерес и попытки совершения зловредных действий, рады которым Вы уж точно не будете. К тому же есть и альтернативные способы запрета посещения и индексации ботами страниц.

Стоит запретить к индексации:
— документы «для печати»
— папки со скриптами
— папки с картинками (если у Вас не предвидится целевой аудитории с поиска по картинкам)
— сервисные страницы, такие как, например, страница с формой отправки письма администрации, схема проезда

Ошибки, допускаемые при составлении robots.txt
Как не надо делать:
Имя файла содержит заглавные буквы – Robots.txt или ROBOTS.TXT
Файл robots.txt размещается не в корневой директории
Пустая строка после поля User-agent
Отсутствие директивы Disallow
Использование в поле Disallow символов подстановки или регулярных выражений, например: «?», «*»
Больше одной строки «Disallow: *»
Пример ничего не запрещающего robots.txt
(основное зеркало site.ru)
Quote:User-agent: *
Disallow:
User-agent: Yandex
Disallow:
Host: site.ru

4 минуты на чтение Комментарии к записи robots.txt, Назначение, синтаксис и прочее… отключены
Ваш отзыв очень важен для Авторов этого блога. Критика, отзывы, дополнения и уточнения, вопросы, мотивируют развиваться и работать над собой и своими ошибками. Отклик на публикации, позволяет понять полезен ли материал, стоит ли создавать продолжение, дополнять или исправлять уже имеющийся материал, развивая блог и делая его полезнее.