Когда в индексе начинают всплывать служебные страницы, архивы без ценности, результаты поиска по сайту или дубли пагинации, проблема обычно не в «плохом SEO», а в том, что WordPress по умолчанию публикует слишком много URL. Закрывать всё подряд нельзя: часть страниц должна оставаться доступной для обхода, но не попадать в поиск. Здесь важно разделить noindex и robots.txt, иначе легко получить ситуацию, когда страница не индексируется, но продолжает висеть в выдаче как «URL без описания».
Какие страницы обычно нужно закрывать
В реальных проектах чаще всего речь идёт не о записи или странице услуги, а о технических и малополезных URL. Их можно закрывать точечно, а не глобально. Это снижает риск случайно убрать из поиска важный контент.
- внутренний поиск WordPress вида
?s=; - архивы автора на небольших сайтах, где один автор и архив не несёт пользы;
- служебные страницы вложений, если они не используются как отдельные посадочные;
- страницы пагинации в отдельных разделах, если они создают мусорные дубли;
- тестовые, черновые или устаревшие страницы, которые уже не нужны в поиске.
Диагностика: что именно мешает индексации
Перед правками проверьте, какой именно сигнал сейчас отдаёт сайт. Если страница уже закрыта в robots.txt, поисковик может не увидеть на ней мета-тег noindex. Если наоборот страница доступна, но закрыта только через noindex, робот сможет её обойти и убрать из индекса корректнее.
Проверка в браузере и в исходном коде
Откройте проблемный URL и посмотрите исходный код страницы. Ищите строку вроде:
<meta name="robots" content="noindex,follow">
Если её нет, значит закрытие не настроено на уровне темы, плагина SEO или кода. Если страница должна быть закрыта, но в коде ничего нет, сначала исправляйте это, а не пытайтесь лечить всё через robots.txt.
Что смотреть в robots.txt
Проверьте, не запрещены ли важные разделы слишком грубо. Типичная ошибка — закрыть весь /wp-content/ или даже весь сайт для роботов. Для индексации это уже не точечная настройка, а поломка обхода.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Такой базовый вариант обычно допустим. Но если вы добавляете Disallow для URL, которые должны отдавать noindex, помните: поисковик может не дойти до мета-тега.
Пошаговое решение: закрываем URL без лишних побочных эффектов
Ниже — рабочая схема, которую удобно применять в теме или небольшом плагине. Она не требует выдуманных хуков и опирается на стандартные возможности WordPress.
Шаг 1. Добавьте noindex для нужных типов страниц
Если у вас нет SEO-плагина, можно вывести мета-тег через wp_head. Пример ниже закрывает поиск, страницы вложений и архивы автора на сайте с одним автором. Логику можно расширить под свои условия.
<?php
add_action( 'wp_head', function () {
if ( is_search() || is_attachment() || is_author() ) {
echo "<meta name=\"robots\" content=\"noindex,follow\" />\n";
}
}, 1 );
Здесь важен именно follow, а не nofollow. Если страница техническая, но на ней есть полезные внутренние ссылки, робот сможет их учитывать, даже если сам URL не попадёт в индекс.
Шаг 2. Если нужен robots.txt, не закрывайте им то, что должно быть noindex
Для генерации правил можно использовать фильтр robots_txt. Это подходит для технических каталогов, но не для страниц, где вы рассчитываете на обработку noindex.
<?php
add_filter( 'robots_txt', function ( $output, $public ) {
$output .= "\nDisallow: /search/";
$output .= "\nDisallow: /author/";
return $output;
}, 10, 2 );
Этот вариант уместен только если у вас действительно есть такие URL и вы понимаете, как они формируются. Для стандартного WordPress внутренний поиск обычно идёт через ?s=, а не через красивый путь /search/. Поэтому сначала проверьте реальные адреса на сайте.
Шаг 3. Для SEO-плагина проверьте настройки индексации архивов
Если на сайте уже стоит SEO-плагин, не дублируйте его логику кодом без необходимости. Сначала проверьте, не создаёт ли плагин собственные noindex и канонические URL. Иначе можно получить конфликт: тема выводит одно, плагин — другое, а в исходнике остаётся только последнее правило.
| Подход | Когда использовать | Минус |
|---|---|---|
| SEO-плагин | Если нужно управлять индексацией через интерфейс | Легко забыть о конфликте с кодом темы |
| Код в теме или мини-плагине | Если нужна точечная логика без лишних зависимостей | Требует аккуратной поддержки после обновлений |
| robots.txt | Для технических каталогов и ограничений обхода | Не заменяет noindex на уже доступных страницах |
Как проверить, что решение сработало
Проверка должна быть не «вроде исчезло из поиска», а по конкретным признакам. Сначала смотрим сам HTML, затем ответ сервера, затем статус в инструментах для вебмастеров.
- в исходном коде страницы есть
<meta name="robots" content="noindex,follow">; - в
robots.txtнет случайного запрета на важные разделы; - страница открывается с кодом
200, если вы рассчитываете на обработкуnoindex; - в панели вебмастера URL уходит в статус «исключено» или «не проиндексировано» после переобхода;
- канонический URL не указывает на случайную страницу, которая тоже закрыта от индексации.
Если вы закрыли страницу через robots.txt, а не через noindex, не ждите мгновенного удаления. Поисковик может держать URL в индексе до следующего обхода или до переоценки сигнала.
Частые ошибки и как их исправить
Закрыли URL в robots.txt и забыли про noindex
Это самая частая проблема. Страница перестаёт обходиться, но уже проиндексированный URL может остаться в выдаче. Исправление простое: уберите запрет на обход, добавьте noindex и дайте поисковику заново увидеть страницу.
Поставили noindex, но страница всё равно доступна в sitemap
Если URL остаётся в XML-карте сайта, вы отправляете поисковику противоречивый сигнал. Уберите такие страницы из sitemap на уровне SEO-плагина или генератора карты сайта. Иначе робот будет снова и снова получать URL, который вы хотите скрыть.
Закрыли архивы, которые реально дают трафик
Не все архивы одинаково бесполезны. На крупных сайтах архив автора, рубрики или тега может собирать полезный трафик и внутреннюю перелинковку. Перед закрытием посмотрите статистику запросов и переходов, а не ориентируйтесь только на количество URL.
Смешали каноникал, noindex и редирект
Если страница уже не нужна, иногда лучше сделать 301-редирект на релевантный URL, чем закрывать её от индексации. Но если контент должен остаться доступным для пользователей, а в поиск попадать не должен, используйте именно noindex. Не ставьте всё сразу без причины.
Практические советы по безопасности и производительности
Точечная настройка индексации помогает не только SEO, но и обслуживанию сайта. Чем меньше мусорных URL вы отдаёте поисковикам, тем проще контролировать структуру и не путать отчёты. Но не пытайтесь ускорить сайт через массовое закрытие страниц: это не кеш и не оптимизация рендера.
Если у вас много технических дублей, имеет смысл отдельно проверить:
- дубли с параметрами в URL;
- архивы тегов без контента;
- страницы вложений без смысла для поиска;
- результаты внутреннего поиска;
- пагинацию в разделах, где она не нужна для индексации.
Для сайтов, где нужно быстро навести порядок в дублях и служебных страницах, удобно сочетать ручную настройку с инструментами вроде Clearfy Pro, если он уже используется в проекте. Но даже в этом случае проверяйте итоговый HTML и карту сайта, а не полагайтесь только на галочки в интерфейсе.
Когда лучше не использовать robots.txt вообще
Если задача — убрать страницу из поиска, но оставить её доступной для обхода, robots.txt не должен быть единственным инструментом. Он полезен для ограничения обхода, но не для гарантированного удаления уже известных URL. В таких сценариях безопаснее опираться на noindex, а затем при необходимости добавить редирект или удалить страницу полностью.
Если хотите, чтобы страница исчезла быстрее, проверьте ещё и внутренние ссылки на неё: меню, хлебные крошки, блоки похожих материалов, архивы и виджеты. Пока URL активно связан внутри сайта, поисковик будет воспринимать его как значимый.