Идеальный robots.txt для Wordpress
Вступление
При индексации страниц пауки поисковых машин по умолчанию идут по всем ссылкам которые встречают. При этом часто они попадают на страницы с неподдерживаемым форматом данных (RSS, Atom, Trackbak) или служебные, а значит не нужные простому пользователю. Также роботы индексируют страницы не несущие никакой полезной информации, например авторизации и регистрации. Все это, в свою очередь, грозит захламлением результатов поиска по вашему сайту и более медленной индексацией полезной информации.
Можно ли всего этого избежать? Ответ прост. Нужно! Для этих целей мы запретим индексацию ненужных страниц при помощи файла robots.txt.
Беглый мониторинг блогосферы показал, что написано довольно , но в основном это или с , что для рунета не совсем подходит, или довольно . Причем в некоторых из этих советов встречаются ошибки.
О синтаксисе robots.txt
Подробно в особенности работы с robots.txt вдаваться не буду, об этом вы можете прочитать на специализированном сайте (ссылка внизу поста). Сейчас просто кратко опишу основные моменты.
- Между директивами User-agent и Disallow(Allow и прочими) не должно быть пустых строк. Пустая строка означает конец блока описания правил для указанного выше робота.
- Директива Allow, не смотря на то что ее нет в стандарте существует, поддерживается Yandex и Google. Поэтому при желание ее можно применять.
- Символы подстановки (* — последовательность любых символов и $ — конец строки) также отсутствует в стандарте, но поддерживаются Yandex и Google. Смело применяем.
- Директива Host поддерживается только Яндексом. При этом она не указывает, какое доменное имя считать основным, как считают многие. Эта директива говорит роботу Яндекса какое из двух зеркал сайта главное. То есть пока робот не посчитал сайт с www и без www зеркалами эта директива работать не будет. Идти должна в конце блока после директивы Disallow (Allow).
- Директива "Disallow: " значит то же самое что «Allow: /» и наоборот.
Теоретическая часть
Подумаем, что нам надо запретить для индексации. Во-первых, админ-папку, а также страниц авторизации, регистрации и удаленного постинга в блок. Во-вторых, служебную папки с файлами для wordpress и папку с темами и плагинами. В-третьих фиды постов, комментариев трекбеки. Причем последнее не надо закрывать от поисковиков, которые ищут по блогам, например.
Пример правильного robots.txt
# Поиск Яндекса по блогам
User-agent: YandexBlog
Disallow:
# Все остальные
User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Disallow: /?feed=
Allow: /wp-content/uploads/
Комментарии к robots.txt
Для поиска Яндекса по блогам разрешаем все. Для остальных запрещаем служебные директории и страницы, темы, плагины, фиды, трекбеки. Картинки и прочие документы загруженные через стандартный загрузчик Wordpress остаются доступными для индексирования.
Возможные проблемы
Данный вариант robots.txt может закрыть доступ к индексированию фида для всех остальных поисковиков по блогам. Неизвестно как себя поведет поиск по блогам от Google, так как отдельного имени его бота я не нашел.
Резюме
Этот вариант является рабочим и стоит на всех моих блогах. По мере исследования лога запросов будут вноситься изменения. Замечания и дополнения от читателей принимаются.
Ссылки по теме
----------
Реклама: Купить часы Mercedes-Benz
Еще по теме
Posted on января 12, 2009
Filed Under Как вести и продвигать блог
Комментарии
Всего комментариев: 26

А почему для Яндекс.Блоги совсем ничего не запрещаем? Зачем индексировать, например, админку?
Стас
А робот Яндекс.Блогов не полезет в админку. Он берет только фиды.
Можно конечно было бы разрешить ему все фиды и запретить все остальное, но это более длинный вариант. Мне было лень. В данному случае результат будет один и тот же.
Если используется pagenavi, то еще можно закрыть /page/*
Еще не хватает Host и Sitemap.
AlexVolkov
Согласен, /page/ надо закрыть в любом случае для пресечения дублирования контента. Добавлю к себе в robots.txt
Про Sitemap будет один из следующих постов, когда разберусь с параметрами.
про Host. Более правильнее делать 301 редирект через htaccess, тогда не будет проблемы с зеркалами и необходимости в Host.
>>про Host. Более правильнее делать 301 редирект через htaccess, тогда не будет проблемы с зеркалами и необходимости в Host.
Вордпресс сам редиректит куда надо через 301, в зависимости от того, какой урл указан при инсталляции, в хтаксессе нет нужды. А хост в роботсе прописать — это так, для порядка.
А зачем закрывать page? Ведь там другая страница с совсем другим контентом.
Зачем закрывать sitemap? Карта сайта очень нужна Google и остальным поисковикам. Тогда индексация быстрей проходит.
А насчёт всего остального — спасибо! Поставлю, потом посмотрим результат;)
Станиславский
/page/ надо закрывать потому что там дублирующий контент. Или какой другой контент отличный от текста постов ты имеешь ввиду?
Кто сказал что надо закрывать Sitemap? Во-первых это невозможно технически через robots.txt. Во-вторых ни у меня, ни в комментарих про это не слово. Наоборот было замечание что я про sitemap ничего не написал.
Я думал в комментарие AlexVolkov'a он это имел ввиду. Значит ошибся я.
Насчёт page/
Вы думаете, что робот может найти ссылки на посты в категориях/тегах и поэтому смысла нет открывать индексацию page/?
Предпочитаю придерживаться стандарта, все-таки кроме Яндекса и Google есть другие поисковики :-)
>>Я думал в комментарие AlexVolkov’a он это имел ввиду. Значит ошибся я.
Я имел ввиду директивы сайтмап и хост ))
>>Насчёт page/
Вы думаете, что робот может найти ссылки на посты в категориях/тегах и поэтому смысла нет открывать индексацию page/?
Обычно для указания страниц используют sitemap[html|xml].
Кроме категорий у вп довольно сильная перелинковка, например теже Related Posts.
И неиндексировать это не значит не ходить по ссылкам.
Файл robots.txt, для моего блога, состоит из шести строк. Прочитал Вашу статью, и строчек в моём robots.txt наверняка прибавится. Статья очень полезная, т.к. любая информация о поведении поисковых машин очень полезна и необходима. А тут идет речь о непосредственном общении (если можно так выразиться) с машиной, и что немаловажно о способе воздействия на её поведение.
Рекомендую еще закрыть
Disallow: /catalog/
Disallow: /category/
в этой статье два раза повторяется
Disallow: */comments/
Олег
Disallow: /catalog/ — это что еще за зверь в WP?
Disallow: /category/ — а вот этого деать не стоит, лучше не выводить полные посты, а только заголовок (и лид), например как у меня в блоге.
>> Disallow: */comments/
Нет, там две разные строчки, одна без звездочки в начале другая со звездочкой. Правда некоторыми поисковиками они скорее всего будут трактоваться одинаково. Надо проверить.
Вопрос такой: зачем вот эти строки нужны:
Disallow: */comments/
Disallow: /comments/
Как понимаю запрет индексации комментариев, если да, то зачем?
Комментарии же сродни уникальному контенту, зачем от него отказываться?
А так впринцепе ни разу не делал этот роботс.тхт, щас как только ответите на вопрос попробуем вставить ваш. :)
Андрей
Это запрет на индексирования фидов с комментариями. Поисковику которые не поддерживает индексацию фидов эти ссылки не к чему. Непосредственно страницы для индексирования открыты.
я такой использую:
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Полезно! Добавил.
Хотя если честно не до конца понимаю почему вообще нельзя без robots.txt
MLMовка
если кратко, то robots.txt нужен
а) закрыть от индексации страницы которые поисковик вообще не сможет проиндексировать, это ускорит скорость индексации, так как за раз паук делает только определенное кол-во попыток
б) закрывает страницы с дублированным контентом, а это опять увеличивает скорость индексации и добавляет веса нужным страницам
Благодарю за ценную информацию, наткнулся совершенно случайно, но сразу понял — то что надо. А то Яндекс достал уже с ошибками индексирования :- (
блин, я уже запутался с этими «правильными» РОБОТС.
1. приводит ли отсутствие запрета /category/ и /tag/ к дублированию контента?
Я вот закрыл ради интереса — в итоге внутренние страницы не индексируются. паукам ходить не по чем.
А если оставить -в индексе появляются гавностраницы с /tag/ i /category/
:(:(:
Где грань между реальностью и параноей?:)
ЗЫ
«электропочта» — звучит жизнеутверждающе))))
Satyr
Для того чтобы паук знал куда идти существует такая прекрасная вещь как sitemap.
Или надо оставить открытыми /category/ для индексации, но сделать как у меня просто вывод заголовка, или заголовка + первую сотню-две символов.
А смотря для какой цели. Если есть желание зарабатывать на сапе, то закрытие дублирующих страниц скажется на количестве ссылочных мест, а значит на потенциальном доходе.
Я конечно не знаю всего... но как то скептически отношусь к этому, считаю кпд от этих действий будет совсем не заметин
Хотя нет зря я так написал, робот вам скажет спасибо:)
Вот мой, лазил читал, и собрал, хз правильный или нет :)
User-agent: Googlebot
Disallow:
User-agent: googlebot-image
Disallow:
User-agent: MSNBot
Disallow:
User-agent: Slurp
Disallow:
User-agent: Gigabot
Disallow:
User-agent: Robozilla
Disallow:
User-agent: psbot
Disallow:
User-agent: yahoo-blogs/v3.9
Disallow:
User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Sitemap:
Сейчас после ввода тега rel="canonical" проблемы с дублированным контентом сходят на нет. Единственное узнать бы официальную позицию Яши по поводу этого тега... Может кто-нибудь находил информацию?