WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Настраиваем файл robots.txt для WordPress

В этой статье пример оптимального, на мой взгляд, кода для файла robots.txt под WordPress, который вы можете использовать в своих сайтах.

Для начала, вспомним зачем нужен robots.txt — файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).

robots

Вариант 1: оптимальный код robots.txt для WordPress

User-agent: *
Disallow: /cgi-bin          # классика...
Disallow: /?                # все параметры запроса на главной
Disallow: /wp-              # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s=              # поиск
Disallow: *&s=              # поиск
Disallow: /search           # поиск
Disallow: /author/          # архив автора
Disallow: *?attachment_id=  # страница вложения. Вообще-то на ней редирект...
Disallow: */embed           # все встраивания
Disallow: */page/           # все виды пагинации
Allow: */uploads            # открываем uploads
Allow: /*/*.js              # внутри /wp- (/*/ - для приоритета)
Allow: /*/*.css             # внутри /wp- (/*/ - для приоритета)
Allow: /wp-*.png            # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.jpg            # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.jpeg           # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.gif            # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.svg            # картинки в плагинах, cache папке и т.д.
Allow: /wp-*.pdf            # файлы в плагинах, cache папке и т.д.
#Disallow: /wp/             # когда WP установлен в подкаталог wp

Sitemap: http://example.com/sitemap.xml     
Sitemap: http://example.com/sitemap2.xml    # еще один файл
#Sitemap: http://example.com/sitemap.xml.gz # сжатая версия (.gz)

# Версия кода: 1.1
# Не забудьте поменять `site.ru` на ваш сайт.

Разбор кода:

  1. В строке User-agent: * мы указываем, что все нижеприведенные правила будут работать для всех поисковых роботов *. Если нужно, чтобы эти правила работали только для одного, конкретного робота, то вместо * указываем имя робота (User-agent: Yandex, User-agent: Googlebot).

  2. В строке Allow: */uploads мы намеренно разрешаем индексировать страницы, в которых встречается /uploads. Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp-, а /wp- входит в /wp-content/uploads. Поэтому, чтобы перебить правило Disallow: /wp- нужна строчка Allow: */uploads, ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow: может быть "до" или "после" Disallow:.

  3. Остальные строчки запрещают роботам "ходить" по ссылкам, которые начинаются с:

    • Disallow: /cgi-bin - закрывает каталог скриптов на сервере
    • Disallow: /feed - закрывает RSS фид блога
    • Disallow: /trackback - закрывает уведомления
    • Disallow: ?s= или Disallow: *?s= - закрыавет страницы поиска
    • Disallow: */page/ - закрывает все виды пагинации
  4. Правило Sitemap: http://example.com/sitemap.xml указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.

  5. В строке Host: site.ru мы указываем главное зеркало сайта. Если у сайта существуют зеркала (копии сайта на других доменах), то чтобы Яндекс индексировал всех их одинаково, нужно указывать главное зеркало. Директива Host: понимает только Яндекс, Google не понимает! Если сайт работает под https протоколом, то его обязательно нужно указать в Host: Host: http://example.com

    Из документации Яндекса: «Host — независимая директива и работает в любом месте файла (межсекционная)». Поэтому её ставим наверх или в самый конец файла, через пустую строку.

Не рекомендуется исключать фиды: Disallow: */feed

Потому что наличие открытых фидов требуется например для Яндекс Дзен, когда нужно подключить сайт к каналу (спасибо комментатору «Цифровой»). Возможно открытые фиды нужны где-то еще.

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

Директива Host для Яндекса больше не нужна

Яндекс полностью отказывается от директивы Host, её заменил 301 редирект. Host можно смело удалять из robots.txt. Однако важно, чтобы на всех зеркалах сайта стоял 301 редирект на главный сайт (главное зеркало).

меню

Это важно: сортировка правил перед обработкой

Yandex и Google обрабатывает директивы Allow и Disallow не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:

User-agent: *
Allow: */uploads
Disallow: /wp-

будет прочитана как:

User-agent: *
Disallow: /wp-
Allow: */uploads

Таким образом, если проверяется ссылка вида: /wp-content/uploads/file.jpg, правило Disallow: /wp- ссылку запретит, а следующее правило Allow: */uploads её разрешит и ссылка будет доступна для сканирования.

Чтобы быстро понять и применять особенность сортировки, запомните такое правило: «чем длиннее правило в robots.txt, тем больший приоритет оно имеет. Если длина правил одинаковая, то приоритет отдается директиве Allow.»

меню

Вариант 2: стандартный robots.txt для WordPress

Не знаю кто как, а я за первый вариант! Потому что он логичнее — не надо полностью дублировать секцию ради того, чтобы указать директиву Host для Яндекса, которая является межсекционной (понимается роботом в любом месте шаблона, без указания к какому роботу она относится). Что касается нестандартной директивы Allow, то она работает для Яндекса и Гугла и если она не откроет папку uploads для других роботов, которые её не понимают, то в 99% ничего опасного это за собой не повлечет. Я пока не заметил что первый robots работает не так как нужно.

Вышеприведенный код немного не корректный. Спасибо комментатору "robots.txt" за указание на некорректность, правда в чем она заключалась пришлось разбираться самому. И вот к чему я пришел (могу ошибаться):

  1. Некоторые роботы (не Яндекса и Гугла) — не понимают более 2 директив: User-agent: и Disallow:

  2. Директиву Яндекса Host: нужно использовать после Disallow:, потому что некоторые роботы (не Яндекса и Гугла), могут не понять её и вообще забраковать robots.txt. Cамому же Яндексу, судя по документации, абсолютно все равно где и как использовать Host:, хоть вообще создавай robots.txt с одной только строчкой Host: www.site.ru, для того, чтобы склеить все зеркала сайта.

3. Sitemap: межсекционная директива для Яндекса и Google и видимо для многих других роботов тоже, поэтому её пишем в конце через пустую строку и она будет работать для всех роботов сразу.

На основе этих поправок, корректный код должен выглядеть так:

User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-json/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: */embed
Disallow: */page/
Disallow: /cgi-bin
Disallow: *?s=
Allow: /wp-admin/admin-ajax.php

Host: site.ru

User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-json/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: */embed
Disallow: */page/
Disallow: /cgi-bin
Disallow: *?s=
Allow: /wp-admin/admin-ajax.php

Sitemap: http://example.com/sitemap.xml
меню

Дописываем под себя

Если вам нужно запретить еще какие-либо страницы или группы страниц, можете внизу добавить правило (директиву) Disallow:. Например, нам нужно закрыть от индексации все записи в категории news, тогда перед Sitemap: добавляем правило:

Disallow: /news

Оно запретить роботам ходить по подобным ссылками:

  • http://example.com/news
  • http://example.com/news/drugoe-nazvanie/

Если нужно закрыть любые вхождения /news, то пишем:

Disallow: */news

Закроет:

  • http://example.com/news
  • http://example.com/my/news/drugoe-nazvanie/
  • http://example.com/category/newsletter-nazvanie.html

Подробнее изучить директивы robots.txt вы можете на странице помощи Яндекса (но имейте ввиду, что не все правила, которые описаны там, работают для Google).

меню

Проверка robots.txt и документация

Проверить правильно ли работают прописанные правила можно по следующим ссылкам:

меню

Crawl-delay - таймаут для сумасшедших роботов (с 2018 года не учитывается)

Яндекс

Теперь и Яндекс перестал учитывать Crawl-delay:

Проанализировав письма за последние два года в нашу поддержку по вопросам индексирования, мы выяснили, что одной из основных причин медленного скачивания документов является неправильно настроенная директива Crawl-delay в robots.txt […] Для того чтобы владельцам сайтов не пришлось больше об этом беспокоиться и чтобы все действительно нужные страницы сайтов появлялись и обновлялись в поиске быстро, мы решили отказаться от учёта директивы Crawl-delay.

Когда робот Яндекса сканирует сайт как сумасшедший и это создает излишнюю нагрузку на сервер. Робота можно попросить «поубавить обороты».

Для этого нужно использовать директиву Crawl-delay. Она указывает время в секундах, которое робот должен простаивать (ждать) для сканирования каждой следующей страницы сайта.

Для совместимости с роботами, которые плохо следуют стандарту robots.txt, Crawl-delay нужно указывать в группе (в секции User-Agent) сразу после Disallow и Allow

Робот Яндекса понимает дробные значения, например, 0.5 (пол секунды). Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но позволяет ускорить обход сайта.

Примеры:

User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Crawl-delay: 1.5 # таймаут в 1.5 секунды

User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Allow: /wp-*.gif
Crawl-delay: 2 # таймаут в 2 секунды
Google

Робот Google не понимает директиву Crawl-delay. Таймаут его роботам можно указать в панели вебмастера.

меню

Я спросил у Яндекса...

Задал вопрос в тех. поддержку Яндекса насчет межсекционного использования директив Host и Sitemap:

Вопрос:

Здравствуйте!
Пишу статью насчет robots.txt на своем блоге. Хотелось бы получить ответ на такой вопрос (в документации я не нашел однозначного "да"):

Если мне нужно склеить все зеркала и для этого я использую директиву Host в самом начале фала robots.txt:

  Host: site.ru

  User-agent: *
  Disallow: /asd

Будет ли в данном примере правильно работать Host: site.ru? Будет ли она указывать роботам что site.ru это основное зеркало. Т.е. эту директиву я использую не в секции, а отдельно (в начале файла) без указания к какому User-agent она относится.

Также хотел узнать, обязательно ли директиву Sitemap нужно использовать внутри секции или можно использовать за пределами: например, через пустую строчку, после секции?

  User-agent: Yandex
  Disallow: /asd

  User-agent: *
  Disallow: /asd

  Sitemap: http://example.com/sitemap.xml

Поймет ли робот в данном примере директиву Sitemap?

Надеюсь получить от вас ответ, который поставит жирную точку в моих сомнениях.

Спасибо!

Ответ:

Здравствуйте!

Директивы Host и Sitemap являются межсекционными, поэтому будут использоваться роботом вне зависимости от места в файле robots.txt, где они указаны.

--
С уважением, Платон Щукин
Служба поддержки Яндекса

меню

Заключение

Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).

Ходят слухи, что Google иногда может проигнорировать правила в robots.txt и взять страницу в индекс, если сочтет, что страница ну очень уникальная и полезная и она просто обязана быть в индексе. Однако другие слухи опровергают эту гипотезу тем, что неопытные оптимизаторы могут неправильно указать правила в robots.txt и так закрыть нужные страницы от индексации и оставить ненужные. Я больше склоняюсь ко второму предположению...

Статья на эту тему уже была на блоге wp-info.ru, здесь описан альтернативный вариант кода для файла robots.txt.

На сервисе avi1.ru Вы можете уже сейчас приобрести продвижение SMM более чем в 7 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.

177 комментов
Полезные 23 Вопросы 5 Все
  • Оксана cайт: www.doctordiabetes.ru

    Здравствуйте. В новой версии гуглвебмастер начал ругаться что в роботсе закрыта карта сайта

    Посмотрите пожалуйста: http://www.doctordiabetes.ru/robots.txt
    В чем ошибки. Буду очень благодарна. просто траф из гугла исчез полностью.

    Ответить1.2 года назад #
    • Kama7482

      А где вы видите что карта сайта закрыта, я не вижу, и проверил анализатор robots.txt показывает что sitemap.xml открыт в роботсе...

      Ответить1.2 года назад #
      • Оксана cайт: www.doctordiabetes.ru

        Спасибо Вам огромное за быстрый ответ.

        Я то и не вижу в роботс что закрыт. А гугл видит и сигналит такими сообщениями (скрин1).. при переходе на сообщение выдает ошибку о закрытой карте сайта. (скрин 2)

        и Вот выше мой скрин в старой версии имеет печальный грвфик проиндексировано 206
        заблокировано 204. я честно говоря не пойму где искать ошибку.
        Что еще можно проверить? Буду очень благодарна за помощь.

        Ответить1.2 года назад #
        • @ campusboy3345 cайт: www.youtube.com/c/wpplus

          В ответе сервера есть такой атрибут:

          Он и говорит роботу не индексировать. Кто и зачем это добавляет - не разбирался. Посмотрите в настройки плагина, который генерирует вам карту, может там есть что-то с этим связанное.

          Могу лишь с уверенностью сказать, что robots.txt здесь не причём.

          1
          Ответить1.2 года назад #
          • Оксана cайт: www.doctordiabetes.ru

            Спасибо Вам огромное!
            А то хотела уже роботс править.
            В генераторе нашла такую пометочку скрин1
            и изменила стало скрин 2.
            Не могли бы Вы проверить еще информацию ответа сервера - ушла ли эта ошибка?
            я просто не очень понимаю где это можно проверить. Буду Вам очень благодарна.
            Но опять таки вопрос:
            в яв - ни одной ошибки.
            гугл - сигналит что все закрыто от индекса. тот верхний скрин - отправлено в индекс206/закрыто 204?
            но все же с гугла траф пробивается как-то - была ли это главная причина отсутствия трафа?

            Ответить1.2 года назад #
            • @ campusboy3345 cайт: www.youtube.com/c/wpplus

              Нет, ничего не изменилось. То, что вы сделали вряд ли помогло. Там ведт написано, что делает тот виджет. Не понимаете по английски - переводчики теперь всем доступны)) Я могу Вам сказать так - не обращайте внимание. Данная карта сайта для сайтов с хорошей внутренней перелиновкой - рудимент. Теперь у Поисковых Систем вполне достаточно мощностей, чтобы индексировать сайт без "посторонней мощностей". У вас на сайте внутренняя перелиновка достаточная, чтобы он нашёл всё что нужно.

              1
              Ответить1.2 года назад #
              • Оксана cайт: www.doctordiabetes.ru

                Спасибо Вам большое за ответ.
                извините что немного уже не по теме топика.
                нужна помощь по указанному сайту. поправить ошибки некоторые. может кто возьмется. укажите стоимость работы..

                1. есть скрытые ссылки в шаблоне. не могу найти где спрятаны. искала чем только могла. Ссылка находится в верху экрана, просто с помощью css ее отодвинули когда ставили шаблон. с установщиком нет связи.
                  скрин:http://prntscr.com/ewict4
                2. настроить категории (описание) чтобы отображались, без дублей. ну и по мелочи почистить англ текст.. остатки "Автор"..

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

                Ответить1.2 года назад #
                • @ campusboy3345 cайт: www.youtube.com/c/wpplus

                  Вы можете связаться со мной по почте campusboy87@gmail.com.

                  Ответить1.2 года назад #
  • newbie33 cайт: yumchief.com

    Crawl-delay с недавних пор перестал учитываться яндексом (теперь частота обхода роботом яндекса задается в панели вебмастера).
    Так что теперь этот параметр вообще не нужно указывать.

    1
    Ответить1.2 года назад #
  • Юрий

    Валидатор роботс.тхт в вебмастере мейл.ру ругается, если директива начинается не от корневого слеша, типа таких

    Disallow: *?s=

    Ответить1.2 года назад #
    • Kama7482

      Можно ссылку на валидатор?

      Ответить1.2 года назад #
    • newbie33 cайт: yumchief.com

      Яндекс и гугл не ругаются - все в порядке. Учитывать мнение мейла не стоит, ведь это не поисковик, а почтовый хостинг, при чем очень посредственный.

      1
      Ответить1.2 года назад #
  • newbie33 cайт: yumchief.com

    Кстати, от host теперь яндекс тоже отказался, так что его не нужно указывать в роботс.

    1
    Ответить1.2 года назад #
  • Михаил cайт: shampoo.su

    Господа, а посмотрите, на моем сайте верно собрал роботс?

    User-agent: * 
    Disallow: /cgi-bin
    Disallow: /? 
    Disallow: /wp-  
    Disallow: /wp/ 
    
    Disallow: *?s=
    Disallow: *&s=
    Disallow: /search/
    Disallow: /author/
    Disallow: /users/
    Disallow: /tag/
    Disallow: */trackback
    
    Disallow: */feed
    Disallow: */rss
    Disallow: */embed
    Disallow: */wlwmanifest.xml 
    
    Disallow: /xmlrpc.php
    Disallow: *utm=
    Disallow: *openstat=
    Allow: */uploads
    
    User-agent: GoogleBot
    Disallow: /cgi-bin
    Disallow: /?
    Disallow: /wp-
    Disallow: /wp/
    Disallow: *?s=
    Disallow: *&s=
    Disallow: /search/
    Disallow: /author/
    Disallow: /tag/
    Dissallow */page/ 
    Disallow: /users/
    Disallow: */trackback
    Disallow: */feed
    Disallow: */rss
    Disallow: */embed
    Disallow: */wlwmanifest.xml
    Disallow: /xmlrpc.php
    Disallow: *utm=
    Disallow: *openstat=
    Allow: */uploads
    Allow: /*/*.js
    Allow: /*/*.css
    Allow: /wp-*.png
    Allow: /wp-*.jpg
    Allow: /wp-*.jpeg
    Allow: /wp-*.gif
    Allow: /wp-admin/admin-ajax.php
    
    User-agent: Yandex 
    Disallow: /cgi-bin
    Disallow: /?
    Disallow: /wp-
    Disallow: /wp/
    Disallow: *?s=
    Disallow: *&s=
    Disallow: /search/
    Disallow: /author/
    Disallow: /users/
    Disallow: /tag/
    Disallow: */trackback
    Disallow: */feed
    Disallow: */page/
    Disallow: */rss
    Disallow: */embed
    Disallow: */wlwmanifest.xml
    Disallow: /xmlrpc.php
    
    User-agent: Twitterbot
    Disallow: *
    Allow: /images
    Allow: /archives
    
    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: openstat
    Sitemap: https://shampoo.su/sitemap.xml
    Host: https://shampoo.su
    Ответить1.1 года назад #
    • Необходимо убрать пустые строки в блоках!

      Disallow: /author/ # страницу автора, как и любые архивы, лучше закрыть через метатег robots, т.к. если со сторонних сайтов будут туда ссылки, и они проиндексируются, то в поисковой выдаче увидите ссылку на страницу автора, а вместо описания будет объявление, что в robots.txt данная страница заблокирована... это я вычитал в инструкциях Google. Конечно, это может быть и маловероятно, но я, например, перестраховался...
      Disallow: /users/ # таже история...

      Disallow: */wlwmanifest.xml # закрыать не имеет смысла, т.к. имеется команда Disallow: /wp-

      Disallow: /xmlrpc.php # так некоторые делают, но подобные файлы, например в корне WP, лучше закрыть 404, а в некоторых уже по умолчанию задан метатег robots с атрибутами noindex, nofollow

      Disallow: /wp/ # если есть такая дирректория на сайте, то может и правильно... важны детали...
      Disallow: *utm= # если есть такие метки на сайте, то может и правильно... важны детали...
      Disallow: *openstat= # таже история...

      Следующие комманды, нужно для всех поисковых роботов применять, если конечно это сделано не специально! Т.е. один бот - один блок без пустых строк!
      Allow: /*/*.js
      Allow: /*/*.css
      Allow: /wp-*.png
      Allow: /wp-*.jpg
      Allow: /wp-*.jpeg
      Allow: /wp-*.gif
      Allow: /wp-admin/admin-ajax.php

      Да в принципе смысла не вижу в данном robots.txt прописовать комманды отдельно для Google и Яндекс. Надо прописать в блоке "User-agent: *", так как команды идентичны, исключая .js.css.png... которые ошибочно оторваны от блоков!

      Про "User-agent: Twitterbot" сказать ничего не могу, но мне кажеться, что общие правила ему будут в пору... нужно читать об этом уже в рекомендациях Twitter.

      Также рекомендовано для удобочитаемости: "Sitemap: https...sitemap.xml" писать после пустой строки, и после команды оставлять пустую строку; "Host: https...shampoo.su" писать через пустую строку; "Clean-Param: openstat" вероятно тоже...

      1
      Ответитьгод назад #
      • newbie33 cайт: yumchief.com

        Необходимо убрать пустые строки в блоках!

        Пустые строки ни на что не влияют, если нравится - можно использовать.

        Disallow: /author/ # страницу автора, как и любые архивы, лучше закрыть через метатег robots

        Не лучше. Через мета-тег ты закроешь только страницу site.ru/author/, а страницы, находящиеся в ней будут проиндексированы. Про то, что на выдаче в сниппете будет "заблокирована в robots.txt" вообще бред.

        Disallow: */wlwmanifest.xml # закрыать не имеет смысла, т.к. имеется команда Disallow: /wp-

        С чего ты взял, что этот xml файл лежит в одной из папок с названием wp-* ?

        Disallow: /wp/ # если есть такая дирректория на сайте, то может и правильно...

        А если нету, то неправильно? Пруфы, пожалуйста

        Disallow: utm= # если есть такие метки на сайте, то может и правильно... важны детали...
        Disallow:
        openstat= # таже история...

        utm и openstat метки нужно закрывать в роботс, если они имеют место быть, но если их нет, то ошибкой эти правила не являются

        По поводу файла роботс:

        Disallow: /tag/ - зачем закрыл теговые страницы?
        Dissallow */page/ - что это и зачем?
        Правила для твиттер бота можно спокойно удалять
        host не нужен, можно удалять

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

        1
        Ответитьгод назад #
        • Необходимо убрать пустые строки в блоках!

          Пустые строки ни на что не влияют, если нравится - можно использовать.

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

          Disallow: /author/ # страницу автора, как и любые архивы, лучше закрыть через метатег robots

          Не лучше. Через мета-тег ты закроешь только страницу site.ru/author/, а страницы, находящиеся в ней будут проиндексированы.

          Да, не закроешь! Если архивы на сайте сделаны криво! Конечно нужно не только для страниц любых архивов ставить noindex, nofollow, но и для вложенных страниц. Тем более в robots.txt есть команда Disallow: */page/, которая закрывает от посещения роботом любых страниц пагинации, в том числе и архивов. Но я тоже не использую Disallow: */page/, т.к. на любых страницах пагинации использую noindex, nofollow. Да, конечно нагрузка на сервер будет больше, чем в случае с robots.txt. Но опасаюсь кривого сниппета в поисковой выдачи!

          Про то, что на выдаче в сниппете будет "заблокирована в robots.txt" вообще бред.

          Может и так dash , утверждать не буду, нужно разбираться, потому что такая инфа есть, и она есть в инструкциях Google, смотреть в конце (https://support.google.com/webmasters/answer/6062608?hl=ru). А так, тема интересная, если Вас не затруднит, киньте ссылку, где сказано обратное.

          Disallow: */wlwmanifest.xml # закрыать не имеет смысла, т.к. имеется команда
          Disallow: /wp-

          С чего ты взял, что этот xml файл лежит в одной из папок с названием wp-* ?

          С того, что он лежит там, например в WP4.9.5 он расположен */wp-includes/wlwmanifest.xml. Я не утверждаю, что он может быть только по этому пути, но по умолчанию в WP он там sad .

          Disallow: /wp/ # если есть такая дирректория на сайте, то может и правильно...

          А если нету, то неправильно? Пруфы, пожалуйста

          Думаю, что это странно smile. Почему бы тогда кучу подобных правил не установить? Например 100! Если нет таких каталогов...

          utm и openstat метки нужно закрывать в роботс, если они имеют место быть, но если их нет, то ошибкой эти правила не являются

          Спасибо за коммент. Буду дальше копать shock .
          Вот ещё по этому поводу: https://wp-kama.ru/question/nastroyki-fayla-robotstxt

          1
          Ответитьгод назад #
          • newbie33 cайт: yumchief.com

            В инструкции гугла сказано, что страница может быть проиндексирована, даже если закрыта в роботс. Там не сказано, что в снипете будет "заблокирована в robots.txt".

            Робот гугла дикий, ему практически пахую на роботс. 100% защита от индексации для гугла - это noindex в метатеге.

            Ответитьгод назад #
        • На счёт меток utm и openstat, для построения статистики конверсии с помощью сервисов метрик. Обнаружил интересную вещь: Disallow: *utm= вроде как с ошибкой, т.к. ссылки меток utm - *utm_source*, *utm_medium*, и т.п. Т.е. правильно задавать Disallow: *utm. Что, на счёт этого думаете? Вот инфа: https://www.owox.ru/blog/articles/how-to-use-utm-tags/#download
          И ещё нашёл одну метку from=, она редко применяется. Вот инфа: http://unitad.ru/poleznoe/metki-utm-openstat-dlya-metriki-i-analytics/ Может тоже закрыть? Disallow: *from=

          1
          Ответитьгод назад #
  • Спасибо за статью... очень полезная... да и вообще контент на сайте для меня всегда полезный! Разбираюсь с командами в robots.txt, не поверите, уже 4 дня! dash Соответственно много источников просмотрел... многие из них, мягко говоря, не фонтан, советуют то, что сами не понимают! К Вам это точно не относится good ! Так вот, у Вас есть такие строки:

    Disallow: /news
    Оно запретить роботам ходить по подобным ссылками:
    http://site.ru**/news**
    http://site.ru**/news**/drugoe-nazvanie/
    Если нужно закрыть любые вхождения /news, то пишем:
    Disallow: */news
    Закроет:
    http://site.ru**/news**
    http://site.ru**/news**/drugoe-nazvanie/
    http://site.ru/category**/news**letter-nazvanie.html

    Мне кажется, что последняя ссылка http://site.ru/category**/news**letter-nazvanie.html, тоже не будет посещаться роботом, если применить "Disallow: /news", т.е. она является идентичной ссылке http://site.ru**/news**. Или я ошибаюсь?
    И ещё один момент, который я не смог выяснить на все 100% help
    какая разница между:

    Disallow: */page/    и Disallow: /page/;
    Disallow: */example/ и Disallow: /example/;
    Disallow: */embed    и Disallow: /embed;
    Allow:    /*/*.css   и Allow:    *.css # (/*/ - для приоритета) по отношению к какой директиве? это важно?
    А это верное правило?
    Disallow: */example/ # запретит переходить по ссылкам http://site.ru/example/ и http://site.ru/**/example/

    thank_you

    2
    Ответитьгод назад #
    • Kama7482

      Так вот, у Вас есть такие строки:

      Блин, это ошибка в маркировке, там этих ** вообще не должно быть это жирны для маркдауна ... Поправил в тексте, спасибо! Еще раз там перечитай, будет понятнее...

      И ещё один момент, который я не смог выяснить на все 100%

      Относится к предыдущему ответу...

      А что касается разницы между /*/*.css и *.css. Роботы прежде чем читать правила сортируют их по кол-ву символов (от меньшего к большему) и потом читают по-очереди (последнее подходящее правило будет использовано). Поэтому чтобы нам открыть индекс, нужно чтобы правило после сортировки оказалось в конце списка правил и именно оно в итоге стало рабочим. Прочитай блок "Это важно: сортировка правил перед обработкой", там об этом как раз...

      Ответитьгод назад #
  • Какой смысл задавать Allow: */uploads, если в любом случае медиаконтент .png, .jpg, и т.п. открывается подобно Allow: /wp-*.jpg? crazy

    Ответитьгод назад #
    • Kama7482

      Потому что папку uploads можно перенести в любую другую директорию, ровно также как можно переименовать папку wp-content, где обычно лежит uploads.

      Я wp-content меняю постоянно, так сразу отваливают криво написанные плагины... На этом сайте просто лень переделывать...

      Ответитьгод назад #
  • Евгений

    Больше не надо закрывать папки wp-content, wp-includes, cache, plugins, themes
    Это устаревшие требования. Закрывать можно но очень по умному. Пруфы у Yoast.

    1
    Ответитьгод назад #
  • Алексей cайт: vseprodachu.ru

    Добрый день. Подскажите почему во втором варианте robots.txt нет такой команды - Disallow: */page/ Спасибо!

    Ответитьгод назад #
    • newbie33 cайт: yumchief.com

      Страницы пагинации не нужно закрывать в роботс. Почему в статье в первом варианте закрыто, а во втором нет? Потому что скопирована откуда то инфа.

      -1
      Ответитьгод назад #
      • Kama7482

        Страницы пагинации не нужно закрывать в роботс.

        Это не обязательно, но я бы рекомендовал. Почему не нужно?

        Подскажите почему во втором варианте robots.txt нет такой команды

        Потому что его не дорабатываю, он остался своего рода альтернативой.

        Ответитьгод назад #
        • newbie33 cайт: yumchief.com

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

          На страницах пагинации нужно делать уникальные H1 и title, добавлять rel next/prev, убирать plain text

          Ответить10 мес назад #
Здравствуйте, !     Войти . Зарегистрироваться