Технические страницы WordPress часто попадают в индекс не потому, что сайт «плохой», а потому что поисковик видит лишние URL: архивы автора, страницы поиска, вложения медиафайлов, служебные результаты фильтров, пагинацию с дублями, тестовые разделы. Если их не контролировать, в индексе быстро появляется мусор, а полезные страницы получают меньше внимания краулера.
Задача здесь не в том, чтобы закрыть всё подряд. Нужен точечный контроль: что оставить открытым, что убрать из индекса, а что вообще не отдавать поисковым роботам. Ниже — рабочая схема для WordPress без выдуманных хуков и без опасных «универсальных» запретов.
Какие страницы обычно нужно закрывать
Перед правками стоит понять, какие URL реально создают проблему. В WordPress чаще всего это:
- страницы поиска вида
?s=; - архивы автора на сайтах с одним автором;
- вложения медиафайлов, если у них есть отдельные страницы;
- служебные страницы пагинации, если они дублируют основной контент;
- технические таксономии и фильтры, которые не несут самостоятельной ценности;
- тестовые или временные разделы, которые забыли убрать из меню и sitemap.
Не стоит автоматически закрывать категории, теги и пагинацию только потому, что они «похожи на дубли». На контентных сайтах эти страницы часто полезны для навигации и внутренней перелинковки. Решение зависит от структуры проекта.
Диагностика: где именно появляется индексный мусор
Сначала проверьте, какие URL уже попали в индекс и откуда они взялись. Самый быстрый способ — поиск по сайту в Google с оператором site:domain.ru. Для WordPress полезно отдельно посмотреть:
site:domain.ru inurl:?s=— поисковые страницы;site:domain.ru inurl:/author/— архивы авторов;site:domain.ru inurl:/attachment/или страницы вложений;site:domain.ru inurl:/page/— пагинация;site:domain.ru inurl:?replytocom=— старые комментарийные URL, если они ещё где-то доступны.
Дальше откройте robots.txt, sitemap и настройки SEO-плагина. Частая ошибка — закрыть URL в robots.txt, но оставить их доступными по прямой ссылке и без noindex. В таком случае поисковик может продолжать знать о странице, просто не сможет её переобойти. Для уже проиндексированных URL этого часто недостаточно.
Что проверить в первую очередь
- Есть ли у страниц заголовок, мета-описание и канонический URL.
- Отдаёт ли страница код
200 OKили уже редиректится/удалена. - Есть ли она в sitemap.xml.
- Не генерирует ли тема или плагин отдельные архивы без необходимости.
- Не закрыт ли важный раздел случайно через
Disallow.
Пошаговое решение: как закрыть технические URL правильно
Лучше использовать не один метод, а комбинацию: noindex для страниц, которые должны быть доступны пользователю, и robots.txt для явных служебных путей, которые не нужны краулеру вообще.
1. Закрываем поиск, архивы автора и вложения через noindex
Если у вас есть SEO-плагин, сначала проверьте его настройки. Во многих случаях этого достаточно: можно отключить индексацию архивов автора, страниц поиска и вложений без кода. Если нужен кодовый вариант, используйте фильтр wp_robots — он добавляет директивы для конкретных шаблонов.
<?php
add_filter('wp_robots', function (array $robots) {
if (is_search() || is_author() || is_attachment()) {
$robots['noindex'] = true;
$robots['nofollow'] = false;
}
return $robots;
});Этот подход безопаснее, чем жёстко резать URL в robots.txt, потому что страница остаётся доступной для пользователя, но получает понятный сигнал для индексации.
2. Закрываем служебные пути в robots.txt
Если на сайте есть очевидные технические маршруты, которые не должны обходиться роботами, их можно закрыть в robots.txt. Пример для типичного WordPress-сайта:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/
Disallow: /attachment/
Sitemap: https://domain.ru/sitemap_index.xmlНо здесь важно не переборщить. Не закрывайте /wp-content/uploads/ без понимания последствий: изображения и медиафайлы часто нужны в поиске. Если у вас проблема только в страницах вложений, закрывайте именно их, а не сами файлы.
3. Убираем страницы вложений в каноникал или редирект
На многих сайтах страницы вложений вообще не нужны. В этом случае лучше не оставлять их как отдельные URL. Практичный вариант — редиректить attachment page на сам файл или на родительскую запись. Если используете SEO-плагин, у него часто есть отдельная настройка для вложений. Если нужен код, можно сделать редирект на уровне шаблона:
<?php
add_action('template_redirect', function () {
if (is_attachment()) {
$parent = wp_get_post_parent_id(get_the_ID());
if ($parent) {
wp_safe_redirect(get_permalink($parent), 301);
} else {
wp_safe_redirect(home_url('/'), 301);
}
exit;
}
});Это особенно полезно, если вложения уже успели попасть в индекс и тянут на себя бесполезный трафик.
Сравнение подходов: плагин, код или только robots.txt
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть типовые архивы и дубли | Меньше кода, проще поддержка | Не всегда покрывает нестандартные URL |
| Код в теме или мини-плагине | Нужна точечная логика для конкретных шаблонов | Гибкость, контроль над условиями | Требует тестирования после обновлений |
| robots.txt | Нужно закрыть явные служебные пути от обхода | Просто и быстро | Не решает проблему уже проиндексированных страниц |
Если сайт небольшой и структура типовая, обычно хватает настроек SEO-плагина плюс аккуратный robots.txt. Если у вас кастомные типы записей, фильтры и нестандартные архивы, без кода часто не обойтись.
Проверка результата после внедрения
После правок не стоит сразу ждать, что поисковик всё переиндексирует. Сначала проверьте техническую сторону:
- открывается ли закрытая страница в браузере;
- есть ли в исходном коде
noindex; - не пропала ли важная страница из sitemap;
- не сломались ли канонические ссылки;
- не появились ли ошибки 404 после редиректов.
Для быстрой проверки можно открыть исходный код страницы и найти строку с robots-макросами. Если используете Google Search Console, отправьте URL на повторную проверку и посмотрите, как робот видит страницу: индексируется ли она, есть ли каноникал, не заблокирована ли она случайно.
Если вы редиректите вложения, проверьте несколько URL вручную через curl или любой HTTP-checker. Важно увидеть именно 301, а не цепочку редиректов через два-три шага.
curl -I https://domain.ru/sample-attachment/В ответе должен быть понятный статус и конечный адрес. Если вместо этого вы видите 200 OK, значит редирект не сработал или был перехвачен другим плагином.
Частые ошибки и как их исправить
Закрыли URL в robots.txt, но забыли про noindex
Это самая частая ситуация. Страница остаётся в индексе, потому что поисковик уже знает о ней, но не может переобойти и увидеть новый сигнал. Исправление: добавьте noindex на саму страницу и дождитесь переобхода.
Случайно закрыли важные категории или пагинацию
Так бывает после копирования чужого robots.txt. Если категория приносит трафик и помогает навигации, не закрывайте её без анализа. Для пагинации решение зависит от сайта: иногда её лучше оставить открытой, иногда — закрыть от индекса, но не от обхода.
Редирект вложений ведёт на главную
Это рабочий вариант только если у вложения нет родителя. Если родитель есть, логичнее отправлять пользователя на исходную запись. Иначе вы теряете контекст и создаёте лишний шум в логах.
В sitemap остались URL, которые вы уже закрыли
Если URL остаётся в sitemap, поисковик будет продолжать его видеть как потенциально важный. После изменения настроек проверьте генератор sitemap и исключите из него технические типы записей и архивы, которые не должны индексироваться.
Практические советы по безопасности и производительности
Чем меньше мусорных URL обходят поисковые роботы, тем меньше лишней нагрузки на сайт. Это не заменяет кэш, но помогает сократить бесполезные запросы к архивам и поиску. На больших сайтах особенно полезно:
- не генерировать страницы вложений, если они не нужны;
- не оставлять открытыми внутренние поисковые URL;
- не плодить архивы таксономий без контента;
- проверять, что закрытые разделы не попадают в меню и внутренние ссылки;
- держать настройки индексации в одном месте, а не размазывать их по теме, плагинам и robots.txt.
Если вам нужен более системный контроль над дублями, архивами и технической чисткой, удобно вынести это в один SEO-инструмент или аккуратный набор настроек. В экосистеме WPShop для таких задач иногда используют Clearfy Pro, но сам принцип остаётся тем же: сначала диагностика, потом точечное закрытие, затем проверка в поисковой консоли.
Если коротко, правильная схема выглядит так: сначала находите конкретные технические URL, потом решаете для каждого типа — noindex, редирект или запрет обхода, и только после этого проверяете, что из индекса действительно уходит мусор, а полезные страницы не пострадали.