На практике проблема почти всегда выглядит одинаково: в индексе оказываются служебные страницы, дубли архивов, результаты поиска по сайту, страницы пагинации, тестовые записи или приватные разделы. Если просто поставить 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
- Составьте список URL, которые не должны индексироваться: поиск, вложения, пустые архивы, тестовые страницы.
- Проверьте, нет ли на них внешних ссылок и внутренних переходов из меню, хлебных крошек или блоков похожих материалов.
- Для отдельных страниц включите
noindex,followчерез SEO-плагин или код. - Для архивов с дублирующим контентом отключите индексацию на уровне шаблона таксономии.
- Если страница больше не нужна, удалите её и отдайте корректный
410 Goneили301на релевантный адрес, а не просто прячьте от индексации. - Обновите 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.