Все о WordPress: плагины, шаблоны, темы и настройка

Правильный robots.txt для WordPress

Файл robots.txt - это служебный файл, который подсказывает поисковому роботу, какие разделы сайта индексировать, а какие нет. Определяет основное зеркало сайта, указывает путь к карте сайта sitemap.xml и вообще, наличие этого файла - признак любого уважающего себя сайта.
Не будем вдаваться в технические подробности, просто создадим в блокноте файл, обзовем его robots.txt и запишем туда следующее:

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Host: www.yourdomain.ru

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments

Sitemap: http://yourdomain.ru/sitemap.xml

Естественно, вместо yourdomain.ru - адрес Вашего сайта. Сохраняем файл и копируем его в корневую папку блога. Более подробную информацию о robots.txt вы можете узнать на сайте http://robotstxt.org.ru/

Предыдущие записи из рубрики Настройка WordPress

33 комментария

Артур, 18.05.2009 в 09:05Ответить

Автору статьи большой респект за приведенные знания!)) А я то думал на кой нужен даный робот текст, и почему это у меня гугли не читает сайтмеп. Теперь я пойду все исправлять!))

Артур, 18.05.2009 в 09:08Ответить

Я вот только одно понять не могу, почему в первой колонке написано User-agent: Yandex, а во второй User-agent: *, это получается что например в место * нужно написать Google.ru или не чего там писать не нужно?

Deimos, 18.05.2009 в 09:13Ответить

Нет :) Нужно оставить один юзер-агент со звездочкой - это обращения ко всем ПС кроме яндекса, для него нужно писать отдельно (выпендрился!) User-agent: Yandex.
Если хотите например запретить индексацию только MSN или Yahoo то для них конкретно пишите:

User-Agent: Slurp
Disallow: /

User-Agent: msnbot
Disallow: /

Большое спасибо автору! Теперь и у меня будет заполненный robots.txt. Сколько не искал доходчивой информации в Сети - все впустую! А Вы написали три строчки - и все расставили по своим местам. Обязательно поставлю ссылку на Вас у себя на блоге.

kf, 02.08.2009 в 00:42Ответить

Disallow: */trackback
Disallow: */feed
Disallow: */comments - не пойму для чего это, в стандартной сборке wp такие пути отсутствуют, по моему правильнее
Disallow: /?feed=*
Disallow: /?*comment*, а еще следовало бы запретить индексацию категорий, меток и архивов во избежание дубль-контента, но не так как советуют некоторые умельцы:
Disallow: /*?* - закрывая тем самым весь контент вне морды, а например:
Disallow: /?cat=*
Disallow: /?tag=*
Disallow: /?m=*
или я неправ?

Deimos, 02.08.2009 в 09:08Ответить

kf, на счет контента спорное решение, т.к. странице тегов и категорий прекрасно индексируются (посмотрите даже этот блог), а если яше что то не понравится он сам прекрасно исключает страницы из поиска, в принципе ему не надо помогать. Еще не разу не видел чтобы Яша исключил саму страницу, а не страницу с тегами (например).
А по поводу написания роботс.тхт Ваш вариант работает без активированного ЧПУ, мой вариант работает если ЧПУ активировано!

Дамир, 07.09.2009 в 12:19Ответить

Кажется сечас надо вместо
Disallow: /wp-admin
ставить
Disallow: /wp-login *UNKNOWN*

Deimos, 07.09.2009 в 13:00Ответить

Дамир, ну хуже от Disallow: /wp-login точно не станет, так что можно смело ставить ;)

modlen, 30.09.2009 в 12:50Ответить

Спсибо, Ваш вариант robots.txt я считаю правильным. Забираю! :)

alex, 09.10.2009 в 15:31Ответить

Файла роботс не было, яша давал пару ошибок, добавил приведенный файл, сразу появилось 46 ошибок(предупреждений). Что я не так сделал?

Deimos, 10.10.2009 в 11:15Ответить

alex, добрый день, что за ошибки выдает Яша? Если - "Документ запрещен в файле robots.txt" - то это даже не ошибка и даже не предупреждение, а просто информация о том что некоторые страницы запрещены в роботе. И это нормально, т.к. в этом роботе мы запрещаем яше индексировать лишнии, случайно попавшие страницы. Если Вам не сложно то напишите сюда ошибки которые написал Яша.
П.С. у этого сайта (wp-info.ru) яша показывает 1530 ошибок, и все нормально ;)

mall, 04.12.2009 в 18:12Ответить

Советую еще добавить:
User-agent: YandexBlog
Disallow:

VRS, 09.12.2009 в 07:49Ответить

У меня вот такой перечень:

User-agent: *
Disallow: /cgi-bin
Disallow: /tmp/
Disallow: /wp-admin
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /feed
Disallow: */feed
Disallow: /*?*
Disallow: /*?
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /search/*/feed
Disallow: /search/*/*
Disallow: /tag/
Allow: /wp-content/uploads/

User-agent: Googlebot-Image
Disallow:
Allow: /*

User-agent: Mediapartners-Google*
Disallow:
Allow: /*

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /feed
Disallow: */feed
Disallow: /*?*
Disallow: /*?
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /search/*/feed
Disallow: /search/*/*
Disallow: /tag/
Allow: /wp-content/uploads/
Host: http://www.site.ru
Sitemap: http://www.site.ru/sitemap.xml

User-agent: YandexBlog
Disallow:
Allow: /*

Но на одном из сайтов прочла, что Яндекс считывает первый список, т.е.YandexBlog и Yandex для него одно и тоже.

И еще у меня вопрос: если WP убран в подпапку http://www.domen.ru/blogzdes/, будут ли работать все эти правила корректно??

Deimos, 09.12.2009 в 15:41Ответить

VRS, точно ответить не могу, но вроде YandexBlog и Yandex это разные вещи... посмотрел в яндексхелпе, дак вроде тоже пишут что это разные боты и соответственно для них разные правила.
На счет того правильны ли эти правила если WP убран в подпапку - мне кажется неправильны! Т.к. это относительный путь для сайта, хотя точно утверждать не могу, надо пользоваться проверкой роботс.тхт

VRS, 11.12.2009 в 02:43Ответить

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

Deimos, 11.12.2009 в 11:32Ответить

VRS, дак так и должно быть... не совсем понятно что Вас смущает ;)

Alex69, 21.12.2009 в 19:01Ответить

Окей, респект за пост!
Но если Яша исключил из индексации страницы блога по причине ошибочной мысли что это дублирующий материал, то с таким файлом он их вернет?

Deimos, 23.12.2009 в 16:42Ответить

Alex69, может и вернет, хотя я честно говоря сомневаюсь, надо смотреть сайт.... Может проблема не только в дублировании контента... Вы попробуйте - хуже не станет ;) Как сделаете - пишите в суппорт яндекса.

Дамир, 29.12.2009 в 00:41Ответить

Привет, классный у тебя сайт, установил твой блог, тьфу-тьфу вроде все работает. Вот вопрос возник, где брать файл sitemap.xml? В твоём блоге его нет.

Deimos, 29.12.2009 в 01:36Ответить

Дамир, привет, sitemap.xml создается с помощью плагина Google XML Sitemaps - он автоматически генерит xml карту твоего сайта при каждом создании новой страницы.
И кстати он у меня есть ;-)

Диман, 02.01.2010 в 13:24Ответить

Всем привет! Прочитал попробовал, непонравилось... :)
Вот у меня вопрос, в свете последних событий и нововведений от яндекса, решил на всех саттах позакрывать все дубли, нормального роботса гугл не нашол. Вот пример дублей:
http://site.ru/?p=59#more-59
http://site.ru/?p=52#respond
http://site.ru/?m=200912
Авторский роботс не закрывает эти страницы, а роботс от mall, вообще закрывает от индексации весь сайт кроме главной вот этим правилом:
Disallow: /*?*
Вот это http://site.ru/?m=200912 закрыл параметром Disallow: /*2009* а остальное никак не получается, подскажите пожалуйста

Deimos, 02.01.2010 в 13:47Ответить

Диман, привет! Жаль что тебе не понравился мой роботс.тхт, т.к. он хороший ;-)
Объясню почему: страницы по типу:
http://site.ru/?p=59#more-59
http://site.ru/?p=52#respond
закрывать не надо, т.к. #more-59 и #respond являются якорями страницы ?p=59 и ?p=52 и попросту не индексируются не гуглом, не яндексом, не остальными ПС..... (по крайней мере я в жизни ни у одного сайта не видел в индексе страницу с якорем, хотя есть сайты где якоря на каждой странице).
На счет страницы ?m=200912 тут правда, мой роботс ее не закроет, но вы можете просто написать:
Disallow: /?m=
Чтобы закрыть все страницы архивов, но лично я у себя на блоге их закрывать не стал.... думаю хуже от них быть не должно, лучше для них сделать вывод всех записей месяца на одной странице..... т.е. когда заходишь например в Декабрь 2009 там выводятся все записи за декабрь на одной странице (без постраничного разбития).

Диман, 02.01.2010 в 15:50Ответить

Да, пока страниц с якорями не нашел в индексе, тогда проблема решена, беру слова свои назад, отличный роботс! С добавлением параметра Disallow: /?m=. С наступившим!!!

Deimos, 03.01.2010 в 12:53Ответить

Диман, кстати говоря добавить в robots.txt правило Disallow: /*?* предлагают сами разработчики WordPress - ;-)

Игорь, 20.01.2010 в 11:31Ответить

скажите пожалуйста, как отключить такое:
*/page/*/
*/comment-page-1

Deimos, 22.01.2010 в 12:26Ответить

Игорь, в смысле отключить, запретить индексировать, или сделать так чтобы такое вообще не появлялось в WordPress'e?

Фарид, 23.01.2010 в 15:33Ответить

Я всё сделал как вы написали:
создать тхт и прописать вашы надписи-сделал.
закинул в файловый менеджер(ucoz)
так закинул и открываю файл роботс а там стандартно написано всё((
в смысле ни чё не изменилась((
яша не находит, гугл молчит.....

Tod, 28.01.2010 в 16:51Ответить

Спасибо за ссылку на оф. сайт и роботс.тхт там) весьма интересное чтиво. Пытаюсь составить сейчас себе идеальный файлик для всех сайтов) Можешь подсказать зачем нужно?

Disallow: /*?*
Disallow: /*?

Я так понимаю это обобщенное правило по типу

Disallow: /?feed=
Disallow: /?s=

И зачем исключать фид от индексации? Он типа дубли делает или что?

Deimos, 28.01.2010 в 22:57Ответить

Tod, привет! Все правильно понимаешь, чтобы исключить все урлы где встречается знак вопроса. На счет фида, поставим вопрос по другому, зачем тебе индексация фида?! Во первых он дублирует контент (с нынешними фильтрами яндекса это не есть гуд, WordPress и так создает куча дублей - в категория, тегах, архивах и т.д.), во вторых зачем его идексировать, все равно фид никогда не попадет в топ пс... Да и лишняя нагрузка на фид не нужна при индексации.... в общем вердикт следующий - исключить из индексации.... Про поиск и говорить не стоит - индексация поиска это почти 100% бан или фильтр.

y0ung5eo, 11.02.2010 в 10:55Ответить

У меня проблема аналогичная той что указал Игорь - нужно закрыть от индексации ссылки вида */comment-page-1, сейчас бьюсь над решением. Стандартные правила оформления robots.txt в этом случае не работают, подозреваю что из-за ЧПУ

Deimos, 11.02.2010 в 13:28Ответить

y0ung5eo, а в чем проблема то? Добавляете вот такую строчку:
Disallow: */comment-page-*
в robots.txt и все ок! Только что проверил анализатором робота в яндексе ;-)

y0ung5eo, 12.02.2010 в 00:09Ответить

Спасибо, решил проблему поплотнее разобравшись в правилах составления robots.txt :)

Сергей, 17.02.2010 в 14:38Ответить

Здраствуйте. Вопрос такой, как запретить индексацию страницы обратных ссылок. Нужно прописывать полный путь к странице или можно только окончание? И еще на счет станицы ошибка 404, есть смысл ее запрещать, а то удалял станицу яша после этого возмущался.

Оставить ответ

Топ комментаторов

Спасибо Вам за Ваши комментарии!