В WordPress технические страницы часто попадают в индекс не из-за ошибки в поисковике, а из-за стандартной конфигурации сайта. Это архивы авторов без контента, страницы вложений, внутренний поиск, служебные таксономии, пагинация с дублями и URL, которые не несут самостоятельной ценности. Если их не контролировать, в Search Console быстро появляются лишние URL, а поисковый робот тратит обход на мусорные страницы.
Ниже — рабочая схема: сначала находим, что именно нужно закрыть, потом выбираем способ для WordPress, проверяем результат и разбираем типовые ошибки.
Какие страницы обычно нужно закрывать
Не стоит закрывать всё подряд. У каждой группы страниц разная логика. Например, архив категорий может быть полезен, а архивы автора на сайте без редакционной команды — нет. Страница вложения почти всегда бесполезна как отдельная посадочная, а внутренний поиск часто создает бесконечные комбинации URL с параметрами.
Типовые кандидаты на закрытие
- страницы вложений медиафайлов;
- архивы авторов, если у автора нет отдельной SEO-ценности;
- внутренний поиск WordPress с параметром
?s=; - служебные страницы с пагинацией, если они дублируют основной контент;
- теги и архивы таксономий, которые не дают трафик и не содержат уникального текста;
- страницы с параметрами сортировки и фильтров, если они индексируются как отдельные URL.
Диагностика: что уже попало в индекс
Перед правками нужно понять, какие URL реально индексируются. Иначе легко закрыть важные страницы или, наоборот, оставить в индексе мусор. Самый простой путь — посмотреть отчеты в Google Search Console и выгрузить список URL, которые уже попали в индекс. Дополнительно полезно проверить сайт через site:example.com и поиск по шаблонам URL.
Если у вас есть доступ к серверным логам, посмотрите, какие служебные URL чаще всего обходятся ботом. Это помогает понять, где робот тратит краулинговый бюджет. Для небольших сайтов достаточно Search Console и ручной проверки шаблонов URL.
Чек-лист перед изменениями
- проверить, есть ли у страницы реальная ценность для поиска;
- посмотреть, не ведет ли на нее внутренняя перелинковка;
- убедиться, что URL не используется в sitemap;
- проверить, не стоит ли на странице canonical на важную версию;
- сохранить текущие настройки SEO-плагина, чтобы можно было откатить изменения.
Пошаговое решение в WordPress
Есть три нормальных способа: через SEO-плагин, через robots.txt и через код. В реальной работе чаще всего используют комбинацию: для массовых шаблонов — настройки плагина, для точечных случаев — код или фильтры.
| Подход | Когда использовать | Плюс | Минус |
|---|---|---|---|
| SEO-плагин | Архивы, теги, авторы, пагинация | Быстро и безопасно | Не все сценарии покрывает |
robots.txt | Нужно ограничить обход, а не индекс | Просто внедрить | Не удаляет URL из индекса мгновенно |
| Код | Точные правила для конкретного сайта | Полный контроль | Нужна аккуратность и тестирование |
1. Закрываем архивы и служебные страницы через SEO-плагин
Если у вас установлен плагин вроде Yoast SEO, Rank Math или Clearfy Pro, начните с интерфейса. Для архивов авторов, тегов и некоторых таксономий обычно достаточно переключателя noindex. Это безопаснее, чем править шаблоны вручную, потому что плагин сам добавит нужные мета-теги и не сломает разметку.
Если на сайте много дублей и служебных страниц, уместно посмотреть в сторону Clearfy Pro: у него как раз есть набор настроек для чистки WordPress, отключения дублей и управления индексированием без ручного кода.
2. Закрываем внутренний поиск и параметры в robots.txt
Если поисковик активно обходит URL поиска, можно ограничить их в robots.txt. Это не заменяет noindex, но уменьшает лишний обход. Для WordPress обычно достаточно запретить шаблон поиска и служебные параметры, если они не нужны для индексации.
User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.phpВажно: robots.txt не удаляет уже проиндексированные URL. Если страница уже в индексе, нужен noindex или 301-редирект на релевантную страницу.
3. Добавляем noindex для точечных шаблонов через код
Когда нужно закрыть только часть страниц, удобнее добавить правило в тему или мини-плагин. Например, можно закрыть архивы авторов, если на сайте нет уникальных страниц авторов, и закрыть страницы поиска. Ниже пример для functions.php дочерней темы или собственного плагина.
<?php
add_action('wp_head', function () {
if (is_search() || is_author() || is_attachment()) {
echo '<meta name="robots" content="noindex, nofollow" />' . "\n";
}
});Для вложений такой вариант работает, но лучше не ограничиваться только мета-тегом. Если у медиафайла есть отдельная страница вложения, логичнее редиректить ее на сам файл или на родительскую запись, если это соответствует структуре сайта.
<?php
add_action('template_redirect', function () {
if (is_attachment()) {
$parent = wp_get_post_parent_id(get_the_ID());
if ($parent) {
wp_redirect(get_permalink($parent), 301);
exit;
}
}
});Как проверить, что решение сработало
После внедрения не ограничивайтесь просмотром исходного кода. Нужно проверить и серверный ответ, и поведение поисковика. Если страница закрыта правильно, она либо отдает noindex, либо уходит в редирект, либо перестает появляться в новых обходах.
Что проверить вручную
- открыть страницу в браузере и посмотреть исходный код на наличие
<meta name="robots" content="noindex, nofollow" />; - проверить заголовки ответа, если используете серверные правила;
- посмотреть, исчезла ли страница из sitemap;
- запросить проверку URL в Google Search Console;
- убедиться, что важные страницы не получили случайный
noindex.
Если используется редирект для вложений, проверьте код ответа через инструменты разработчика браузера или curl -I. Для WordPress это особенно важно, потому что некоторые плагины SEO и кеширования могут конфликтовать между собой и отдавать неожиданные заголовки.
curl -I https://example.com/sample-attachment/Частые ошибки и как их исправить
Закрыли страницу в robots.txt, но она осталась в индексе
Это нормальная ситуация. robots.txt запрещает обход, но не гарантирует удаление из индекса. Если URL уже известен поисковику, добавьте noindex или настройте 301-редирект на релевантную страницу.
Поставили noindex на важный архив
Такое часто случается с категориями, которые реально собирают трафик. Перед массовым закрытием проверьте статистику запросов и страницы входа. Если архив дает переходы из поиска, не трогайте его без причины.
Закрыли страницу, но она все равно появляется в sitemap
Это значит, что SEO-плагин или тема не синхронизированы. Страница с noindex не должна оставаться в XML-карте сайта, если вы хотите ускорить ее вывод из индекса. Проверьте настройки sitemap в плагине и исключите шаблон.
Сделали редирект вложений на главную
Это плохая практика для большинства сайтов. Для вложений лучше редиректить на родительскую запись или на сам файл, если медиа действительно нужно открывать отдельно. Массовый редирект на главную выглядит как ошибка для пользователя и поисковика.
Безопасность и производительность
Чем меньше мусорных URL индексируется и обходится ботом, тем меньше лишней нагрузки на сайт. Это не магическая оптимизация, но на больших проектах она заметна. Особенно если у вас много тегов, фильтров, архивов и вложений.
При правках через код не редактируйте основной файл темы напрямую. Используйте дочернюю тему или небольшой mu-plugin, чтобы обновление не затерло изменения. Перед массовым закрытием страниц сделайте резервную копию и проверьте, как сайт ведет себя после очистки кеша.
Если задача шире, чем один шаблон, и нужно одновременно убрать дубли, отключить лишние архивы и почистить служебные URL, лучше собрать это в одном месте, а не размазывать по нескольким плагинам и кускам кода. Так проще сопровождать и откатывать изменения.
Практический ориентир простой: закрывайте только то, что не должно ранжироваться само по себе. Остальное лучше оставить доступным и управлять каноникалами, внутренней перелинковкой и качеством контента.