Директива – начертание общих основных положений плана будущей деятельности.
Есть такая работа – сайты оптимизировать. Встречать поисковых роботов хлебом и солью. Точнее, директивами – расписанными в тексте самих страниц, или лежащими в корневом каталоге сайта, собравшись в файле robots.txt. Что можно сделать с помощью директив? Многое. Например, сообщить роботам, какие файлы и каталоги не нужно индексировать. А еще, одной некорректной, не по стандартам, заданной строкой, можно случайно удалить весь сайт из Яндекса. Ущерб от неправильных действий при написании robots.txt, сравним с вредом, наносимым неумелым применением акупунктуры – неосторожное движение и поминай, как звали. Поэтому, “не зная броду”, лучше к созданию директив не приступать – можно запросто “утонуть”. И получится, как в одном известном фильме: “И сия пучина поглотила ея в один момент. В общем, все умерли” (с).
Итак, в первую очередь, необходимо обратить внимание на:
Директива Host
Эта директива обрабатывается только поисковым роботом Яндекса и предназначена для указания на то, какое из зеркал индексировать. Впрочем, обрабатывается она из рук вон плохо. И первым настораживающим сигналом нам послужил один из примеров robots.txt, описанный на страничке помощи вебмастеру (адрес странички впишу позже), совершенно не соответствующий стандартам. Вот этот пример:
User-agent: *
Host: www.site.ru
Будет оно работать, или не будет – науке точно неизвестно. Как получится. Велика сила глюков и статистической оценке не всегда поддается. Согласно стандарту robots.txt, в этом файле должна находиться хотя бы одна строка Disallow, запрещающая индексацию. Это важно, так как robots.txt, не соответствующий стандартам, вполне может обрабатываться непредсказуемым образом. Но строку эту зачастую полностью игнорируют, так как на правильно созданном сайте вообще нет необходимости запрещать что-либо к индексации. Хотя, лучше перестраховаться и вписать перед директивой HOST директиву запрещения индексации несуществующей папки, например Disallow: /disallow/.
Казалось бы – чего проще – укажи правильные строки, приведи robots.txt к стандарту и будет тебе синекура! Ан нет. Даже в случае правильно составленного robots.txt, директива Host обрабатывается странно. Например, если вы указали host: www.site.ru, то совершенно не обязательно, что индексироваться будет именно www.site.ru, а не его зеркало по адресу site.ru. Почему так происходит – неизвестно.
По результатам отслеживания состояния полусотни сайтов, которые за последние месяцы находились на консультационной поддержке CPW, был получен следующий результат: Определённое влияние host, возможно, оказывает. Вот только индексация “не тех” зеркал сайтов с директивой host в robots.txt хоть и крайне редка, однако не невозможна.
Обработка строк
Печалит и различие в подходах к обработке robots.txt, наблюдаемое на примере “Яндекс и все-все-все”. И понять, какой из способов обработки лучше – невозможно, так как все они весьма сомнительны. Например, Яндекс обрабатывает всё, что содержится в robots.txt, за исключением строк с ошибками. При условии отсутствия пропуска строки, разумеется, в противном случае Яндекс считает этот пропуск концом блока. Другие поисковые системы при встрече строки с ошибкой обрабатывают только то, что содержится в блоке до нее.
Рассмотрим модель поведения Яндекса и Google на примере блока, содержащего заведомо некорректную строку параметров:
User-agent: *
Disallow: /test/
User-agent: magicbot
Disallow: /
Такой robots.txt, обработанный Google, приведёт к запрету индексации папки /test/, в то время как Яндекс посчитает, что запретить к индексации нужно весь сайт. Как мы видим, оба робота по-разному интерпретируют robots.txt не соответствующий стандартам. Какой из подходов “правильнее”?
Зеркало – копия сайта с другим адресом. Обычно, зеркало используется для исключения неправильного написания имени домена пользователем. Для поисковых роботов адреса www.site.com и site.com – совершенно не идентичны и могут восприниматься как зеркала.