Как отключить отдельные страницы из индексации в WordPress через noindex и robots.txt

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

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

Когда нужен noindex, а когда robots.txt

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

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

Типичные сценарии

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

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

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

  1. в HTML есть noindex, но URL всё равно в индексе из-за старых сигналов;
  2. страница закрыта в robots.txt, но в индексе осталась старая копия;
  3. плагин SEO и тема одновременно ставят разные мета-теги, и робот получает противоречивую разметку.

Проверка простая: откройте исходный код страницы и найдите <meta name="robots". Если там есть noindex, но страница всё равно показывается в поиске, значит проблема не в отсутствии тега, а в том, что поисковику нужно время переобойти URL или он не может его нормально просканировать.

Пошаговое решение через WordPress

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

Вариант 1. Добавить noindex для конкретного шаблона

Ниже пример для страницы внутреннего поиска. Его можно положить в functions.php дочерней темы или в мини-плагин.

<?php
add_action('wp_head', function () {
    if (is_search()) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1);

Здесь важно именно noindex,follow, если вы не хотите обрывать переходы по ссылкам на странице. Для служебных страниц это обычно безопаснее, чем noindex,nofollow.

Вариант 2. Закрыть конкретный URL через условие

Если нужен не тип страницы, а один конкретный URL, можно проверять is_page() по ID или слагу:

<?php
add_action('wp_head', function () {
    if (is_page('thank-you')) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1);

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

Вариант 3. Запретить обход в robots.txt

Если нужно ограничить обход служебных разделов, добавьте правила в robots.txt. Например, для внутренних поисковых URL и параметров:

User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

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

Сравнение подходов

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

Как проверить, что решение сработало

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

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

Если используете Google Search Console, откройте проверку URL и посмотрите, видит ли бот тег noindex. Если страница закрыта в robots.txt, а тег не виден, это ожидаемо: бот не может прочитать HTML.

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

Закрыли страницу в robots.txt и ждёте удаления из индекса

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

Поставили noindex в теме, а SEO-плагин перезаписывает тег

Так бывает, если одновременно работает SEO-плагин и кастомный код. Проверьте, не выводит ли плагин свой meta robots. В таком случае оставьте один источник управления, иначе получите конфликт.

Закрыли служебный URL, но оставили на него внутренние ссылки

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

Использовали noindex для страницы, которая должна передавать вес ссылкам

Для таких страниц обычно подходит noindex,follow, а не полное закрытие. Если поставить nofollow без причины, можно ухудшить обход внутренних ссылок.

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

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

Для крупных сайтов полезно:

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

Если у вас уже есть SEO-плагин и нужно быстро навести порядок в дублях и служебных страницах, имеет смысл сначала посмотреть, какие настройки он уже умеет закрывать без кода. Например, у Clearfy Pro есть инструменты для технической чистки WordPress, но даже в этом случае логику noindex и robots.txt лучше понимать руками, чтобы не закрыть лишнее.

Мини-чек-лист перед публикацией правок

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

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

Как отключить архив авторов в WordPress без потери индексации
24.08.2026
Как настроить robots.txt в WordPress для закрытия лишних служебных URL
21.09.2026
Как отключить отдельные страницы из индексации в WordPress через noindex и robots.txt
28.09.2026
Как исключить строки из sitemap в WordPress и не сломать индексацию
20.08.2026
Как убрать старую версию страниц из индекса после переезда на новый шаблон в WordPress
16.09.2026