Как запретить роботам индексировать отдельные страницы WordPress

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

Почему важно управлять индексированием страниц WordPress

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

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

  • Улучшить SEO, убрав из индекса неважные страницы.
  • Снизить нагрузку на сервер, уменьшая количество обхода роботом ненужных URL.
  • Сохранить конфиденциальность информации.

Далее рассмотрим несколько способов запрета индексации.

Использование метатега robots в заголовке страницы

Самый простой и распространённый способ запретить индексацию — добавить в <head> страницы метатег <meta name="robots" content="noindex, nofollow">. Этот тег сообщает поисковым системам не индексировать страницу и не переходить по ссылкам на ней.

В WordPress для добавления такого тега на отдельные страницы можно использовать хук wp_head с проверкой ID или других параметров страницы.

Пример кода для запрета индексации по ID страницы

function wpcoder_noindex_specific_pages() {
    if ( is_page( array( 42, 56 ) ) ) { // замените 42, 56 на ID нужных страниц
        echo '<meta name="robots" content="noindex, nofollow">\n';
    }
}
add_action( 'wp_head', 'wpcoder_noindex_specific_pages' );

Этот код добавит тег noindex, nofollow только на страницы с ID 42 и 56. Аналогично можно использовать условные теги is_single(), is_category() и другие для гибкости.

Использование плагина для управления индексацией

Если не хочется писать код, можно использовать популярные SEO-плагины, которые позволяют управлять индексированием отдельных страниц из админки:

  • Yoast SEO — в редакторе страницы во вкладке «Расширенные настройки» можно поставить запрет индексации.
  • All in One SEO — аналогичный функционал для запрета индексации.
  • Clearfy Pro — плагин от WPShop с расширенными настройками SEO, включая управление метатегами robots.

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

Запрет индексации через файл robots.txt

Файл robots.txt расположен в корне сайта и сообщает роботам, какие URL запрещены для обхода. Однако важно понимать, что robots.txt не гарантирует, что страница не попадёт в индекс, если на неё есть ссылки и она упоминается в других местах.

Пример записи в robots.txt для запрета индексации каталога с личным кабинетом и страницой корзины:

User-agent: *
Disallow: /cart/
Disallow: /my-account/

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

Программное удаление страницы из индекса с помощью HTTP заголовков

Ещё один вариант — отправлять в HTTP-заголовках ответ X-Robots-Tag с параметром noindex. Это полезно для не-HTML ресурсов или когда невозможно изменить содержимое страницы.

Пример добавления заголовка для запрета индексации в functions.php:

function wpcoder_add_x_robots_tag() {
    if ( is_page( 'privacy-policy' ) ) { // замените на slug нужной страницы
        header( 'X-Robots-Tag: noindex, nofollow', true );
    }
}
add_action( 'template_redirect', 'wpcoder_add_x_robots_tag' );

Этот способ даёт дополнительный уровень контроля, особенно для не-HTML файлов.

Запрет индексации для динамических страниц с параметрами URL

Иногда на сайте появляются динамические URL с параметрами, которые создают дубли контента. Например, пагинация, фильтры или сортировка товаров. Для таких случаев полезно добавлять тег noindex программно или через плагин.

Пример кода, который добавляет noindex для URL с параметром ?orderby=:

function wpcoder_noindex_orderby_param() {
    if ( isset( $_GET['orderby'] ) ) {
        echo '<meta name="robots" content="noindex, nofollow">\n';
    }
}
add_action( 'wp_head', 'wpcoder_noindex_orderby_param' );

Так вы защитите сайт от индексации множества похожих страниц с разным порядком вывода.

Резюме: лучшие практики запрета индексации в WordPress

Подводя итог, для запрета индексации отдельных страниц WordPress рекомендуем:

  • Использовать метатег noindex, nofollow через хук wp_head с условной логикой.
  • Применять SEO-плагины (Yoast SEO, Clearfy Pro) для удобного управления из админки.
  • Настраивать robots.txt для массового ограничения обхода разделов.
  • Добавлять HTTP-заголовок X-Robots-Tag для не-HTML контента.
  • Следить за динамическими URL и ставить запрет индексации на страницы с параметрами.

Использование этих методов в комплексе поможет правильно контролировать, какие страницы сайта индексируются, повысит качество SEO и защитит конфиденциальные данные.

Обновление WordPress без потери настроек и данных
07.01.2026
Как запретить роботам индексировать отдельные страницы WordPress
12.02.2026
Как создать настройку в админ-панели WordPress с применением Metabox
05.03.2026
Как создать и использовать собственные короткие функции в WordPress
28.01.2026
Автоматическое удаление отменённых заказов в WooCommerce по сроку хранения
27.05.2026