Все про Robots.txt (структура, правила, ошибки часть-2)

Здравствуйте уважаемые читатели блога Zelgrim.ru

Сегодня я продолжаю знакомить вас с файлом Robots.txt и из второй части, моего обзора про robots.txt, вы узнаете его структуру, как правильно писать те или иные правила и не допускать ошибок или опечаток

Структура файла Robots.txt и как правильно писать правила.

Само понятие, функциональность и структура robots.txt были разработаны более десяти лет назад, и если вы все еще заинтересованы, чтобы узнать много подробностей о применениях robots.txt чуть больше, то посетите официальный сайт http://www.robotstxt.org/ и не забудьте вооружиться переводчиком. Структура 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.

Комментарии

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

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

(обязательно)

(обязательно)