Файл robots.txt - составляем правильно и убираем ошибки

on .

Удивительно, но, согласно статистике, лишь 49% владельцев Рунет-сайтов используют файл "robots.txt". Надеюсь, что Вы его давно применяете, а потому давайте просто разберем частые ошибки в "robots.txt", от которых зависит очень многое с позиции SEO, ведь зачастую вся работа по поисковой оптимизации сайта идет насмарку из-за того, что этот файл составлен некорректно, либо вообще отсутствует.

Составление и ошибки в файле robots.txt

Поскольку сам пользуюсь движком Вордпресс, то в качестве примера приведу вариант написания файла robots.txt именно для WordPress:

robots.txt составлен корректно

Как видите, мы запрещаем для индексации все те файлы и папки, что содержат служебные документы и вложения, плюс, если активен плагин (J)ExR, делающий внешние ссылки внутренними, закрываем папку, что указана в его настойках, а также страницы, получаемые от поиска по блогу, которые в индексе совсем не нужны.

Страница индексируетсяКстати, можно легко проверить - какой ответ дает любая страница сайта поисковой системе: для этого посетите страницу сервиса be1 (адрес: be1.ru/stat/) и введите в форме любой URL, после чего Вы увидите результат, где код 200 (как на рисунке) - тот самый код, говорящий, что со страницей сайта все в порядке и она доступна для индексации.

Если говорить о статичных сайтах или сайтах на CMS, отличных от WordPress, то здесь часто встречается следующая ошибка: сайт доступен как по запросу "сайт.ru/", так и по запросу "сайт.ru/index.php", причем, на оба эти варианта сервер выдает 200-й код, а с позиции SEO это означает лишь одно - дубль главной страницы Вашего сайта, что, понятно, крайне нежелательно.

Если Вы не особо сильны, чтобы что-то исправить в структуре своего сайта, то обязательно закройте от индексации поисковыми системами страницу, дублирующую главную страницу сайта, дописав в файле "robots.txt" строчку: "Disallow: /index.php"

Теперь проверьте в вышеупомянутом сервисе be1 (ссылка чуть выше) - и запрос "сайт.ru/" и запрос "сайт.ru/index.php" будут одинаково отвечать двухсотым кодом, но во втором случае (введя "сайт.ru/index.php"), Вы должны увидеть:

Файл robots.txt запретил индексировать дубль

Это означает, что Вы все сделали правильно и файл "robots.txt", лежащий в корне сайта, Вас правильно понял и свою функцию выполнил!

Следующим моментом, на который нужно обратить внимание, является такая вот ошибка в файле "robots.txt":

Ошибка в robots.txt при составлении файла

Ошибка заключается в том, что указав Яндексу (как, впрочем, он и просит делать), как воспринимать Ваш домен - с "www" или без него, а также показав ему адрес размещения карты сайта, тем самым Вы освободили его от команды: "User-agent: *"

И теперь Яндекс будет игнорировать запреты, адресуемые всем поисковым роботам, поскольку к нему мы обратились отдельно, а, значит, нужно для Яндекса прописать отдельно все те же позиции, что и для всех остальных поисковых роботов.

Предвижу, что, возможно, кто-то захочет с этим поспорить, и, по-этому, просто приведу ответ Платона Щукина, когда-то мною сохраненный "для истории", красноречиво подтверждающий эти факты:

В robots.txt Яндексу прописываем директивы отдельно

Кстати, еще обратите внимание: пустой строки перед директивой "Host" быть не должно, поскольку это считается нарушением стандарта составления файла "robots.txt".

На этом можно обзор ошибок и правил составления "robots.txt" закончить - используйте "robots.txt", закрывайте от индексации ненужные папки, дубли, бесполезные папки со скриптами интернет-магазинов и т.д., - делайте сайты значимыми как для людей, так и для поисковых систем (как видите, это можно совмещать …), а не для ссылочных бирж.

В-общем, если кратко, - не входите в 51% вебмастеров, чьи сайты не имеют "robots.txt", равно как и не преследуйте цель искусственно увеличить число страниц для сапы, а повышайте привлекательность своего ресурса для поисковых систем, чтобы привлечь посетителей!

P.S.: подписка на RSS - это хорошее дело!

Комментарии  

 
0 #1 SAnche 03.10.2009 22:14
Если мне не изменяет память, то согласно стандартам в блоке для всех поисковых роботов, который определяется директивой User-agent: *, нельзя использовать регулярные выражения. Поэтому строка «/?s=» не прокатит.
Цитировать | Сообщить модератору
 
 
0 #2 Денис Болтиков 05.10.2009 14:54
Все крупные поисковики, в том числе G и Y, поддерживают некое подобие регулярных выражений. Покрайней мере начало строки, конец строки, любые символы.
Цитировать | Сообщить модератору
 
 
0 #3 SAnche 06.10.2009 14:31
Да, с этим-то я не спорю. Просто если употреблять регулярные выражения, то желательно делать это в отдельных блоках для роботов тех поисковых систем, которые их поддерживают. А в user-agent: * оставить все в соответствии со стандартами. Так было бы с моей точки зрения правильнее.
Цитировать | Сообщить модератору
 
 
0 #4 BOLVERIN 02.11.2009 09:12
Лучше не закрывать от индексации зеркала, а делать редирект с передачей веса – так пользы будет больше.
Цитировать | Сообщить модератору
 
 
0 #5 Dota 22.11.2009 23:30
Помойму самая понятная для меня статья среди остальных, которые я в гугле нашёл :-) . И ошибок робот.тхт не допущу :-) , таких как с яндексом :eek: .
Цитировать | Сообщить модератору
 
 
0 #6 Олег 01.12.2009 17:57
А у меня вот такой вопрос: кое где нашел, что нужно запрещать к индексации /index.php, ибо эта страничка указывает на то же, что главная страница, т.е. получается дублирование контента. Так ли это?
Цитировать | Сообщить модератору
 
 
0 #7 Интеллигент 02.12.2009 08:04
Олег, Вы внимательно прочли этот пост? Если Ваш сайт доступен как по адресу «/», так и по «/index.php», то дубль целесообразно закрывать в robots.txt
Цитировать | Сообщить модератору
 
 
0 #8 InfoDrug 18.10.2011 21:46
Не согласен с фразой «пустой строки перед директивой «Host» быть не должно, поскольку это считается нарушением стандарта составления файла «robots.txt».»
Директива Host является межсекционной, поэтому будет использоваться роботом вне зависимости от места в файле robots.txt ,где она указана.Рекомендую указывать ее в последних строках файла. Директива Host должна быть одна .В случае если директив Host в файле robots.txt больше чем одна , учитываться будет только первая сверху. Робот читает файл robots.txt сверху вниз и в случае обнаружения противоречивых директив (не только Host) , приоритет отдается первой , а остальные игнорируются.(По мотивам руководства Яндекса)...
Цитировать | Сообщить модератору
 

Добавить комментарий


Защитный код
Обновить