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

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

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

Какие страницы действительно стоит закрывать

Не каждая «лишняя» страница должна быть закрыта одинаково. Для WordPress обычно есть несколько типовых сценариев:

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

Важно не путать noindex и nofollow. Для большинства таких страниц достаточно запрета индексации, но ссылки на странице можно оставить доступными для обхода, если они ведут на полезные разделы. Полное закрытие через robots.txt подходит не всегда: если поисковик не может зайти на страницу, он не увидит мета-тег noindex.

Диагностика проблемы: где искать лишние URL

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

Проверьте индекс через поисковую выдачу и Search Console

Начните с простого запроса вида site:example.com и посмотрите, какие типы страниц всплывают. Затем откройте отчёт по индексированию в Google Search Console: там обычно видно, какие URL исключены, какие просканированы, но не проиндексированы, и где есть проблемы с каноническими адресами.

Посмотрите, не создаёт ли WordPress дубли сам

Частые источники дублей в WordPress:

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

Если сайт небольшой, можно быстро проверить список URL через команду WP-CLI и выгрузку из sitemap. Например, так удобно посмотреть, какие записи и страницы вообще есть в базе:

wp post list --post_type=page --fields=ID,post_title,post_status,post_name

А если нужно найти страницы вложений, которые часто индексируются отдельно:

wp post list --post_type=attachment --fields=ID,post_title,post_status,post_parent

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

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

Вариант 1: через SEO-плагин

Если на сайте уже стоит SEO-плагин, проще всего использовать его настройки. У большинства таких решений есть переключатель для конкретной записи, рубрики или шаблона архива: index/noindex, follow/nofollow, канонический URL. Это самый безопасный путь для редактора или контент-менеджера, потому что не требует правки кода.

Плюс этого подхода в том, что он прозрачен для команды. Минус — массовые изменения по сотням URL удобнее делать кодом или через массовые настройки, иначе легко пропустить часть дублей.

Вариант 2: через код для конкретных шаблонов

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

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

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

Вариант 3: закрыть отдельную страницу по ID или slug

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

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

Такой код стоит держать в дочерней теме или в отдельном мини-плагине. Не вставляйте его в основной шаблон, если тема может обновляться.

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

robots.txt полезен для экономии обхода, но не заменяет noindex. Если вы закроете URL только в robots.txt, поисковик может сохранить его в индексе как «URL без содержимого», особенно если на него есть внешние ссылки.

Хороший сценарий для robots.txt — технические разделы, которые не должны сканироваться вообще, например, отдельные директории с временными файлами или служебные пути плагинов. Но для обычных страниц WordPress лучше использовать мета-тег или HTTP-заголовок X-Robots-Tag, если страница не HTML.

ПодходКогда использоватьПлюсыОграничения
SEO-плагинОтдельные записи, рубрики, архивыПросто, безопасно, удобно для редакцииНужно следить за конфликтами настроек
Код в теме/плагинеТочные шаблоны и нестандартная логикаГибко, без лишних зависимостейТребует контроля при обновлениях
robots.txtТехнические директории и обходСнижает нагрузку на сканированиеНе гарантирует удаление из индекса

Пошаговое решение для типового сайта WordPress

  1. Составьте список URL, которые не должны индексироваться: поиск, вложения, пустые архивы, тестовые страницы.
  2. Проверьте, нет ли на них внешних ссылок и внутренних переходов из меню, хлебных крошек или блоков похожих материалов.
  3. Для отдельных страниц включите noindex,follow через SEO-плагин или код.
  4. Для архивов с дублирующим контентом отключите индексацию на уровне шаблона таксономии.
  5. Если страница больше не нужна, удалите её и отдайте корректный 410 Gone или 301 на релевантный адрес, а не просто прячьте от индексации.
  6. Обновите sitemap, чтобы в нём не оставались закрытые URL.

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

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

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

Проверка в исходном коде

Откройте страницу и найдите в HTML строку:

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

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

Проверка через Search Console

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

Проверка sitemap и внутренних ссылок

Если закрытая страница осталась в sitemap, вы сами подаёте поисковику сигнал, что она важна. Уберите её из карты сайта и проверьте, что на неё не ведут меню, виджеты и блоки «похожие записи».

  • страница не должна быть в XML sitemap;
  • на неё не должно быть ссылок из основного меню;
  • внутренние ссылки из контента лучше заменить или удалить;
  • в Search Console страница должна перейти в исключённые URL.

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

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

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

Поставили noindex на важные посадочные страницы

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

Оставили страницу в sitemap

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

Смешали ручной код и настройки плагина

Когда robots-мета выводится и темой, и SEO-плагином, итоговое поведение становится непредсказуемым. Оставьте один источник правды: либо плагин, либо код в одном месте.

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

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

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

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

Если нужна более системная чистка технического SEO, иногда проще собрать её в одном инструменте, чем держать десяток разрозненных правок. Но даже в этом случае проверка через исходный код и Search Console остаётся обязательной: именно она показывает, сработало ли правило на реальном URL.

Как закрыть от индексации отдельные страницы WordPress без вреда для SEO
19.08.2026

Уроки со скриншотами, подробные руководства