Robots.txt для Wordpress

В Wordpress есть определенное количество «служебных» файлов и папок, попадание в индекс которых не желательно по ряду объективных причин. Чтобы «спрятать» их от роботов поисковых систем, нужно использовать файл robots.txt о котором и пойдет речь в посте. Структура папок в Wordpress практически не меняется от версии к версии, поэтому описанные ниже данные подойдут для большинства блогов.

Назначение файла Robots.txt

В принципе, назначение файла понятно, но давайте сформулируем его функции более точно – файл robots.txt используется для задачи правил поведения поисковых ботов на сайте, т.е. с его помощью вы можете влиять на процесс индексации. Robot.txt представляет из себя текстовый файл, составленный по определенным правилам (основные моменты хорошо описаны в том же Яндексе), находящийся в корневой папке вашего блога.

В принципе, все правила индексации строятся на 5 переменных:

  1. User-agent указывает для какого конкретно поискового робота предназначены директивы.
  2. Allow – разрешающая директива.
  3. Disallow – запрещающая директива.
  4. Host, указывающая какое из зеркал вашего сайта является главным.
  5. Sitemap для указания поисковикам, где находится xml-файл карты сайта.

Составляем файл Robots.txt

По умолчанию, в стандартном дистрибутиве Wordpress файл robots.txt присутствует и содержит две строчки:

User-agent: *
Disallow:

Приведенный выше листинг файла robots.txt разрешает всем поисковым ботам индексировать весь сайт. Это задается пустой директивой Disallow.

Давайте добавим в него все папки, которые вы бы хотел закрыть от любопытных посетителей роботов:

User-agent: *
Disallow: /cgi-bin
Disallow: /xmlrpc.php
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /?s=
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Disallow: /*?*
Disallow: /*?
Allow: /wp-content/uploads/

Как вы можете видеть, мы запретили к индексации все служебные папки и файлы, используемые в работе администратором и движком блога, но не посетителями – скрываем страницы удаленного постинга, авторизации и регистрации, папки с темами и плагинами. Папки trackback, comments и feed физически не существуют, а прячем мы их дабы избежать дублирующего контента, чтобы не понести «кары» от Яндекса. Кстати, некоторые рекомендуют добавлять запрет индексации для папки tag по той же причине, но лично я этого не делал бы.

Стоит обратить внимание, что после всех запретов, директивой Allow мы откроем доступ к папке uploads – не стоит пренебрегать возможным трафиком с результатов поиска по изображениям с Google или Яндекс. Если же картинки к статьям у вас находятся в другой папке, то необходимо поменять путь.

В конце мы добавим директиву определения карты сайта и директиву определения главного зеркала Host. Её мы размещаем в самом конце, так как предназначена она только для робота поисковой системы Яндекс и другие об неё могут «спотыкаться».

Sitemap: http://www.bubblebabe.ru/sitemap.xml
Host: www.bubblebabe.ru

Отсекаем ненужных роботов посредством Robots.txt

Бывает, что роботы, индексирующие сайты, не приносят пользы своими действиями, а наоборот только нагружают сервер. Если ваш блог ориентирован на получение только русского трафика или вас не интересуют какие-либо локальные китайские поисковые системы, то ненужный роботов-краулеров можно отсечь используя данный список формата «имя робота – поисковик»:

teoma – Ask/Teoma
twiceler – Cuil
gigabot – GigaBlast
scrubby – Scrub The Web
nutch – Nutch
baiduspider – Baidu
naverbot – Naver
yeti – Naver
asterias – SingingFish

Метки: ,

13 комментария(ев)


  1. snikus on 15 Дек 2009

    Спасибо, надо будет попробовать, ато смаперы бесят чморшники

  2. Степашка on 16 Дек 2009

    Где в дистрибутиве находится robots.txt? В дистрибутиве mywordpress.ru его не нашел.

    Впрочем, это не проблема: создать его – секундное дело. А вот нужно ли там прописывание главного зеркала для Яндекса? Например, у меня после установки WP главным зеркалом по умолчанию становится адрес без www – и без всякого robots.txt. Это делает какая-то встроенная функция WP?

    Если же я добавлю еще и robots.txt (даже не указывая в нем host), то не вступит ли вышеозначенная функция в конфликт с вновь добавленным robots.txt?

  3. ScreamNews.com on 20 Дек 2009

    По-моему, лучше не отсекать ненужных роботов – а явно указать разрешённых. В Рунете генераторами траффика могут считаться всего 4: Гугл, Яндекс, Рамблер и Нигма. Всех остальных тупо в игнор. Так-же в роботс необходимо, на мой взгляд поместить периодичность обращения бота к сайту. Для снижения нагрузки. Что-то типа этого:
    User-agent: Yandex
    Disallow:

    User-agent: Googlebot
    Disallow:

    User-agent: StackRambler
    Disallow:

    User-agent: *
    Disallow: /

    User-agent: *
    Crawl-delay: 3

  4. BBWorpdress on 21 Дек 2009

    Степашка, хост прописывать не обязательно. Если в настройках WP указан один, а директивой Host другой, то вероятность 90%, что второй проигнорируется.

    ScreamNews, первые две строки у вас уже технические неправильны. Disallow не должен быть пустым.

  5. Степашка on 22 Дек 2009

    Про директивы Allow-Disallow без параметров.

    Отсутствие параметров у директивы трактуется следующим образом:

    User-agent: Yandex
    Disallow: # тоже что и Allow: /

    User-agent: Yandex
    Allow: # тоже что и Disallow: /

    Источник: http://help.yandex.ru/webmaster/?id=996567

  6. Степашка on 22 Дек 2009

    ScreamNews, про Crawl Delay полезное замечание для посещаемых сайтов.

  7. Макс Травиан on 23 Дек 2009

    Роботс – хорошый файл. Только у меня с ним на еск-хостинге ничего не получается, я его закачал в папку сайта, но понту эт этого – ноль. Он не работает.

  8. Deimos on 25 Дек 2009

    Роман привет, как считаешь стоит в роботе закрывать страницы с якорями комментариев, например:
    _http://www.site.ru/zagolovok/#comments
    т.е. прописывать в робот:
    /#comments

  9. BBWorpdress on 25 Дек 2009

    Deimos, думаю, что нет – якорь не индексируется, т.е. он считается по сути «пустым местом», проиндексируется просто _http://www.site.ru/zagolovok/.

    а вот дурацкую приблуду WP разбивки комментариев я бы закрыл:
    _http://www.site.ru/zagolovok/comment-page-1/, только не знаю, как это правильно придумать.

  10. Deimos on 25 Дек 2009

    BBWorpdress, согласен, про разбитее наверное как то так:
    Disallow: /comment-page-*
    Надо только через тулзу проверки роботс.тхт в вебмастере яндекса проверить.

  11. NewAge on 02 Янв 2010

    по-моему вот эта строчка Allow: /wp-content/uploads/ лишняя, она не попадает под Disallow

  12. BBWorpdress on 11 Янв 2010

    NewAge, вообще да, вы правы скорее всего.

  13. Наталья on 07 Апр 2010

    Спасибо большущее! КАк раз для такого чайника как я инструкция – получилось именно то, что нужно, а то до этого как только я бедный сайт не курочила.
    Развития Вам и процветания!


Оставьте ваш комментарий