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

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

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

Когда это нужно и что именно закрывать

Не все страницы стоит закрывать от индексации. Ошибка многих сайтов — ставить noindex наугад и потом терять полезный трафик. Сначала нужно понять, какая у страницы роль:

  • служебные URL: поиск по сайту, страницы логина, корзина, личный кабинет;
  • дубли: архивы автора на маленьком сайте, теги без смысла, страницы пагинации с повторяющимся контентом;
  • тонкие страницы: пустые архивы, фильтры, результаты сортировки;
  • временный контент: тестовые публикации, черновые страницы, страницы кампаний, которые не должны попадать в поиск.

Если страница должна оставаться доступной пользователю, но не участвовать в поиске, обычно нужен именно noindex, а не удаление из сайта и не блокировка через robots.txt. Это разные задачи.

Чем noindex отличается от robots.txt

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

ПодходКогда использоватьМинус
noindexСтраница должна открываться, но не ранжироватьсяНужно правильно отдать метатег или заголовок
robots.txtНужно ограничить обход технических разделовНе убирает уже известные URL из поиска
Удаление страницыКонтент больше не нуженПотеря доступа и возможных ссылок

Диагностика: почему страница все еще в индексе

Перед правкой проверьте, что именно происходит сейчас. Часто проблема не в WordPress, а в теме, SEO-плагине или кэше.

  1. Откройте исходный код страницы и найдите <meta name="robots".
  2. Проверьте, не отдает ли сервер заголовок X-Robots-Tag.
  3. Посмотрите, не переопределяет ли SEO-плагин ваши настройки.
  4. Очистите кэш страницы и CDN, если он есть.
  5. Проверьте URL в Google Search Console после обновления.

Если на странице уже есть noindex, но она остается в выдаче, это не всегда ошибка. Поисковику нужно время, чтобы переобойти URL и обновить индекс. Если же метатега нет вообще, тогда надо внедрять решение.

Пошаговое решение через код темы или mu-plugin

Самый практичный вариант — добавить правило в functions.php дочерней темы или, что надежнее, в mu-plugin. Так настройка не потеряется при обновлении темы.

Вариант 1: закрыть конкретную страницу по ID

Если нужно скрыть одну-две страницы, проще всего отдать noindex, nofollow только для них. Пример ниже использует стандартный фильтр WordPress wp_robots.

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_page( array( 42, 87 ) ) ) {
        $robots['noindex']  = true;
        $robots['nofollow'] = true;
    }

    return $robots;
} );

Что важно: is_page() работает только на фронтенде после формирования запроса. Для записей используйте is_single(), для рубрик — is_category(), для тегов — is_tag().

Вариант 2: закрыть архивы автора, теги и поиск

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

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_author() || is_tag() || is_search() ) {
        $robots['noindex']  = true;
        $robots['nofollow'] = true;
    }

    return $robots;
} );

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

Вариант 3: отдать X-Robots-Tag для PDF и других файлов

Если нужно закрыть не HTML-страницу, а файл, удобнее использовать заголовок X-Robots-Tag. Например, для PDF в медиатеке.

<?php
add_action( 'template_redirect', function() {
    if ( is_attachment() ) {
        header( 'X-Robots-Tag: noindex, nofollow', true );
    }
} );

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

Если используется SEO-плагин: что проверить сначала

Если на сайте уже стоит SEO-плагин, не дублируйте логику в двух местах. Сначала проверьте настройки плагина, потом уже добавляйте код. Иначе можно получить конфликт: плагин ставит одно правило, тема — другое, а итоговый HTML зависит от порядка фильтров.

  • проверьте, не включен ли noindex в настройках конкретного типа записи;
  • посмотрите, не закрываются ли архивы автоматически;
  • убедитесь, что кэш не отдает старую версию страницы;
  • если есть настройка для robots meta, не задавайте ее одновременно в коде и в админке.

Если нужен более широкий контроль над дублями, служебными страницами и технической чисткой, иногда проще использовать специализированный набор настроек вроде Clearfy Pro, но для точечной задачи код обычно быстрее и прозрачнее.

Проверка результата после внедрения

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

  1. Откройте страницу в режиме инкогнито и посмотрите исходный код.
  2. Убедитесь, что в <head> есть noindex.
  3. Проверьте заголовки ответа через DevTools или curl.
  4. Очистите серверный и браузерный кэш.
  5. Отправьте URL на повторную проверку в Google Search Console.

Пример проверки через консоль:

curl -I https://example.com/sample-page/

В ответе ищите X-Robots-Tag, если вы его добавляли. Для HTML-страниц дополнительно проверьте исходный код страницы, потому что метатег может быть внедрен только в разметку.

Частые ошибки и как их исправить

Страница закрыта в коде, но в индексе остается старая версия

Это нормально, если поисковик еще не переобошел URL. Проверьте, что страница доступна без ошибок, и отправьте ее на переобход. Не удаляйте URL из sitemap вручную, если он должен быть доступен пользователю.

noindex стоит, но кэш показывает старый HTML

Частая проблема на сайтах с кэшированием. Очистите кэш плагина, сервера и CDN. Если используется page cache, он может отдавать старый <head> даже после изменения кода.

Использовали robots.txt вместо noindex

Это не одно и то же. Если URL уже в индексе, одного запрета обхода мало. Для исключения из выдачи нужен noindex или удаление страницы с корректным ответом сервера.

Добавили правило в родительскую тему

После обновления тема перезапишется. Для таких правок используйте дочернюю тему или mu-plugin. Это особенно важно, если сайт поддерживается не одним разработчиком.

Случайно закрыли важные страницы

Проверьте логику условий. Например, is_tag() может закрыть все теги, хотя часть из них нужна для трафика. На живом сайте лучше сначала закрывать только проблемные URL, а не весь тип архива целиком.

Практические советы по безопасности и производительности

Технически noindex почти не нагружает сайт, но ошибки в реализации могут создать проблемы. Несколько правил, которые реально помогают:

  • не дублируйте правила в теме, плагине и robots.txt без необходимости;
  • храните изменения в дочерней теме или mu-plugin;
  • после правки проверяйте не только HTML, но и заголовки ответа;
  • не закрывайте массово страницы, которые приносят органический трафик;
  • если сайт большой, ведите список URL и условий, чтобы потом не искать, где именно включен noindex.

Если задача шире, чем одна-две страницы, и нужно системно чистить дубли, архивы и технические URL, лучше сначала описать правила индексации на уровне структуры сайта, а уже потом переносить их в код. Так проще избежать хаоса, когда половина страниц закрыта в теме, а половина — в SEO-плагине.

В итоге рабочая схема простая: сначала определяете, что именно не должно индексироваться, затем добавляете точечное правило через wp_robots или X-Robots-Tag, после этого проверяете исходный код, заголовки и Search Console. Если все три проверки сходятся, решение внедрено корректно.

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

Изучение WordPress: детальные уроки и нужные советы.