Все про Robots.txt (структура, правила, ошибки часть-2)
Здравствуйте уважаемые читатели блога Zelgrim.ru
Сегодня я продолжаю знакомить вас с файлом Robots.txt и из второй части, моего обзора про robots.txt, вы узнаете его структуру, как правильно писать те или иные правила и не допускать ошибок или опечаток
Структура файла Robots.txt и как правильно писать правила.
Само понятие, функциональность и структура robots.txt были разработаны более десяти лет назад, и если вы все еще заинтересованы, чтобы узнать много подробностей о применениях robots.txt чуть больше, то посетите официальный сайт и не забудьте вооружиться переводчиком. Структура robots.txt довольно проста и весьма гибкая, все это бесконечный список User-Agent, файлов Disallowed и directories.
“User-Agent” – им являются поисковые системы, которые сканируют Disallow и исключают из индекса файлы и директории, которые были указаны. В дополнение к User-Agent вы можете включить строку комментариев, просто поставив символ “#” вначале строки сообщения.
Пример 1:
# Всем поисковым роботам запрещена индексация каталога /admin/ User-agent: * Disallow: /admin/
Пример 2:
# Поисковой системе Яндекс запрещается просматривать каталог # /admin/, для всех остальных запрет индексации сайта. User-agent: Yandex Disallow: /admin/ User-agent: * Disallow: /
Если же вам надо написать комментарий не в одну строчку, а в две и более, то переключаясь на каждую последующую строчку, не забывайте ставить в ее начале символ “#”, как показано в примере 2.
Директивы Robots.txt
Директивы Allow и Disallow
# Разрешает индексацию сайта User-agent: * Allow: / # А запрещает индексацию сайта User-agent: * Disallow: / # А здесь вы видите, что # разрешена индексация всего сайта кроме файлов, начинающихся # с admin, например admin.html User-agent: * Allow: / Disallow: /admin
Директива Host
Служит для того, чтобы в поиске выдавалось только главное зеркало сайта, то есть если вы имеете зеркала и хотите, чтобы в поиске показывался главный сайт, запишите правило в robots.txt начинающееся с директивы Host. Писать следует только адрес сайта и ничего лишнего. Например у вас есть такие зеркала www.domain.ru, www.my.domain.ru, my.domain.ru, domain.ru. Главным из них является domain.ru, то вам его и нужно указать в директиве Host.
Пример 1 (правильная запись):
User-agent: Yandex Disallow: Host: domain.ru
Пример 2 (правильная запись):
User-agent: * Allow: / Disallow: /admin Host: www.domain.ru
Во втором примере показана правильная запись, только если вы решили сделать главным зеркалом сайт www.domain.ru
Пример 3 (правильная запись):
User-agent: * Allow: / Host: my.domain.ru
В третьем примере показана тоже правильная запись, только если вы решили сделать главным зеркалом сайт my.domain.ru
Пример 4 (не правильная запись):
User-agent: * Host: www.domain.ru Disallow:
Почему в примере 4 запись не правильная? Потому, что существуют правила правильного написания директивы Host для совместимости со всеми поисковыми роботами. Сама по себе запись правильная, но чтобы все роботы воспринимали правило директивы Host и выполняли ее условие необходимо выполнить следующее: 1) директива Host пишется в группе правил имеющих первую строчку вида User-agent, у нас она есть? Есть, значит, первое правило, мы выполнили. 2) директива Host пишется после директив Disallow и Allow, а у нас? Перед Disallow, значит директиву Host переносим вниз и записываем после Disallow.
Директива Sitemap
Карту вашего сайта можно записать в файле sitemap.xml, и если вы хотите чтобы роботы о ней узнали, то вы можете указать путь к этому файлу с помощью данной директивы. Если у вас несколько файлов, тогда следует указать их все. Пример такой карты моего сайта приведен ниже.
User-agent: * Disallow: /admin/ Sitemap: http://zelgrim.ru/sitemap.xml
Директива Crawl-delay
Если ваш сервер сильно перегружен, и вы не хотите чтобы еще и поисковые роботы его нагружали, поставьте задержку в несколько секунд, для поисковой системы это будет означать, что интервал между закачками одной и последующей страницей ограничен вашим установленными временем. Директиву “Crawl-delay” ставят только после директив “Disallow” и “Allow” идущих в группе с “User-agent”.
Пример 1:
# Задаем 4 секундную задержку между сканированием страниц # для робота Гугл. User-agent: Googlebot Disallow: /admin/ Crawl-delay: 4
Пример 2:
# Задаем задержку между сканированием страниц # остальным роботам в 3 секунды. User-agent: * Disallow: /admin/ Crawl-delay: 3
Также эти два примера можно объединить в общую запись в одном robots.txt файле, если конечно вы не ставите правила лишь для одного, в нашем случае (пример 1) Гугл бота.
Спецсимволы “*” и ”$”
Такие спецсимволы служат для более конкретного запрета индексации сайта.
Пример 1:
# Запись директивы Disallow равносильна # записи Disallow: /admin User-agent: Yandex Disallow: /admin*
То есть спецсимвол “*” по умолчанию ставится в конце каждого правила.
Пример 2:
# Запись директивы Disallow запрещает к индексации все файлы # находящиеся в каталоге admin, но не запрещает индексировать # файлы начинающиеся на admin, например admin.html User-agent: Yandex Disallow /admin$
Пример 3:
# Запись директивы Disallow запрещает к индексации все файлы # находящиеся в каталоге admin, и файлы # начинающиеся на admin, например admin.html User-agent: Yandex Disallow /admin*$
Ошибки в файле robots.txt
Когда вы начинаете создавать сложный файл, например, хотите, чтобы для различных поисковых систем были свои запреты, то вы должны обратить внимание на ошибки которые могут возникнуть в файле robots.txt. Типичные ошибки включают опечатки, опечатками являются неправильное написание User-agent и Disallow, а также отсутствие после них двоеточия, пробела и т.д.
Пример 1:
User agent: * Disallow: /admin/
Приведенный выше пример в robots.txt написан неправильно, в нем мы можем видеть ошибку, а именно неверное написание User-agent, между User и agent нет дефиса, в общем, достаточно грубая и незаметная ошибка.
Пример 2:
User-agent: Disallow
Во втором примере отсутствует символ “*” и “:”, а еще нету “/” после Disallow, но это не столь упущение или ошибка, просто такой вариант записи равнозначен Allow: / то есть индексация сайта разрешена. А вам, например, нужно было именно запретить индексацию. В общем нужно быть очень внимательным во всех написаниях.
Пример 3:
User-agent: * Disallow: / Allow: /about
В третьем примере неправильный порядок записи директив, то есть, если вам нужно запретить к индексации все кроме about, следует Allow писать перед Disallow, поэтому в данном примере запрет индексации относится ко всему сайту.
Тем не менее, вы видите, что структура файла robots.txt остается простой, но по-прежнему можно легко сделать серьезные и нелепые ошибки. Также не забуду упомянуть, что при написании robots.txt необходимо помнить, что у файла robots.txt есть свое ограничение по его весу. Т.е. файл robots.txt не должен превышать 32Кб. Если он будет превышать данный предел, то файл robots.txt будет считаться полностью разрешенным, и представлять собой такой вид:
User-agent: Yandex Disallow:
На этом все. Надеюсь все статьи про файл Robots.txt вам были полезны и помогли разобраться с его созданием и записью правил.
Ваш блоговод, Грим
Еще интересные статьи для Вас:
Если Вам понравилась заметка, пожалуйста, прокомментируйте ее или подпишитесь на фид и получайте будущие публикации по RSS.




Комментарии
Пока нет комментариев.
Прокомментировать