Если сайт на WordPress начал плодить архивы, вложения, теги и другие страницы без реальной ценности для поиска, проблему лучше решать не точечно, а по схеме: сначала найти, что именно индексируется, потом выбрать способ закрытия и только после этого проверять результат в поиске и крауле.
На практике чаще всего мешают не «плохие страницы» сами по себе, а их сочетание: архивы автора на блоге с одним редактором, страницы вложений с тонким контентом, теги с дублями записей, служебные результаты поиска и пагинация, которая размножает один и тот же контент. Если это не контролировать, поисковик тратит обход на мусорные URL, а важные страницы получают меньше внимания.
Что именно нужно закрывать и почему
Не все страницы, которые выглядят второстепенными, надо запрещать одинаково. Одни лучше убрать из индекса, но оставить доступными для пользователей. Другие стоит вообще не отдавать поисковикам через noindex. Третьи логичнее закрыть на уровне генерации URL или шаблона.
Типовые служебные URL в WordPress
- архивы автора, если автор один и страница не несет отдельной ценности;
- архивы тегов, особенно когда теги дублируют рубрики;
- архивы дат, если сайт не новостной и дата не нужна как точка входа;
- страницы вложений, которые открывают пустую оболочку вокруг изображения;
- служебный поиск вида
?s=; - страницы пагинации архивов, если они создают много слабых дублей;
- служебные таксономии и CPT-архивы, которые не должны попадать в поиск.
Диагностика: как понять, что именно уже индексируется
Сначала проверьте не настройки «на глаз», а фактические URL в индексе и в крауле. Для этого достаточно трех источников: поиск по сайту, отчет поисковой системы и сканер вроде Screaming Frog или аналогичного краулера.
Что смотреть в первую очередь
- по запросу
site:example.comищите архивы автора, теги, вложения и служебные страницы; - в отчете покрытия проверьте, какие URL попали в индекс без явной пользы;
- в краулере отфильтруйте URL с
/author/,/tag/,/attachment/,?s=и пагинацией; - сравните количество страниц в sitemap и количество реально нужных страниц;
- посмотрите, не отдают ли служебные страницы статус 200 и полноценный индексируемый HTML.
Если у вас уже подключен SEO-плагин, проверьте, не включены ли архивы автора и теги по умолчанию. Часто проблема возникает именно из-за того, что сайт вырос, а базовые настройки остались как после установки.
Как закрыть служебные страницы: рабочие варианты
Есть три нормальных подхода: через SEO-плагин, через robots.txt и через код темы или мини-плагина. Выбор зависит от того, нужно ли просто убрать страницу из индекса или полностью изменить поведение URL.
| Способ | Когда подходит | Плюс | Минус |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы, теги, автора, вложения | Меньше кода, проще поддержка | Зависит от интерфейса плагина |
robots.txt | Нужно ограничить обход, но не решать индексацию полностью | Быстро и просто | Не гарантирует удаление из индекса |
| Код в теме/плагине | Нужен точный контроль над noindex и редиректами | Гибкость и предсказуемость | Требует аккуратности при обновлениях |
Вариант 1: закрыть архивы и вложения через код
Если вы не хотите зависеть от интерфейса плагина, можно добавить noindex и убрать ссылки на архивы вложений. Ниже пример для мини-плагина или functions.php. Для темы лучше использовать дочернюю тему или отдельный плагин, чтобы не потерять изменения при обновлении.
<?php
add_action('wp_head', function () {
if (is_author() || is_tag() || is_date() || is_attachment() || is_search()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
}, 1);
add_action('template_redirect', function () {
if (is_attachment()) {
$parent = wp_get_post_parent_id(get_queried_object_id());
if ($parent) {
wp_redirect(get_permalink($parent), 301);
exit;
}
wp_redirect(home_url('/'), 301);
exit;
}
});Этот вариант решает две задачи сразу: служебные архивы получают noindex, а страницы вложений не остаются пустыми URL. Для вложений редирект на родительскую запись обычно безопаснее, чем оставлять отдельную страницу.
Вариант 2: запретить обход в robots.txt
robots.txt полезен, когда нужно сократить обход мусорных URL, но он не заменяет noindex. Если страница уже в индексе, запрет в robots может даже помешать поисковику увидеть мета-тег и удалить URL быстрее.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /tag/
Disallow: /attachment/Такой файл не стоит считать универсальным. Например, если у вас в ЧПУ другой префикс для тегов или поиска, правила нужно адаптировать под реальную структуру сайта. И не закрывайте в robots то, что должно быть доступно для индексации, если вы просто хотите убрать дубли из поиска.
Вариант 3: отключить архивы, если они не нужны вообще
Если на сайте один автор и архив автора не несет пользы, его можно не только закрыть, но и убрать из генерации. Для этого лучше использовать SEO-плагин или собственный код, который перенаправляет архив автора на главную или на страницу «О нас». Это уже не вопрос индексации, а вопрос архитектуры сайта.
Пример редиректа архива автора:
<?php
add_action('template_redirect', function () {
if (is_author()) {
wp_redirect(home_url('/'), 301);
exit;
}
});Перед таким редиректом проверьте, нет ли у вас реальных авторских страниц, которые используются как посадочные. Если есть, редирект будет ошибкой.
Пошаговое решение без лишнего риска
- Составьте список URL, которые не должны попадать в поиск: авторы, теги, даты, вложения, поиск, пагинация.
- Проверьте, не ведут ли на них внутренние ссылки из меню, хлебных крошек и блоков похожих записей.
- Выберите способ закрытия:
noindexдля архивов, редирект для вложений, robots для снижения обхода. - Внесите изменения в дочернюю тему или отдельный плагин, а не в ядро темы.
- Обновите sitemap, чтобы в него не попадали закрытые URL.
- Переобойдите сайт краулером и проверьте, что служебные URL больше не выглядят как основные страницы.
Как проверить, что решение сработало
Проверка нужна не только в исходном коде страницы. Важно убедиться, что поисковик видит именно то, что вы задумали.
Мини-чек-лист проверки
- на служебных страницах есть
<meta name="robots" content="noindex,follow">; - страницы вложений отвечают 301 и ведут на родительскую запись или главную;
- закрытые URL исчезли из sitemap;
- внутренние ссылки больше не ведут на пустые архивы;
- краулер не находит новые служебные страницы с кодом 200;
- в отчете индексации уменьшается доля мусорных URL, а не только меняется их статус.
Для быстрой ручной проверки откройте страницу в браузере, посмотрите исходный код и заголовки ответа. Если есть доступ к серверу или консоли, можно проверить заголовки так:
curl -I https://example.com/author/admin/В ответе вы должны увидеть либо 301/302 на нужный URL, либо обычный 200 с корректным noindex в HTML. Если страница закрыта только в robots, это еще не значит, что она исчезнет из индекса быстро и без дополнительных действий.
Частые ошибки и как их исправить
Закрыли страницу в robots.txt и остановились
Это самая частая ошибка. Robots ограничивает обход, но не решает проблему индексации сам по себе. Если URL уже в поиске, добавьте noindex или редирект, а robots используйте как дополнительный слой.
Поставили noindex на все подряд
Иногда вместе со служебными страницами случайно закрывают рубрики, пагинацию или страницы, которые реально приводят трафик. Перед правками проверьте, какие архивы у вас работают как точки входа. Если рубрики дают переходы, их нельзя бездумно убирать.
Оставили страницы вложений без редиректа
Страница вложения часто выглядит как пустой шаблон с одной картинкой. Если не сделать редирект, она продолжит жить как отдельный URL. Для медиа это особенно заметно на старых сайтах с большим количеством изображений.
Меняли код в родительской теме
После обновления темы правки исчезнут. Для таких задач нужен дочерний шаблон или отдельный плагин с небольшим набором функций. Это не только безопаснее, но и проще для поддержки.
Не обновили sitemap
Если закрытые URL продолжают попадать в карту сайта, вы сами подсказываете поисковику, что они важны. После изменений проверьте генерацию sitemap в SEO-плагине или в настройках темы.
Что делать с безопасностью и производительностью
Закрытие служебных страниц помогает не только индексации. Меньше мусорных URL — меньше лишних запросов к шаблонам, меньше обхода ботами и меньше шансов, что в поиске всплывут технические страницы с неаккуратным контентом.
Если на сайте много архивов, тегов и вложений, имеет смысл дополнительно проверить:
- не создаются ли дубли через параметры URL;
- не генерируются ли отдельные страницы для медиа без необходимости;
- не дублируются ли заголовки и мета-описания на архивных страницах;
- не разрастается ли sitemap за счет служебных разделов.
Для сайтов, где нужна более системная чистка дублей и технических страниц, иногда удобнее использовать специализированный SEO-плагин с управлением архивами и sitemap. Например, в Clearfy Pro есть инструменты для удаления дублей и технической оптимизации, что полезно именно на сайтах с большим количеством служебных URL: https://wpshop.ru/plugins/clearfy.
Но даже с плагином логика остается той же: сначала понять, что индексируется, потом закрыть лишнее, потом проверить фактический результат в поиске и краулере. Иначе можно просто спрятать проблему, не убрав ее причину.