Robots.txt для Wordpress

Robots.txt для WordPress

В интернете можно найти много публикаций на тему, как составить лучший (или даже самый лучший) файл robots.txt для WordPress. При этом в ряде таких популярных статей многие правила не объясняются и, как мне кажется, вряд ли понимаются самими авторами. Единственный обзор, который я нашел и который действительно заслуживает внимания, — это статья в блоге wp-kama. Однако и там я нашел не совсем корректные рекомендации. Понятно, что на каждом сайте будут свои нюансы при составлении файла robots.txt. Но существует ряд общих моментов для совершенно разных сайтов, которые можно взять за основу. Robots.txt, опубликованный в этой статье, можно будет просто копировать и вставлять на новый сайт и далее дорабатывать в соответствии со своими нюансами.

Более подробно о составлении robots.txt и значении всех его директив я писал здесь. Ниже я не буду подробно останавливаться на значении каждого правила. Ограничусь тем, что кратко прокомментирую что для чего необходимо.

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

правильноДействительно самый лучший robots.txt, который я видел на данный момент, это роботс, предложенный в блоге wp-kama. Ряд директив и комментариев я возьму из его образца + внесу свои корректировки. Корректировки коснутся нескольких правил, почему так напишу ниже. Кроме того, напишем индивидуальные правила для всех роботов, для Яндекса и для Google.

User-agent: *               # общие правила для роботов, кроме Яндекса и Google, 
                            # т.к. для них правила ниже
Disallow: /cgi-bin          # папка на хостинге
Disallow: /?                # все параметры запроса на главной
Disallow: /wp-              # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: /wp/              # если есть подкаталог /wp/, где установлена CMS (если нет, 
                            # правило можно удалить)
Disallow: *?s=              # поиск
Disallow: *&s=              # поиск
Disallow: /search/          # поиск
Disallow: /author/          # архив автора
Disallow: /users/           # архив авторов
Disallow: */trackback       # трекбеки, уведомления в комментариях о появлении открытой 
                            # ссылки на статью
Disallow: */feed            # все фиды
Disallow: */rss             # rss фид
Disallow: */embed           # все встраивания
Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, 
                            # правило можно удалить)
Disallow: /xmlrpc.php       # файл WordPress API
Disallow: *utm=             # ссылки с utm-метками
Disallow: *openstat=        # ссылки с метками openstat
Allow: */uploads            # открываем папку с файлами uploads

User-agent: GoogleBot       # правила для Google (комментарии не дублирую)
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /wp/
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: */wlwmanifest.xml
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Allow: */uploads
Allow: /*/*.js              # открываем js-скрипты внутри /wp- (/*/ - для приоритета)
Allow: /*/*.css             # открываем css-файлы внутри /wp- (/*/ - для приоритета)
Allow: /wp-*.png            # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.jpg            # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.jpeg           # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.gif            # картинки в плагинах, cache папке и т.д.
Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS

User-agent: Yandex          # правила для Яндекса (комментарии не дублирую)
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /wp/
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: */wlwmanifest.xml
Disallow: /xmlrpc.php
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать 
                            # от индексирования, а удалять параметры меток, 
                            # Google такие правила не поддерживает
Clean-Param: openstat       # аналогично

# Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent 
# не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже.
Sitemap: http://site.ru/sitemap.xml
Sitemap: http://site.ru/sitemap.xml.gz

# Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS 
# то пишем протокол, если нужно указать порт, указываем). Команду Host понимает 
# Яндекс и Mail.RU, Google не учитывает.
Host: www.site.ru

В примере я не добавляю правило Crawl-Delay, т.к. в большинстве случаев эта директива не нужна. Однако если у вас крупный нагруженный ресурс, то использование этой директивы поможет снизить нагрузку на сайт со стороны роботов Яндекса, Mail.Ru, Bing, Yahoo и других (Google не учитывает). Подробнее про это читайте в статье Robots.txt.



Ошибочные рекомендации других блогеров для Robots.txt на WordPress

ошибка

  1. Использовать правила только для User-agent: *
    Для многих поисковых систем не требуется индексация JS и CSS для улучшения ранжирования, кроме того, для менее значимых роботов вы можете настроить большее значение Crawl-Delay и снизить за их счет нагрузку на ваш сайт.
  2. Прописывание Sitemap после каждого User-agent
    Это делать не нужно. Один sitemap должен быть указан один раз в любом месте файла robots.txt
  3. Закрыть папки wp-content, wp-includes, cache, plugins, themes
    Это устаревшие требования. Однако подобные советы я находил даже в статье с пафосным названием «Самые правильный robots для WordPress 2018»! Для Яндекса и Google лучше будет их вообще не закрывать. Или закрывать «по умному», как это описано выше.
  4. Закрывать страницы тегов и категорий
    Если ваш сайт действительно имеет такую структуру, что на этих страницах контент дублируется и в них нет особой ценности, то лучше закрыть. Однако нередко продвижение ресурса осуществляется в том числе за счет страниц категорий и тегирования. В этом случае можно потерять часть трафика
  5. Закрывать от индексации страницы пагинации /page/
    Это делать не нужно. Для таких страниц настраивается тег rel="canonical", таким образом, такие страницы тоже посещаются роботом и на них учитываются расположенные товары/статьи, а также учитывается внутренняя ссылочная масса.
  6. Прописать Crawl-Delay
    Модное правило. Однако его нужно указывать только тогда, когда действительно есть необходимость ограничить посещение роботами вашего сайта. Если сайт небольшой и посещения не создают значительной нагрузки на сервер, то ограничивать время «чтобы было» будет не самой разумной затеей.
  7. Ляпы
    Некоторые правила я могу отнести только к категории «блогер не подумал». Например: Disallow: /20 — по такому правилу не только закроете все архивы, но и заодно все статьи о 20 способах или 200 советах, как сделать мир лучше 🙂

Спорные рекомендации других блогеров для Robots.txt на WordPress

  1. Комментарии
    Некоторые ребята советуют закрывать от индексирования комментарии Disallow: /comments и Disallow: */comment-*.
  2. Открыть папку uploads только для Googlebot-Image и YandexImages
    User-agent: Googlebot-Image
    Allow: /wp-content/uploads/
    User-agent: YandexImages
    Allow: /wp-content/uploads/
    Совет достаточно сомнительный, т.к. для ранжирования страницы необходима информация о том, какие изображения и файлы размещены на ней.

Спасибо за ваше внимание! Если у вас возникнут вопросы или предложения, пишите в комментариях!

Оцените статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (38 оценок, среднее: 4,66 из 5)
Загрузка...
Друзья, буду благодарен за ваши вопросы, дополнения и рекомендации по теме статьи. Пишите ниже в комментариях.
Буду благодарен, если поставите оценку статье.

  • Дмитрий Егоров

    Спасибо за статью. А зачем открывать для индексации JS, CSS и cache ?

    • Denis Bisteinoff

      С 2014 года гугл https://webmasters.googleblog.com/2014/10/updating-our-technical-webmaster.html и с 2015 яндекс https://yandex.ru/blog/webmaster/21369 это стало важно. Они теперь используют эти данные при анализе страниц сайта.

      • Дмитрий Егоров

        Ничего себе. Спасибо большое! Если бы не вы, я б так и не узнал.

      • Alex264

        Доброй ночи Денис! Подскажите пожалуйста! Как я понимаю предложенный вами robots.txt это готовый файл только нужно скопировать и подставить свой сайт и ссылки на карту сайта? Я установил только, что SSL и проделал много работы. Мне осталось в robots.txt изменить директиву Host и закинуть на сайт. Если я скопирую ваш вариант, пропишу свои ссылки и закину на сайт, ничего страшного не произойдет? И нужно ли удалить ваши комментарии к пунктам или же можно их оставить? Заранее спасибо и всего доброго!

        • Denis Bisteinoff

          Доброго времени.
          1. Если у вас стандартный сайт на WordPress, да, можно просто скопировать. Но, во-первых, всегда рекомендую проверять любой robots.txt, не закрывает ли он от индексирование то, что нужно и не открывает ли то, что не нужно. Во-вторых, надо смотреть, что вообще индексируется роботом. Для каждого сайта надо писать robots.txt индивидуально, чтобы индексирование происходило максимально эффективным и оптимальным способом.
          2. Комментарии лучше удалите.

          • Alex264

            Сайт простой новостной. Несколько рубрик, страниц, картинки ну итд. Как я понимаю WordPress сейчас автоматически генерирует robots. Он был простой — 3 строки и все. Ничего больше. Я скопировал ваш вариант — убрал комментарии, подставил свои ссылки и залил в корень. Проверил в консолях Яндекса и Гугла все вроде в порядке без ошибок.

          • Denis Bisteinoff

            Проверьте в Яндекс.Вебмастере и Google Search Console, что все нужные веб-документы (ссылки) индексируются.

      • Alex264

        В Яндексе закрыты feed, tag, прямые ссылки на некоторые старые картинки. Немножко еще не разобрался. Роботс показывает без ошибок. Гугл ругается на эти 2 строки —
        Clean-Param: utm_source&utm_medium&utm_campaign
        Clean-Param: openstat

        • Denis Bisteinoff

          Вы не туда смотрите. Такая проверка покажет только наличие ошибок в синтаксисе. В общем, лучше уже проконсультироваться со специалистом.
          Гугл — да, всегда ругается на эти две строчки. Именно потому, что он не знает таких директив и считает, что вы неправильно написали команду. Но эти строчки к гуглу и не относятся. Это для яндекса.

  • Denis Bisteinoff

    Спасибо за вопрос!
    С 2014 года гугл https://webmasters.googleblog.com/2014/10/updating-our-technical-webmaster.html и с 2015 яндекс https://yandex.ru/blog/webmaster/21369 это стало важно. Они теперь используют эти данные при анализе страниц сайта.

  • Геральт Бердников

    Спасибо) До этого помогла общая статья для настройки robots для CMS WebCanape. Теперь для личного проекта настроил по твоей инструкции

    • Denis Bisteinoff

      Спасибо за отзыв!
      Рад, что статья полезная 🙂

  • Den

    Есть только одна лажа, что если открывается *.css (спасибо блин гуглу), то боты лезут на эти страницы, причем несуществующие частенько. Был у меня когда-то плагин для голосования, я его удалил. Теперь частенько получаю в ithemes security что на 404 страницу попадают якобы с какой-то моей страницы или из гугла вот сюда:
    /wp-content/plugins/wp-polls/polls-css.css
    Думаю, если бы это было все закрыто, то не было бы таких приколов. Откуда оно ищет папку, которой уже месяц как не существует…

    • Denis Bisteinoff

      Это же частный случай, закрывать все CSS ни в коем случае нельзя.
      Но если есть что-то лишнее, то можно прописать Disallow. Здесь: Disallow: /wp-polls/polls-css.css

      • Den

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

        • Denis Bisteinoff

          А что в логах? Прогоняли сайт через какой-нибудь сканер, наподобие SEO Frog или NetPeak? Достаточно, чтобы где-то осталась прописана ссылка, и ее будет считывать crawler и постоянно отправлять на индексацию. Ну и такой вопрос: это действительно создает ощутимую нагрузку на сайт?

          • Den

            Установлен плагин ithemes security вот он 404 ошибки и показывает на несуществующие страницы. Да, когда-то прогонял через сканеры, обнаружил много интересного (один счетчик стоял, у которого скрипт с лишними ссылками был).
            Нагрузку 404 не создает, но в разное время дня наблюдается перегрузка сайта на хостинге и это напрягает, не могу понять в чем дело, ищу все возможные варианты. На вирусы проверял, искал уже все что можно. В среднем ресурс посещает 4000 человек в день и не хотелось бы сбоев в работе.

          • Den

            Еще наблюдал такую картину. Онлайн пользователей на сайте по 70 человек где-то, +-20. Установил Jetpack и посетителей не больше 40 онлайн. Удаляю плагин и опять полно людей, все активные, общаются. Что за дела, не могу понять.

          • Denis Bisteinoff

            С данными плагинами дело не имел. Тоже сторонник минимум плагинов использовать, если это возможно сделать без необоснованных трудозатрат.
            Я бы проверил: 1) через системы статистики, какая часть посетителей роботы; 2) корректность самого robots.txt , в частности, что именно открыто для индексации для GoogleBot и Yandex. Недавно приятель оказался в *** (неприятном положении), т.к. поддержка яндекса выслал ему код вида
            User-agent: Yandex
            Allow: путь к фиду
            Ну и после того, как он это вставил, естественно яндекс стал индексировать абсолютно все ссылки на сайте — нагрузка взлетела в 4-5 раз. Даже самого дорого VIP тарифа на используемом хостинге оказалось недостаточно.

  • Евгений Кусков

    На некоторых сайтах видел в robots.txt такие строки:
    Allow: /wp-content/plugins
    Allow: /wp-content/themes
    Нужно ли разрешать ботам посещать данные разделы?

    • Denis Bisteinoff

      Нет.
      Это делается с целью открыть js, css и изображения в папках плагинов и тем. Однако вместе с тем дается доступ вообще ко всем файлам в этих папках, что не нужно.
      Все, что нужно открыть/закрыть в этих папках делается с помощью правил:
      Disallow: /wp-
      Allow: */uploads
      Allow: /*/*.js
      Allow: /*/*.css
      Allow: /wp-*.png
      Allow: /wp-*.jpg
      Allow: /wp-*.jpeg
      Allow: /wp-*.gif

      • Евгений Кусков

        Спасибо огромное за ответ, и очень хорошую и качественную статью. Сегодня пол дня убил на то, чтобы правильно настроить robots.txt пока не попал на ваш сайт!

        • Denis Bisteinoff

          И вам спасибо за отзыв! Рад, что помогло.

  • Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ — для приоритета)

    Что значит «/*/ — для приоритета» ?

    почему именно /*/*.js а не *.js ?

    • Denis Bisteinoff

      На примере:
      Если
      Allow: *.js
      Disallow: /ajax/
      То к url /ajax/script.js применится правило disallow, потому что указан больший уровень вложенности. Чтобы открыть все .js, добавляем /*/*

  • Andrey Guru

    Отличная статья. Доработал свой файл роботса, начитавшись на различных блогах.
    Но все же есть сомнения, что у меня то-то не то.
    Как профессинал оените пожалуйста. Спасибо!
    https://uploads.disquscdn.com/images/f585c18a2d5b49902ea686f930cd0621ba2d7209ea50813f78ad0070a2cd9363.jpg

    • Denis Bisteinoff

      Спасибо за отзыв!
      А почему для Yandex и GoogleBot разные правила? Есть какие-то цели, почему не закрываете /author/, /feed/, /tag/ и т.д. для GoogleBot?
      Почему решили закрыть доступ к роботам директа и adwords? Они заходят на сайт, чтобы оценить качество страницы, что в итоге влияет на цену клика. Опять же, если контекстная реклама не идет, то соотв. роботы не заходят на сайт.
      Ну и правила для ботов Googlebot-Image и YandexImages излишни. Эта папка у вас и так открыта для всех роботов яндекса и гугл.

      • Andrey Guru

        Все удалил и сделал как у Вас. Но Несколько ошибок со шрифтами. Не подскажете, как исправить?
        https://uploads.disquscdn.com/images/2ba055d41a065d61b340224d83ecaaf5830b1913d1dda93e64be38d510e092ab.jpg

        • Denis Bisteinoff

          Аналогично, как с изображениями и скриптами:
          для всех user-agent, для которых закрывали от индексации /wp-, пропишите:
          Allow: /wp-*.ttf
          Allow: /wp-*.woff

          Скорее всего, в папке со шрифтами у вас будет еще несколько файлов с другими расширениями. Если такие есть, то добавьте еще правила по той же аналогии.

          • Andrey Guru

            Спасибо большое. Лишь на этом блоге сумел решить все свои проблемы с файлом роботса!

            Первые 2 ошибки надеюсь не из-за robots.txt

          • Denis Bisteinoff

            Рад помочь

  • Miraslau Pats

    Отличная статья! Автору большой краба!

    • Denis Bisteinoff

      Спасибо! 🙂

  • Евгений

    Хороший анализ. У меня вопросик. Я хотел забросить на сервер robots этот. Посмотрел по ссылке — url есть такой, и там три строчки в роботсе. Искал роботс на сервере — не нашёл, хоть убей. Как может быть так,что на сервере файла нет, а url есть и не пустой?
    Не будет конфликта, если я новый закину?
    Спасибо.

    • Denis Bisteinoff

      Спасибо!
      Конфликта не будет. Вопрос, какой из них будет показываться. Возможно, у вас стоит какой-то плагин, который создает виртуальный robots.txt.

      • Евгений

        Спасибо, проверю. Админку я излазил, плагина не нашёл.) Поставлю, посмотрим. У сайта неплохой траст, не хочется особо рисковать.)

  • Алексей Козлов

    Доброго времени суток. Помогите мне пожалуйста. Правльно ли я настроил файл роботс.
    За ранее благодарен за ответ

    https://uploads.disquscdn.com/images/f4e7547975f7097feaf9f5c1b89f5c68dc9ec495740b0563ef43bad99d0dd882.png

    • Denis Bisteinoff

      Алексей, вы можете посмотреть информацию в статье + посмотреть технические особенности вашего сайта; вебмастера, что индексируется поисковиками; какие страницы проиндексированы в поиске. Если есть что-то лишнее — скрыть, если каких-то страниц нет, добавить.
      Это анализ примерно на 40-60 минут.

  • Andrey Guru

    Подскажите пожалуйста насчет закрытия категорий.

    Вопрос по игровому сайту.

    Если у добавляемой игры на сайт несколько категорий, то ее появление на различных страницах будет считаться дублем?
    Например, игра Дарк Орбит — браузерная, космическя, шутер. Если прописать 3 разные метки или категории, то она появится в трех местах по трем разным адресам.

    Как быть?

    А если появляется небольшой анонс игры (картинка и 1 предложение из статьи) на этих страницах, то уже не так страшно в плане сео?
    Заранее спасибо.

    • Denis Bisteinoff

      Если есть несколько страниц (URL) с одним и тем же содержанием, используйте мета-тег rel=canonical для определения канонической.

  • Иван Доброславин

    А почему закрываем ссылки с utm-метками?

    Почему отдельно для Яндекса и Гугла, а для Маила, Рамблера, Бинга не нужно?

    • Denis Bisteinoff

      Если когда-либо запустите рекламу и ссылки разметите utm-метками, потом в индексе могут появиться дубли с utm-метками. Не уточнял, какой здесь действует механизм, откуда они появляются. На практике такое не редко видел.

      Маил, Рамблер, Бинг — если есть желание, пишите под них тоже. Точнее, под роботов у рамблера уже несколько лет нет — они используют технологию яндекса. Майл — как-то напополам свои результаты и результаты яндекса. Про бинг наверняка не знаю — наверное, есть свои роботы.

      • Иван Доброславин

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

        • Denis Bisteinoff

          В этом случае да. Скорее всего, количество ссылок будет не очень большое, удобнее будет воспользоваться директивой Allow для этих страниц. Но вообще, первый раз столкнулся с такой ситуацией — расскажите, для каких целей ставите utm-метки? Реферал-то ведь все равно будет передаваться в систему статистики.

          • Иван Доброславин

            У меня на инфосайте баннеры — вверху — в шапке, — и справа. Также в тексте постов будут ссылки (точнее уже есть, но без UTM-меток). Я найму программиста, он сделает так, чтобы utm-метки генерировались автоматически по-шаблону при отображении страницы. В итоге пользователи переходят на лендинг, оставляют заявки. На лендинге ютмки фиксируются при отправке заявки. Далее можно узнать какие страницы как генерят трафик и какие баннеры (будут разные для разных страниц) привлекают большее внимание.

            Я пока что отложу utm-метки на пару недель, нужно подробнее узнать об этом, чтобы не навредить 🙂 Хорошо, что наткнулся на ваш сайт 🙂

          • Denis Bisteinoff

            Так, т.е. ссылки с utm-метками будут только на одну страницу — на лендинг. Тогда нужно сделать так, как в моем примере. Если лендинг на отдельном домене или поддомене — то это как отдельный сайт, добавьте его через панели гугл/яндекс вебмастер, и он будет проиндексирован. Если это url вида site.ru/landing/ , то добавьте где-нибудь в подвале ссылку на эту страницу без utm-меток, чтобы по ней наверняка прошел робот.

          • Иван Доброславин

            Спасибо!

  • Спасибо большое за статью! Вопрос: Что делать с кэшем стилей и скриптов? Например:
    /wp-content/cache/min/1/5ab58a971c93f677eef51fb383ccd272.css
    Спасибо

    • Denis Bisteinoff

      Оставляем открытыми к индексированию. Не важно, из какого файла робот возьмет информацию о стилях и скриптах. Главное, чтобы для бота не был закрыт доступ к нужным файлам, иначе он может не получить часть информации для анализа веб-документа.

  • Владимир Майборода

    Спасибо за статью! Вопрос по предложенному robots. Добавил к себе на сайт. Яндекс воспринял дружелюбно. Google воспринимает ошибками две строчки:
    Clean-Param: utm_source&utm_medium&utm_campaign
    Clean-Param: openstat

    • Denis Bisteinoff

      Почитайте в комментариях. Уже несколько раз отписывался по этому вопросу. И в статье информация об этом тоже есть.

      • Владимир Майборода

        Спасибо!

  • Andrey Guru

    Здравствуйте, а нормально, что изображения оказываются закрыты в роботсе? Как так?
    https://uploads.disquscdn.com/images/0dd79771c363e2d90736c88d54b49f3c3ed9e1b631ae4bf3e27b4e53168a444e.jpg

    • Denis Bisteinoff

      Для гугл и яндекс не нормально. Для этих роботов все изображения должны быть открыты. В статье писал об этом.

      • Andrey Guru

        Но я ставил роботс, как тут. В чем может быть проблема?

        • Denis Bisteinoff

          Проверьте в Google Search Console и Яндекс.Вебмастере, что роботы этих поисковых систем индексируют картинки. Если нет, посмотрите, какое именно правило у вас не срабатывает и внесите необходимые корректировки.

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

          Кстати, через какой сервис вы смотрите информацию?

          • Andrey Guru

            Через Bing (bing_com/webmaster/tools/mobile-friendliness)
            Вот интересно то, что указанные Бингом картинки и скрипты индексируются по проверке, которую Вы указали попробовать. Это Bing глючит или все же есть проблема. Подскажите пожалуйста, как еще раз убедиться, что эти файлы не заблокированы?

          • Denis Bisteinoff

            Нет, Bing — это другая поисковая система. Если нужно оптимизировать сайт еще и под Bing, то можно написать правила еще отдельно для него. Здесь подробнее писал, как это сделать: http://seogio.ru/robots-txt/

  • Andrey Guru

    А sitemap.xml.gz только тогда прописывать, когда есть плагин Google XML Sitemap ?

    Я сменил его и в индекс попали такие 404 страницы
    https://uploads.disquscdn.com/images/3ed2bf8811a7d2e1d8632e42c3aced01639d8f9dae51342c034047e4f409c3e8.jpg

    • Denis Bisteinoff

      sitemap.xml.gz нужно прописывать тогда, когда есть корректный файл sitemap.xml.gz

      По поводу появившихся url, которые стали отдавать ошибку 404 — нужно смотреть, из-за чего они появились. Может быть, до этого был другой плагин генерации xml-карт сайта, плагин поменяли — url изменились.

  • Vadik

    Мне помогло, Яндексу понравилось) Спасибо. Статья очень подробная.

    • Denis Bisteinoff

      очень рад, спасибо, что не забыли оставить комментарий!

  • Подскажите пожалуйста. У меня на странице автор — профиль человека. И я хочу что б каждый профиль индексировался.
    На сайте страница автора выглядит так: сайт.ру/author/логин
    Надо сделать так? Allow: /author/

    • Denis Bisteinoff

      Просто удалите везде строчки Disallow: /author/ — страницы такого вида будут индексироваться.
      Потом на всякий случай проверьте через инструменты в вебмастерах, чтобы убедиться, что эти страницы точно индексируются.

      • спасибо друг

        • Denis Bisteinoff

          рад помочь

  • Сергей Пьявкин

    Подскажите как закрыть дубли по типу http://сайт.ru/текст/текст-2 и убрать из поиска страницы с 404 редиректом

    • Denis Bisteinoff

      а почему такие дубли возникают? может быть, такие страницы лучше просто физически удалить + настроить 301-редирект на основную?

      404 — это не редирект, это ошибка, что такой страницы не существует. Из поиска они удалятся сами по себе, как только робот переобойдет эти ссылки. Можно еще воспользоваться функционалом «Удалить URL» в Яндекс.Вебмастере и Google Search Console. Это позволит ускорить процесс. Но страница должна физически быть удалена (отдавать код ответа 404).

      Вообще, если какие-то страницы удалены, желательно настроить 301-редирект на аналогичную страницу.

  • Alexandr Timonin

    Статья класс!!! Вопрос: могу я на своём сайте поменять Robots.txt . Сайту больше года.

    • Denis Bisteinoff

      Спасибо!
      Если у вас сайт не на какой-то экзотической платформе, то это делается очень просто. Если wordpress, то все ОК — ваш программист сделает это за 5 минут.
      Прежде чем менять robots еще раз убедитесь, что после изменений в вашем конкретном случае все будет индексироваться правильно.

  • Dmitry Saloff

    Спасибо за статью)

    С настройкой robots.txt правда случилось одно затруднение.
    Когда в вордпрессовском плагине All in One SEO нажимаешь на проверку robots, он подчеркивает строчку с Host красным и пишет «недопустимый синтаксис».

    При этом проверка в Яндекс Вебмастере ни одной ошибки не показывает.
    Это глюк плагина, не знакомого с данной командой, либо какая то проблема?

    https://uploads.disquscdn.com/images/8596ff9e6efde9678d4324b4148392d56a35bfa16fe15e1c3a269e5c5b7318d7.jpg

    • Denis Bisteinoff

      Проблем нет.

      Плагин All In One SEO не имеет отношения к Яндексу и Гугл. Поэтому проверять нужно в вебмастерах. Кроме того, наверняка разработчики не из России, и они не в курсе о существовании Яндекса и директивы Host.

      (Кстати, гугл хотя и не учитывает эту директиву, но ошибкой ее не считает).

      • Dmitry Saloff

        Успокоили) Большое спасибо за ответ.

  • Артем Котов

    Не понял. Написано, что не надо закрывать темы, кеш и т.д. Но мы же закрываем все это на корню, закрывая /wp-. Или имелось в виду что это не надо закрывать поштучно? А можно закрыть одной строчкой. Поясните пожалуйста.

    • Denis Bisteinoff

      В этих папках много разных файлов может быть. Мы сначала закрываем все, а потом открываем нужное с помощью Allow (js, css скрипты, файлы изображений)

  • Denis Bisteinoff

    В robots.txt вы сможете закрывать ссылки для индексирования роботом на своем сайте. С других сайтов — нет. В вашем примере не будут индексироваться такие ссылки как yoursite .ru/keys.so=8765 (вместо yoursite подставьте имя домена вашего сайта).

    При этом внешние ссылки все-таки рекомендуется закрывать, особенно на ресурсы, которые не соответствуют вашей тематике (например, у вас сайт автосервиса, а ссылка стоит на вашего партнера, продающего системы автополива газонов).

    Ссылки на другие сайты потенциально переносят часть веса страницы, где они размещены, на эти другие сайты. Яндекс и Гугл периодически заявляют, что они якобы на это не обращают особое внимание, но я пока не видел убедительных доказательств, что это действительно так. Поэтому лучше пользоваться командами … для Яндекса и rel=»nofollow» для Google. Например, Наш партнер системы автополива газонов

  • Владимир С

    Здравствуйте. Пожалуй одна из лучших статей по написанию «робота». Но есть вопросик. На две крайние строчки для бота яндекса, очень сильно ругается «гугл консоль» и пишет ошибка синтаксиса.

    • Denis Bisteinoff

      Уже где-то отвечал на этот вопрос.
      Гугл консоль боится, что мы написали какую-то команду с ошибкой. Не знает гугл таких слов 🙂 Вот и предупреждает, чтобы мы проверили.

      И спасибо за высокую оценку статьи!

  • Denis Bisteinoff

    С настройками robots.txt это точно не связано. Сканируйте — откуда источники этих ссылок. Может, canonical неправильно настроены или еще где-то в href генерируется ссылка некорректно. Например, так: href=»/http://…..»

    • Alexandr Semenov

      Так как просканировать??? И и не могу понять откуда они взялись. Они появились именно когда добавил виджет с кодом

      Так выглядит

      • Denis Bisteinoff

        Надо, чтобы специалист смотрел. В фрагменте кода, который присылали, проблем не видно.
        Есть разные программы-сканеры. Правда, знаю только платные — NetPeak, SeoFrog.

  • Нужно пробовать, файл очень подробный, спасибо)

  • Павел Таскаев

    Спасибо за отличнейший материал, сделал по вашей рекомендации, буду ждать результат!

    • Denis Bisteinoff

      Рад, что помогло. Не забывайте, что поисковые системы учитывают сотни параметров. Robots влияет именно на то, что именно будет робот индексировать на сайте.

  • artem zaytsev

    Зайдите на yoast.com/robots.txt. Обратите внимание на сами директивы, а их всего пара штук, потом прочтите статью, которая указана там. Наверно эти ребята знают, что и как надо. Если коротко, то в вордпрессе уже из коробки на уровне ядра установлено, что должно индексироваться, а что нет. Поправьте меня если что, мог не так понять прочитанное.

    За статью спасибо. Самый объёмный свод практик получился.

    • Denis Bisteinoff

      С WP надо быть внимательным, что именно индексируется. Здесь приведен наиболее оптимальный вариант для общего случая. Учтите, что в разных темах могут быть разные настройки. WP очень гибок.

      Что касается yoast — там несколько моментов. Мы можем поразмышлять. Во-первых, у них может быть закрыто все лишнее другими способами (например, с помощью мета-тегов noindex/nofollow). Во-вторых, с учетом уровня трастовости сайта, правка роботса им может быть просто не нужна. В-третьих, возможно, технической стороной SEO на самом сайте никто не занимается — владельца устраивает, как сайт ищется, и все.

      • artem zaytsev

        Благодарю за разъяснения. Вполне вероятно, что это так. Я делал свои выводы на основе топовых известных мне сайтов на WP, которым, возможно, с этим не так стоит заморачиваться.

  • Как понять? Disallow: /?
    Что значит все «параметры запроса на главной»?

    • Denis Bisteinoff

      Например, если у вас генерируются страницы вида site.ru/?s=поисковый%20запрос или site.ru/?sort=asc или site.ru/?p=25 , то они не будут индексироваться.
      Если у вас есть страницы, которые генерируются через параметры, и которые нужно индексировать, нужно вносить корректировки. Просто так использовать Disallow: /? нельзя. Но вообще, их лучше сразу переделать на ЧПУ. Страницы с URL через параметры «некомильфо» ни для пользователей, ни для поисковых роботов.

  • Alexstr

    Сделал по Вашим рекомендациям. Буду ждать результатов.Спасибо

  • Я читал статью от камы раньше этой, и ваша статья, как и камы, немного завела меня в ступор. Вы пишите, что блок инклуда — это устаревшие требования, Но, сами прописываете Disallow: /wp- и даёте комментарий. Лично у меня, при настройке robots.txt по вашим рекомендациям, карта сайта в сёрч консоле выдала ошибку, причина — блокировка инклуда. Бот видит адаптивность нормально, но к некоторым файлам всё таки у него нет доступа. Меня вообще бесит факт отсутствия ошибок при проверке сёрч панелью файла robots.txt, при том, что в карте сайта ошибки, как так может быть…? По факту я имею блокировку системного подкаталога, при проверке robots.txt google молчит, проверка ботом при сканировании выдаёт статус «частично выполнено», при подробном анализе — блокировка инклудса…. бред сивой кобылы господа. Кто прав, гугл или мы?)))

    • Denis Bisteinoff

      Конечно, Гугл прав.
      Если к каким-то файлам нет доступа — смотрите причины и открывайте доступ, если нужно, чтобы их видел робот.
      В общем случае, прописывание команды Disallow: /wp- закрывает от индексирования все содержимое папки инклуда. Но команды Allow: /*/*.js и т.п. открывают для индексации скрипты, изображения и т.д. Это прописывается для Яндекса и Гугл, поскольку эти поисковые системы учитывают работу этих файлов при анализе содержимого сайта. Если уровня вложенности недостаточно, возможно, на вашем сайте нужно добавить уровень вложенности Allow: /*/*/*.js

      Нельзя «тупо» копировать robots.txt. Нужно все равно тестировать и проверять на каждом сайте индивидуально. Даже несмотря на то, что это все от же WordPress.