Рекомендуемое содержимое файла robots.txt для WordPress. Функция do_robots().

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

  • путь к карте сайта:
    Sitemap: https://misha.blog/sitemap.xml

    Некоторые плагины вставляют эту директиву автоматически.

  • директиву host для Яндекса (нужна, если у вашего сайта есть зеркала, для того, чтобы показать главное зеркало):
    Host: truemisha.ru

Скрывать в нём все функциональные PHP-файлы (как делают некоторые вебмастера) я не вижу смысла. А уж страницы сайта тем более. Я проводил эксперимент со скрытием страниц через robots.txtони всё равно попали в индекс, но только без заголовка и без сниппета.

Для скрытия от индексации страниц сайта используйте метатег:

<meta name="robots" content="noindex, follow" />

Функция do_robots()

Выводит несколько директив для файла robots.txt, рекомендуемые для WordPress.

do_robots()

Параметров не имеет, зато имеет 1 хук и 1 фильтр.

Рассмотрим по порядку, как работает функция:

  1. В первую очередь функция устанавливает Content-Type документа на text/plain (с кодировкой UTF-8).
  2. Затем запускается экшен do_robotstxt (без параметров).
  3. Третьим шагом идёт проверка, отмечена ли галочка «Попросить поисковые системы не индексировать сайт» в настройках чтения:
    Нужно ли скрыть сайт от поисковиков в robots.txt
  4. Если отмечена, содержимое robots.txt будет:
    User-agent: *
    Disallow: /

    Если не отмечена:

    User-agent: *
    Disallow: /wp-admin/
  5. Непосредственно перед выводом срабатывает фильтр robots_txt (WordPress 3.0+) с двумя параметрами — $output (то, что подготовлено для вывода в robots.txt) и $public (отмечена ли галочка в пункте 3).

Готовый robots.txt

К результату функции do_robots() добавим еще то, о чем я говорил в начале поста и получим вот такой robots.txt для WordPress:

User-agent: *
Disallow: /wp-admin/
 
User-agent: Yandex
Disallow: /wp-admin/
Host: truemisha.ru
 
Sitemap: https://misha.blog/sitemap.xml

Создать его вы можете при помощи любого текстового редактора. Сохраните его там же, где находятся директории wp-admin и wp-content.

Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.