На WordPress часто нужно не «закрыть сайт от индексации целиком», а убрать из поиска конкретные страницы: служебные шаблоны, результаты фильтров, страницы авторов на небольшом сайте, внутренние разделы с дублями, тестовые материалы, архивы без ценности. Ошибка здесь одна и та же: в robots.txt режут доступ, но не решают вопрос с уже известными URL, либо ставят noindex не туда и получают хаос в индексации.
Ниже — рабочая схема, которая помогает понять, что именно закрывать, чем закрывать и как проверить результат без гаданий по выдаче.
Когда нужен noindex, а когда достаточно canonical
Если страница существует, но не должна попадать в поиск, у вас есть три основных инструмента: noindex, canonical и запрет обхода в robots.txt. Они решают разные задачи и не взаимозаменяемы.
| Инструмент | Что делает | Когда использовать | Ограничение |
|---|---|---|---|
noindex | Просит поисковик не показывать URL в выдаче | Для служебных, пустых, дублирующих страниц | Страницу нужно отдать роботу, чтобы он увидел мета-тег |
canonical | Указывает основную версию страницы | Для близких дублей и параметров фильтрации | Не гарантирует исключение из индекса, если контент сильно отличается |
robots.txt | Ограничивает обход | Для экономии crawl budget на мусорных URL | Не убирает уже известный URL из индекса сам по себе |
Если задача — убрать страницу из поиска, начинайте с noindex. Если задача — собрать дубли в одну основную версию, нужен canonical. Если URL вообще не должен обходиться, например технические параметры или внутренние служебные пути, добавляйте robots.txt аккуратно и только после проверки, что это не мешает индексации нужных страниц.
Диагностика проблемы: что именно мешает индексации
Перед правками проверьте, почему страница вообще попала в индекс или почему поисковик упорно держит её в выдаче. На практике обычно встречаются четыре сценария:
- страница открыта для робота и не имеет
noindex; - на странице есть
noindex, но она закрыта вrobots.txt, и робот не может увидеть директиву; - у страницы есть несколько дублей, а canonical указывает на саму себя или на неверный URL;
- SEO-плагин и тема одновременно выводят разные мета-теги, из-за чего получается конфликт.
Проверка начинается с исходного HTML. Откройте страницу в браузере, посмотрите исходный код и найдите:
<meta name="robots" content="noindex, nofollow">или похожую директиву;<link rel="canonical" href="...">;- нет ли нескольких canonical от темы и плагина одновременно;
- не закрыт ли URL в
robots.txt.
Если используете Search Console, смотрите не только статус «Исключено», но и причину: «Просканировано, но не проиндексировано», «Альтернативная страница с правильным каноническим тегом» и похожие статусы помогают понять, что именно сработало.
Пошаговое решение для отдельных страниц
1. Закрыть конкретный шаблон через functions.php или мини-плагин
Если нужно закрыть не одну страницу вручную, а целый тип URL по условию, надежнее делать это кодом. Например, для отдельных страниц по slug можно добавить noindex в wp_head. Такой подход удобен для служебных страниц, тестовых разделов или отдельных посадочных, которые не должны индексироваться.
<?php
add_action('wp_head', function () {
if (is_page(array('thanks', 'test-page', 'internal-docs'))) {
echo '<meta name="robots" content="noindex, nofollow" />' . "\n";
}
});Этот вариант простой, но у него есть минус: если тема или SEO-плагин уже выводят robots-мета, можно получить дублирование. Поэтому перед внедрением проверьте исходный код страницы и убедитесь, что второй тег не появляется.
2. Закрыть архивы, которые не нужны в поиске
Частая задача — убрать из индекса архивы автора, даты или нестандартные таксономии. Если архив не несет самостоятельной ценности, лучше закрыть его на уровне SEO-плагина или через фильтр, а не через robots.txt. Для Yoast SEO и похожих плагинов логика обычно строится вокруг мета-robots, а не блокировки обхода.
Если у вас нет SEO-плагина, можно задать noindex для архивов через wp_head:
<?php
add_action('wp_head', function () {
if (is_author() || is_date()) {
echo '<meta name="robots" content="noindex, follow" />' . "\n";
}
});Здесь важно не путать nofollow и follow. Если вы хотите, чтобы робот мог проходить по внутренним ссылкам со страницы, обычно оставляют follow. Полное nofollow имеет смысл только в редких случаях, когда страница не должна передавать сигналы дальше.
3. Указать canonical для дублей с параметрами
Если проблема не в самой странице, а в её вариантах с параметрами, например ?sort=price, ?filter=color или UTM-метками, canonical часто полезнее, чем жесткий noindex. Он помогает свести несколько URL к одной основной версии.
<?php
add_filter('get_canonical_url', function ($canonical, $post) {
if (is_singular('post')) {
return get_permalink($post);
}
return $canonical;
}, 10, 2);Этот фильтр не нужен в каждом проекте, но он показывает принцип: canonical должен вести на чистый, стабильный URL. Если страница генерируется с параметрами и вы хотите сохранить её в индексе только в одной версии, canonical должен указывать именно на неё, а не на текущий URL с хвостом параметров.
Если используется SEO-плагин: что проверить в настройках
На живом сайте чаще всего уже стоит Yoast SEO, Rank Math или другой SEO-плагин. В таком случае не стоит добавлять свой meta robots поверх плагина без проверки. Сначала ищите настройку в интерфейсе:
- индексация архивов автора и даты;
- индексация отдельных таксономий;
- noindex для конкретных страниц или шаблонов;
- canonical для архивов и страниц пагинации;
- отключение дублей, которые создаёт тема.
Если задача шире, чем одна страница, удобнее использовать инструменты для очистки дублей и технических настроек. Например, Clearfy Pro закрывает часть типовых проблем с дублями и служебными страницами без ручного кода: https://wpshop.ru/plugins/clearfy. Но даже в этом случае проверка исходного кода обязательна: плагин не должен конфликтовать с тем, что уже выводит тема.
Проверка результата после внедрения
После правок не ограничивайтесь просмотром страницы в браузере. Нужна проверка именно того, что видит робот.
- Откройте страницу в режиме просмотра исходного кода и убедитесь, что
meta robotsиcanonicalсоответствуют задаче. - Проверьте, нет ли второго canonical от темы или плагина.
- Посмотрите ответ сервера: страница должна отдавать
200 OK, если вы используетеnoindex, а не блокировку черезrobots.txt. - В Search Console отправьте URL на повторную проверку, если страница уже была в индексе.
- Через несколько обходов проверьте статус: URL должен перейти в исключенные или альтернативные, в зависимости от выбранной схемы.
Если страница закрыта через noindex, но всё ещё отображается в выдаче, это не всегда ошибка. Поисковику нужно время на переобход и переоценку. Если же URL закрыт в robots.txt, а в индексе он уже есть, робот может не увидеть новый noindex. В таком случае сначала временно откройте доступ, дайте боту увидеть директиву, потом при необходимости снова ограничивайте обход.
Частые ошибки и как их исправить
Закрыли страницу в robots.txt и ждете удаления из поиска
Это самая частая ошибка. robots.txt запрещает обход, но не гарантирует удаление из индекса. Если URL уже известен поисковику, он может оставаться в выдаче без описания или с устаревшим сниппетом. Исправление: снимите запрет на обход, добавьте noindex, дождитесь переобхода.
Ставите noindex на страницу, которая должна передавать вес
Иногда закрывают важную посадочную страницу только потому, что она «не нравится» в аналитике. Если страница нужна для трафика и внутренней перелинковки, не закрывайте её без причины. Сначала проверьте, нет ли проблемы в контенте, canonical или дублирующих URL.
Дублируется canonical из темы и SEO-плагина
Когда canonical выводят сразу два источника, поисковик получает конфликтующий сигнал. В исходном коде должен быть один canonical. Если их два, отключайте вывод в теме или в плагине, а не пытайтесь «перебить» это вторым тегом.
Используете nofollow вместо noindex
nofollow не решает задачу исключения страницы из поиска. Он лишь меняет поведение робота при переходе по ссылкам. Для закрытия страницы от индексации нужен именно noindex.
Чек-лист перед публикацией изменений
- Проверен исходный код страницы.
- Нет дублирующих
meta robots. - Canonical указывает на нужный URL.
- Страница не закрыта в
robots.txt, если робот должен увидетьnoindex. - В Search Console понятна причина текущего статуса URL.
- После правки запланирована повторная проверка индексации.
Безопасность и производительность
Если вы вносите правки кодом, не редактируйте напрямую файлы родительской темы. Используйте дочернюю тему или мини-плагин. Так вы не потеряете изменения после обновления. Для точечных правок лучше держать отдельный mu-plugin или небольшой кастомный плагин, если проектом это принято.
Не ставьте несколько SEO-плагинов одновременно. Два источника canonical, два набора robots-мета и два генератора sitemap почти всегда создают лишние конфликты. Если нужно упростить техническую часть сайта, сначала отключайте дублирующие функции, а не добавляйте новые.
Если задача касается не одной страницы, а целого слоя технических дублей, иногда выгоднее один раз привести правила индексации в порядок, чем потом вручную чистить выдачу. Но любое массовое изменение сначала тестируйте на нескольких URL, а не на всем сайте сразу.