Что такое robots.txt и для чего он нужен
Файл robots.txt размещается в корневой директории сайта и описывает исключения для поисковых ботов. Придерживающийся стандартов бот проверяет сначала url "/robots.txt", если файл существует, то бот анализирует его содержимое на предмет наличия запретов к посещению определённых частей сайта. Имя файла не должно содержать заглавных букв. Записи в файле разделяются одной или несколькими пустыми строками. Комментарии в файле robots.txt начинаются знаком ”#” и заканчиваются окончанием строки (строки, содержащие только комментарии игнорируются ботами и не являются разделителями записей).
User-agent
Имя бота, к которому применяются правила исключений на сайте. Можно прописать несколько строк с User-agent, в этом случае правила, описанные в данной записи будут применяться указанными ботами. Для описывания правил ботам, для которых отдельная запись не составлена применяют следующий параметр: «*» (в файле robots.txt может быть только одна запись User-agent: *).
Disallow
В данном поле прописывается полный или частичный путь к месту на сайте, посещение которого запрещено для бота. В каждой записи должно присутствовать как минимум одно поле Disallow. Пустое поле Disallow подразумевает разрешение боту посещать все директории и файлы сайта. Не допускается использование в данном поле регулярных выражений и символов подстановки.
Примеры для http://site.ru/
(Показывает как можно сочетать директивы в файле robots.txt но не несущий смысловой нагрузки)
User-agent: Yandex
Disallow: /test/
Disallow: /print.html
# Запрещает ботам Яндекса посещать папку http://site.ru/test/
# и файл http://site.ru/print.html
User-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, служащая для назначения основного зеркала:
User-agent: Yandex
Disallow: /test/
Host: site.ru
# разрешено посещение всех страниц и папок на сайте, кроме http://site.ru/test/
# основным зеркалом назначено http://site.ru/
User-agent: *
Disallow:
# всем ботам, кроме бота Яндекса, разрешено посещение всех страниц и
# папок на сайте
Запретить сайт к индексации полностью можно с помощью такого файла robots.txt
User-agent: *
Disallow: /
Наиболее актуальные для Рунета, на мой взгляд, боты:
(думаю, даже расшифровывать не требуется)
Yandex
Googlebot
StackRambler
Aport
Более полным списком не вижу смысла загромождать топик, кому интересно - обращайтесь в личку - вышлю.
Рекомендации по запрету к индексации
Что не следует указывать в файле robots.txt:
- папки с административными файлами
- файлы, о которых посторонним вообще знать не стоит
Прописывание путей к данным частям сайта может породить нездоровый интерес и попытки совершения зловредных действий, рады которым Вы уж точно не будете. К тому же есть и альтернативные способы запрета посещения и индексации ботами страниц.
Стоит запретить к индексации:
- документы "для печати"
- папки со скриптами
- папки с картинками (если у Вас не предвидится целевой аудитории с поиска по картинкам)
- сервисные страницы, такие как, например, страница с формой отправки письма администрации, схема проезда
Ошибки, допускаемые при составлении robots.txt
Как не надо делать:
Имя файла содержит заглавные буквы – Robots.txt или ROBOTS.TXT
Файл robots.txt размещается не в корневой директории
Пустая строка после поля User-agent
Отсутствие директивы Disallow
Использование в поле Disallow символов подстановки или регулярных выражений, например: "?", "*"
Больше одной строки "Disallow: *"
По материалам сайта mastertalk.ru