Файл 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: *"