Robots.txt в WordPress: технически правильная настройка для SEO

Robots.txt в WordPress: технически правильная настройка для SEO

В данной статье рассмотрим технически верную работу с файлом robots.txt в WordPress и его рекомендуемое содержимое.

Подразумеваем, что вы знакомы с назначением файла, но напомним, что файл robots.txt необходим для поисковых роботов, чтобы указать какие разделы/страницы сайта посещать, а какие посещать не нужно. Закрытые страницы не будут попадать в индекс поисковиков.

Динамический файл

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

Ниже рассмотрим динамическую работу с файлом robots в рамках WordPress.

Функция do_robots() и хук do_robotstxt

Начнем с того, что в WordPress файл robots.txt в идеальных условиях не лежит физически в корне сайта. При обращении к адресу: домен/robots.txt WP перехватывает запрос и формирует ответ на PHP, за это отвечает функция do_robots().

Для удобства принцип работы мы схематично отобразили ниже:

Robots.txt в WordPress: технически правильная настройка для SEO

То-есть, не имея никакого файла в структуре мы можем перейти по адресу domen/robots.txt и обнаружим стандартный файл, создаваемый WordPress с таким содержимым:

User-agent: *

Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

Sitemap: https://domain/sitemap.xml

Данный роботс нельзя назвать полноценным, поэтому рассмотрим варианты взаимодействия с ним, их два: полностью сформировать свой хуком-действием do_robotstxt или дополнить дефолтный файл хуком фильтром robots_txt. Если забыли принцип работы, то можете вернуться к нашей схеме. Обратите внимание, что все хуки ниже будут работать только в том случае, если в папке сайта нет статичного файла robots.txt.

Добавляем свои данные в конец дефолтного файла, используя robots_txt:

add_filter( 'robots_txt', function( $output, $public ) {

return rtrim( $output ) . "\n\n# bot-test\n";

}, 100, 2 );

После сохранения в файле будет:

User-agent: *

Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

Sitemap: https://domain/sitemap.xml

bot-test

Генерируем свой роботс, используя do_robotstxt:

add_action( 'do_robotstxt', function() {

echo "bot-test\n";

exit;

} );

После сохранения в файле robots будет только:

bot-test

Таким образом, разобрались как работать с генерацией файла robots, далее рассмотрим его содержимое.

Содержимое файла robots WordPress

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

Настройка robots.txt — лишь один из элементов технической SEO-оптимизации. Помимо корректной индексации важны техническое состояние сайта, структура разделов, внутренняя перелинковка, скорость загрузки и качество контента. Подробнее о комплексном поисковом продвижении можно прочитать на сайте AdvertPro: SEO-продвижение сайтов. Инструменты вроде robots.txt работают наиболее эффективно только как часть общей SEO-стратегии.

Используемые директивы в файле.

Для удобства напомним, за что отвечают каждая из директив.

User-agent

Кому относятся правила ниже по файлу.

  • User-agent: * — для всех роботов
  • User-agent: Yandex / Googlebot — только для указанного бота

Disallow

Запрещает обход URL, где есть указанная подстрока.

Disallow: /cgi-bin # каталог скриптов

Disallow: *?s= # поиск по сайту

Disallow: */page/ # пагинация

Disallow: */embed$ # URL, оканчивающиеся на /embed

Allow

Разрешает обход там, где сработал более широкий Disallow.

Пример: закрыли /wp-, но нужны файлы в uploads:

Disallow: /wp-

Allow: */uploads

Порядок Allow и Disallow в файле не важен — роботы сортируют правила сами.

Sitemap

Ссылка на XML-карту сайта:

Sitemap: https://domain/sitemap.xml

Содержимое файла robots в WordPress.

User-agent: * # Создаем секция правил для роботов, подразумевается для всех роботов. Чтобы указать секцию правил для отдельного робота, вместо укажите его: GoogleBot, Yandex.

Disallow: /cgi-bin # Папка на хостинге.

Disallow: /wp-admin/ # Админка.

Disallow: /? # Все параметры запроса на главной.

Disallow: *?s= # Поиск.

Disallow: *&s= # Поиск.

Disallow: /search # Поиск.

Disallow: /author/ # Архив автора, если у вас нет расширенного функционала блога, в котором он нужен.

Disallow: */embed$ # Все встраивания.

Disallow: */xmlrpc.php # Файл WordPress API

Disallow: *utm*= # Ссылки с utm-метками

Disallow: *openstat= # Ссылки с метками openstat

Allow: /wp-admin/admin-ajax.php # Откроем аякс.

Подводим итог

В статье рассмотрели динамическую генерацию файла и его основное содержимое. Если у вас появились вопросы или требуется настройка файла robots на вашем сайте, то пишите, будем рады помочь.

11