Делаем правильный robots.txt для WordPress

13
Июн
2011
Автор: Алексей Черкасов | Категории: Движки сайтов

Файл robots.txtЕсть у движка wordpress одна проблема в техническом плане. Заключается она в дублирование контента и мусорных страниц. Эта штука сулит очень большие проблемы с поисковыми системами, особенно если очень увлекаться тегами (метками).

В самом плохом варианте сайт может попасть под фильтр Яндекса АГС (бан, когда в индексе остается 10 или менее страниц), и в дополнительный индекс Гугла. Объяснять, что такое АГС и дополнительный индекс я сейчас не буду, эта тема отдельного разговора, а вот как решить проблему с дублями я расскажу.


Во первых проверьте, что сейчас проиндексировано Яндексом по вашему сайту: способ 1, способ 2. Тут задача убедиться, есть ли дубли контента и другие мусорные данные. На этом этапе мы осознаем проблему.

ВНИМАНИЕ!

Ниже я привожу такой роботс, который блокирует все возможные страницы с дублирующем контентом на wordpress.

Если ваш сайт уже старый и раскрученный, то это может повлиять не очень благоприятно — из индекса могут вылететь страницы на которые идет трафик с поисковиков и на которых содержится дублирующая информация!

В этом случае, я рекомендую использовать более универсальный роботс, он делает только самое необходимое (не подходит для сайтов с url по умолчанию, вида: http://ваш_сайт.ru/?p=123).

А сама проблема решается очень просто, нужно создать правильный файл robots.txt. Для этого нужно скопировать содержание, указанное ниже, в блокнот, отредактировать его (заменить ваш_сайт.ru на нужный url-адрес) и сохранить с названием robots.txt.

Затем этот сохраненный файл нужно закачать по фтп в корень сайта – там, где лежат папочки: wp-admin, wp-content, wp-includes и файлик wp-config.php. Вот содержание (что оно обозначает смотрите в видео выше):

User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-
Disallow: /cgi-bin
Disallow: /author/
Disallow: /xmlrpc.php
Disallow: /tag/
Disallow: /category/
Disallow: /page/
Disallow: /archive/
Disallow: /*?tag=
Disallow: /*?cat=
Disallow: /*?paged=
Disallow: /*?m=
Disallow: /*feed
Disallow: /*comments
Disallow: /*trackback
Disallow: /*comment-page
Disallow: /*cpage=
Disallow: /*?s=
Disallow: /*&s=
Crawl-delay: 3

User-agent: Yandex
Allow: /wp-content/uploads/
Disallow: /wp-
Disallow: /cgi-bin
Disallow: /author/
Disallow: /xmlrpc.php
Disallow: /tag/
Disallow: /category/
Disallow: /page/
Disallow: /archive/
Disallow: /*?tag=
Disallow: /*?cat=
Disallow: /*?paged=
Disallow: /*?m=
Disallow: /*feed
Disallow: /*comments
Disallow: /*trackback
Disallow: /*comment-page
Disallow: /*cpage=
Disallow: /*?s=
Disallow: /*&s=
Crawl-delay: 3
Host: ваш_сайт.ru

Sitemap: http://ваш_сайт.ru/sitemap.xml

Скачать его можно тут: robots.txt (правой кнопкой мыши -> сохранить объект как…)

Замените ваш сайт.ru – на URL адрес нужного сайта, например nokak2.ru!

Если у вас нету файла sitemap.xml — то советую его создать, но это не обязательно. Можно убрать последнюю строку и не париться с этим.

Затем зайти сюда: http://webmaster.yandex.ru/robots.xml, ввести адрес своего сайта (имя хоста) и проверить правильно ли все вы сделали. Просто убедиться в наличие этого файла у вас на сайте и его правильное понимание Яндексом — используемые секции 24-46 и 48-48 (т.е. Яндекс будет руководствоваться строками с 24 по 46 и 48).

Я старался сделать этот robots максимально универсальным и он подойдет как к проектам с ЧПУ, так и к базовым url-адресам, которые стоят по умолчанию. Но есть одна оговорка. Вот этот блок, нужно использовать ОЧЕНЬ ВНИМАТЕЛЬНО и аккуратно!:

Disallow: /tag/
Disallow: /category/
Disallow: /page/
Disallow: /archive/
Disallow: /*?tag=
Disallow: /*?cat=
Disallow: /*?paged=
Disallow: /*?m=

Дело в том, что в нем мы закрываем дубли (тэги, списки категорий и архивов, а также постраничную навигацию. Первые 4 строки для сайтов с ЧПУ остальные 4 для сайтов по умолчанию (/?p=123). Проблема может заключаться в том, что при использование не стандартных ЧПУ, вы можете выводи свои статьи через archive или category, например адрес статьи — site.ru/archives/123.

А это означает, что стати НЕ БУДУТ ИНДЕКСИРОВАТЬСЯ, так как в robots.txt прописан запрет на индексацию archive и category! Будьте внимательны!

Узнать подробнее, что обозначают все эти директивы в файле robots.txt можно в разделе помощь, на Яндексе.

P.S.: Для любознательных, мы блок:

Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content

Заменяем на

Disallow: /wp-

Этим мы закрываем все от индексации начинающееся с wp-. Т.е. все что указано выше + многое другое.

А теперь о robots.txt от Яндекса:

Поделиться в соц. сетях

Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники

Понравилась статья? Подпишись на обновления!
Читай, где удобней:
  • http://knigi-zdes.ru/ Рина

    спасибо за подробную инструкцию.
    правда у меня возник небольшой вопрос — при проверке на http://webmaster.yandex.ru/robots.xml получила результат —

    Используемые секции
    Строка
    16-30
    User-agent: Yandex
    Crawl-delay: 4

    Host: knigi-zdes.ru
    32-33
    Sitemap: http://knigi-zdes.ru//sitemap.xml.gz
    Sitemap: http://knigi-zdes.ru//sitemap.xml

    что это значит?

    • http://nokak.ru Алексей Черкасов

      Это значит, что Яндекс смотрит на строки с 16 по 30, затем с 32 по 33 — так как в начале у вас информация для всех поиковых систем, а инструкция персонально для Яндекса написана с 16 строки. Так что все ок. sitemp — это карта для поисковиков.

      • Таня

        Алексей, вроде все как Вы сказали сделала уменя почему то выдал яндекс такое
        24-46
        User-agent: Yandex
        Allow: /wp-content/uploads/

        Host: olenchinkova.com
        48-48
        Sitemap: http://olenchinkova.com/sitemap.xml
        не так как в вашем видео

        • http://nokak.ru Алексей Черкасов

          Все правильно, строки которые использует яндекс 24-46 и 48 — там располагается Sitemap — он его тоже учитывает.

          • Таня

            а сделала все то же со вторым моим сайтом пишет 45: Host: 10sea.org.ua/
            Некорректное имя главного зеркала сайта но сайт так и называется и я все также в точности заменила как у первого тоесть Host: 10sea.org.ua/

            Sitemap: http://10sea.org.ua/sitemap.xml
            что делать?

          • http://nokak.ru Алексей Черкасов

            Ошибка в строчке:
            Host: 10sea.org.ua/

            Уберите последний слеш, т.е. нужно вот так:
            Host: 10sea.org.ua

            И все заработает!

          • Таня

            никогда бы сама этого не поняла :)

          • Junior-rafchan

            В какой кодировке сохранять файл ? В ANSI или UTF-8 ? Или без разницы! Большое спасибо!

          • Makar5994

            Как закрыть от индексации якорь more_ Это ведь тоже дубль. Как его закрыть от индекса я правда не знаю!

  • Ильдар Януров

    Привет!
    Отличный урок, спасибо. Всё сделал. У меня сайт новичок.
    А вот как создать sitemap?

    • http://nokak.ru Алексей Черкасов

      Я сделаю видео урок на эту тему чуть позже. Ну а пока просто установите плагин Google XML Sitemaps и активируйте его.

      http://wordpress.org/extend/plugins/google-sitemap-generator/

      • http://www.facebook.com/people/Ильдар-Януров/100001985402878 Ильдар Януров

        Привет! Сделано!

  • Юлия

    Большое вам спасибо, очень все понятно и очень полезный ваш блог

  • Sacherkasov

    блог очень полезный, спасибо!

  • Юлия

    Скажите, а если у меня 2 блога на одном хостинге, то куда по второму блогу закачивать этот файл? Что-то не могу понять

    • http://nokak.ru Алексей Черкасов

      Робот всегда закачивается в корень сайта и отображаться должен: site.ru/robots.txt
      Другое расположение он иметь не должен.

  • Светлана Чернышева

    Алексей!

    Проверила свой сайт http://www.moezrenie2.ru ? Вот что выдал Яндекс

    Всего проиндексировано 39 страниц и далее..

    Моё зрение – в моих руках! » Архив сайта » Вопрос слушателя: Так…
    /?p=175
    Моё зрение – в моих руках! » Архив сайта » Комментарий слушателя: “Я…
    /?p=172
    Моё зрение – в моих руках! » Архив сайта » Вопрос слушателя: Как делать…
    /?p=177
    Моё зрение – в моих руках! » Архив сайта » Как работать с программой…
    /?p=180
    Моё зрение – в моих руках! » Архив сайта » центральная фиксация на…
    /?p=186

    Не совсем поняла — это плохо, что он пишет архив сайта? но ведь эти страницы проиндексированы, раз они вышли в список верно?

    Robot пока не меняла, все стоит как есть

    • http://nokak.ru Алексей Черкасов

      Тут нужно смотреть сколько реальных статей написано, если их +- где-то также, то это хорошо. Если разница огромная, статей написано 1000, а в индексе 30, то это очень плохо, где-то есть проблема.
      Идеально, чтобы сайт был целиком проиндексирован.

  • Александр

    а куда именно вставлять робота?

    • http://nokak.ru Алексей Черкасов

      файл robots.txt нужно закачать в главную папку на сайте, там где лежит файл index.php. Проверить просто: наберите название вашего сайта и на конце допишите /robots.txt — если файл откроется, вы все сделали правильно. Пример: http://nokak2.ru/robots.txt

      • Александр

        вставил http://zav1980.ru/robots.txt получилось вот, что
        User-agent: *
        Disallow:
        но дописать туда не получается, не вставляется ничего на эту страницу.
        спасибо!

  • Ruslan

    У меня есть сайт созданый через систему Ucoz. Как мне добавить туда фаил robots.txt&&

    • http://nokak.ru Алексей Черкасов

      К сожалению по поводу Ucoz сказать ничего не могу, так как не работаю с этой системой.

      А вообще там точно также нужно просто выкинуть все дубли страниц.

  • Oleg

    Я новенький в создании сайтов и сделал robots как Вы написали! Вот вопрос, это нормально, что Яндекс пишет исключено роботом 485, с них: Документ запрещен в файле robots.txt — 399 и Документ содержит мета-тег noindex — 85.

    А в Гугл: Заблокирован файлом robots.txt — 306.
    И с каждым сканированием роботов постоянно увеличиваются ошибки. Это так и должно или я что то не так доделал???

  • Marsio1968

    Добрый вечер я загрузил Ваш файл а мне выдало вот что User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-includes/

    Sitemap: http://marsio.ru/sitemap.xml.gz

    Анализ robots.txt

    Используемые секции

    Строка

    1-3
    User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-includes/

    5-5
    Sitemap: http://marsio.ru/sitemap.xml.gz

    Прошу Вас помочь

    • http://nokak.ru Алексей Черкасов

      так у вас и робот такой — http://marsio.ru/robots.txt
      все правильно вам яндекс говорит

  • Advegin

    Здравствуйте, Алексей!
    Вчера вышли новые правила по использованию Robots.txt

    По новым правилам, если страница сайта попадает под действие нескольких директив ‘Allow’ и/или ‘Disallow’, то будет применяться директива с наибольшей длиной префикса URL. При определении длины префикса спецсимвол ‘*’ не учитывается.
    Если на вашем сайте в robots.txt совместно используются директивы ‘Allow’ и ‘Disallow’, пожалуйста, проверьте их на соответствие новым стандартам.

    Что это означает?
    Нужно ли что-то поменять в файле который Вы предложили?

    • http://nokak.ru Алексей Черкасов

      http://help.yandex.ru/webmaster/?id=996567#996571
      Раньше приоритете зависел от порядка следования директив ‘Allow’ и ‘Disallow’, а сейчас от длинны префикса. + В случае возникновения конфликта между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow.

      Конкретно в нашем случае ничего менять не нужно.

      • Advegin

        Ни фига себе как оперативно ответили! :)
        Спасибо, Алексей!

  • Antonio

    Здравствуйте Алексей.
    Подскажите пожалуйста!
    мне нужно: чтобы яндекс индексировал статьи только из рубрик, для этого в вашем Robots.txt я убираю строки Disallow: /category/ и Disallow: /*?cat=?
    нужно ли добавлять строку Allow: /category/?

    • http://nokak.ru Алексей Черкасов

      Да убирайте эти две строчки, добавлять не обязательно строку Allow

    • Antonio

      Алексей спасибо за ответ, полезный у вас сайт и посты.! Еще вопрос подскажите как выйти из фильтра яндекс АГС или мой сайт сам выйдет через месяц?

      • http://nokak.ru Алексей Черкасов

        Возможно сайт и сам выйдет если наличие отрицательных факторов будет уменьшено или положительных увеличено. В интернете много статей на эту тему.

        Вообще если сайт реально качественный и без нарушений, то он сможет претендовать на выход, и можно писать письма Платону. Если сайт ГС (копипас, продажа ссылок в черную…), то это не поможет.

        • Antonio

          Спасибо очень помогли, посмотрим что будет через месяц!!

  • Юра

    Здравствуйте Алексей.
    скачал с Вашего сайта Robots.txt и вот что получилось:
    http://mydorama.ucoz.com/robots.txt
    User-agent: *
    Disallow: /
    ето нормально?
    извините первый сайт, с многим не знаком:((

    • http://nokak.ru Алексей Черкасов

      Это вы не с моего сайта робот такой получили. Он у вас обозначает — что ваш сайт полностью закрыт от поисковых систем, возможно по этой причине ваш сайт не присутствует в поисковиках.

      Я так понимаю, что оно вам не надо, поэтому установите мой предложенный вариант и все будет ок.

  • Юра

    Здравствуйте Алексей.
    скачал с Вашего сайта Robots.txt и вот что получилось:
    http://mydorama.ucoz.com/robots.txt
    User-agent: *
    Disallow: /
    ето нормально?
    извините первый сайт, с многим не знаком:((

    • http://nokak.ru Алексей Черкасов

      Уберите этот робот файл, его вы не с моего сайта скачали и обозначает он то, что вы запрещаете индексировать ваш сайт. Возможно по этой причине ваш сайт не проиндексирован поисковыми системами.

      Поставьте мой для примера робот.

  • Юра

    я хоть и Ваш робот ставил но, Ucoz защишает свой робоTXT от яндекса, на юкозе стандартный робот вроде как бы шас заменить нельзя, только через месяц

  • Antonio

    Алексей подскажите. Что нужно прописать чтобы посты не индексировались из рубрики последние записи Disallow: ?

    • http://nokak.ru Алексей Черкасов

      Нужно рубрику просто закрыть, например вот так
      Disallow: /wp-admin

      • Antonio

        а разве Disallow: /wp- не закрывает Disallow: /wp-admin?

        • http://nokak.ru Алексей Черкасов

          я просто пример привел, т.е. чтобы закрыт что-то используйте Disallow: /рубрика

          а так да закрывает.

  • Marriarty

    Добрый день. А есть разница как писать ? как правильно?
    Allow: /wp-content/uploads/
    или
    Allow: */uploads

    • http://nokak.ru Алексей Черкасов

      если надо закрыть конкретную папку, то вот так
      Allow: /wp-content/uploads/

      А во втором случае могут закрыться вообще все папки и подпапки содержащие это, например
      /123/uploads/

      • Marriarty

        Может Вы имеете ввиду открыть? Allow это же открыть.

        • http://nokak.ru Алексей Черкасов

          Да верно описался.

  • Жанна

    Здравствуйте! Я новичок, и мне во многом сложно разобраться))) Скажите, пожалуйста, можно ли использовать ваш роботс, если у меня ссылки на страницы сайта имеют вот такой вид: http://easy-mama.ru/uhod-za-rebenkom-do-goda/priuchenie-rebenka-k-gorshku/kak-nauchit-rebenka-hodit-na-gorshok-neskolko-poleznyih-sovetov. То есть сначала идет адрес сайта, потом название рубрики, а потом название статьи. Если я использую тот роботс, что вы предлагаете, не закрою ли я статьи от индексации навсегда?))) Вроде боролась с дублями, но при наличии 100 с чем-то статей Яндекс загрузил более 300((( Заранее спасибо за ответ!

    • Алексей Черкасов

      не желательно использовать этот роботс в вашем случае.

  • Reforma900

    У вас прописано Disallow: /category/ страница статьи у меня на сайте выглядит так

    _http://sait.ru/salon-krasoty/dlya-kozhi/zhirnyj-blesk-kozhi/

    Вопрос, если оставить запрет на индексацию Disallow: /category/ разве это не значит что робот не проиндексирует статью?

    • http://nokak.ru Алексей Черкасов

      да страницы индексироваться не будут так как он дублируются на главной странице в виде списка

  • Ирина

    Извините, я новичок, ссылка на статью на моем сайте выглядит так http://www.oriflame-novogrudok.by/category/o-kosmetike/dekorativnaya-kosmetika/opredeli-svoj-tipaz , насколько я поняла мне наверное нужно убрать Disallow: /category/ из робота?

    • Алексей Черкасов

      да сейчас у вас верный стоит роботс

    • http://nokak.ru Алексей Черкасов

      да иначе индексироваться не будут эти страницы

  • Андрей

    А почему у вас другой роботс. Что поменялось?

    • http://nokak.ru Алексей Черкасов

      вообще робокт идеально создавать под сайт индивидуально, правила его описаны выше основные.

  • Фёдор

    Здравствуйте, Алексей! Хочу обратиться к Вам за помощью. У меня возникла проблема с индексацией сайта в Яндекс. Сайту четыре месяца, но до сих пор в индексации находится только одна страница, на Гугле отображаются все. Создал robots по Вашему уроку, дублей вроде нет (опять же в Гугле), проверял страницы в аддурилке, в общем проделал всё по максимуму, по той информации которую с мог найти в интернете, результата ноль. Может быть Вы сможете подсказать, что ни будь действенное, если найдёте время, или подскажите к кому можно обратиться с данной проблемой.
    Прилагаю скрин Яндекса.

    • http://nokak.ru Алексей Черкасов

      Роботс тут не причем, это похоже на фильтр яндекса.
      1 — уберите часть рекламы особенно хреновину снизу всплывающую
      2 — добавьте сайт в панель вебмастер яндекса и напишите оттуда мол сайт хороший пишу все сам а не индексируется — почему?

      если будет отговорка — типо развивайте, то купите недорогих ссылок по 10 руб в мес на каждую внутреннюю страничку до 10-20 страниц. и ждите пару недель — купить их можно в руки.ру например.

  • Ольга

    Здравствуйте, Алексей!
    Подскажите пож-та,
    сайту 4 месяца, заполнение с декабря и тут же пошла посещалка.
    Но потом яша выплюнул большую половину страниц. В индексе в основном дубли,архивы.
    файл robots.txt на тот момент был в файле functions.
    Причем, в нем появились дублированные строки , кот. были обнаружены позже.
    Создали отдельный файл robots с Вашим примером.
    Так же, сейчас убрали из настроек названия категорий в адресе страниц. Всего на сайте порядка 30 статей.

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

    • http://nokak.ru Алексей Черкасов

      если вы в роботе пометили их как не индексировать — то со временем они просто исчезнут из поиска и будут видны только в вебмастере — как не индексированные по условиям файла роботс.

      • Olga

        скажите, а то что в поиске вместе со страницами статей находятся еще и архивы, категории, пагинации — это нормально для блога или надо так же удалить эти дубли?

        • http://nokak.ru Алексей Черкасов

          Идеально на главное странице пагинации делать текст и ее адаптировать под яндекс, а page2 page3 и т.д. закрывать

          • Olga

            спасибо большое!

  • Иван

    Добрый день, Алексей!

    Подскажите пожалуйста, сайту 1 месяц, загружено роботом 13 стр, а страниц в поиске только 1 ??? вот мой robots.txt http://do4enika.ru/robots.txt Что в нём не так????

    • http://nokak.ru Алексей Черкасов

      все ок с роботом, если контент уникальный то продолжайте писать и если после 20 статей ничего не будет — пишите в яндекс.

      • Иван

        Спасибо огромное!!! а эту строку не надо удалить? Disallow: /category/*/* может из-за этого в поиск страницы не попадают?

  • Владимир Шадринцев

    Доброго времени суток. У меня такая проблемка. Сайт на вордпресс, robots.txt еще не создавал. Но когда набираю http://stark22.ru/robots.txt — файл открывается. В корне ничего нету. В техподдержке сказали что он как-то прописан через .htaccess и что надо его редактировать через админку. Но я никак не могу найти где его редактировать. Ни в админке, ни на сервере хостинга. Может мне просто создать его с нуля и кинуть в корень? Не произойдет ли тогда конфликта?

    • http://nokak.ru Алексей Черкасов

      можно отдельно закинуть в крень сайта но в файле .htaccess удалить строку отвечающую за вывод. кстати там же можно увидеть пусть где лежит файл физически

  • Галина Дунаева

    Спасибо, Алексей! но файл скачать не удалось — ошибка 403 на хостинге. предложено обратиться к админу. сделаю вручную. приятно не только смотреть, но и слушать Вас.

  • http://oriflame-novogrudok.by Ирина Бакланова

    Добрый день подскажите как закрыть от индексации категорию wellness-detjam http://oriflame-novogrudok.by/wellness/wellness-detjam/kak-vybrat-vitaminy-rebenku-4x-let.html и чтобы статья индексировалась по только адресу http://oriflame-novogrudok.by/wellness/velnes-detjam/kak-vybrat-vitaminy-rebenku-4x-let.html. Это я рубрику переименовала, чтобы исключить дубли в урл, а яндекс теперь индексирует и старое и новое и ругается на дубли страниц. Буду вам олчень благодарна за помощь, я пробовала прописать сама, но все ровно индексируется. Disallow: /wellness/wellness-detjam/

    • http://nokak.ru Алексей Черкасов

      Вы правильно написали что закрывать нужно Disallow: /wellness/wellness-detjam/
      но у вас в роботе http://oriflame-novogrudok.by/robots.txt прописано Disallow: /wellness-detjam/ что вобщем то неправильно так как такой категории нет есть вот такая /wellness/wellness-detjam/

      • http://oriflame-novogrudok.by Ирина Бакланова

        Спасибо, это я не дождалась вашего ответа и начала экспериментировать. Через какое примерно время начнет правильно индексироваться?

        • http://nokak.ru Алексей Черкасов

          месяц — два

  • Фёдор

    Здравствуйте, Алексей. Очень нужна ваша помощь. Создал небольшую доску объявлений, зашёл на гугл проверить и в разделе Повторяющееся метоописания, увидел следующую картину: Страницы с повторяющемся метописанием —
    ad-category/azs-i-avtoservis/oborudovanie-dlya-avtoservisa
    ad-category/azs-i-avtoservis
    ads/universalnyj-stanok-dlya-pravki-diskov
    То есть, получается, что у меня дублируются, по мимо основной ещё две страницы — категорию и под категорию.
    Файл robots утановил такой же как показан у вас нечего не изменяя, причём на другом сайте, тоже на wordpress, всё работает нормально.
    Подскажите, пожалуйста, как исправить ситуацию.

  • http://hobby-house.com/ Мурга Наталья Владимировна

    Спасибо, Алексей. Все доступно и понятно. Вы замечательный учитель. Все получилось.