На WordPress часто индексируются не те страницы, которые нужны: результаты поиска по сайту, служебные архивы, страницы вложений, feed-адреса, параметры сортировки и внутренние URL плагинов. Если оставить их как есть, поисковик тратит краулинговый бюджет на мусор, а в индексе появляются слабые или дублирующие страницы.
Ниже — рабочая схема: сначала находим, что именно нужно закрыть, потом выбираем способ для каждого типа URL и проверяем, что поисковый робот действительно перестал их брать в индекс.
Какие страницы WordPress обычно стоит закрывать
Не нужно бездумно ставить noindex на весь сайт. Сначала разделите URL на две группы: полезные для поиска и служебные. В WordPress чаще всего закрывают:
- внутренний поиск вида
?s=; - страницы вложений медиафайлов, если они пустые или почти пустые;
- служебные архивы автора, дат, тегов и форматов, если они не несут ценности;
- страницы пагинации в тех разделах, где они не должны ранжироваться сами по себе;
- URL с параметрами фильтров, сортировки, UTM и технических переключателей;
- feed-ленты, если вы не используете их как отдельный канал трафика.
Если на сайте уже есть статьи, которые должны индексироваться, не закрывайте их только потому, что они похожи на служебные. Например, архив рубрики может быть полезным посадочным разделом, а не мусорной страницей.
Диагностика: где именно появляется лишняя индексация
Перед правками проверьте, какие URL уже попали в индекс и как они выглядят для робота. Это можно сделать вручную и через инструменты вебмастеров.
Что смотреть в первую очередь
- поисковую выдачу по оператору
site:ваш-домен; - отчёты об индексировании в Google Search Console и Яндекс Вебмастере;
- логи сервера, если нужно понять, какие URL реально обходятся ботом;
- исходный код проблемной страницы: есть ли
meta robots, canonical и редиректы.
Если страница уже в индексе, одного Disallow в robots.txt может быть недостаточно: робот перестанет её обходить, но URL может ещё долго висеть в выдаче без контента. Для таких случаев обычно нужен noindex на самой странице, а не только запрет обхода.
Что лучше: robots.txt, noindex или canonical
У каждого инструмента своя задача. Ошибка многих сайтов — закрывать всё подряд через robots.txt, а потом удивляться, что URL не исчезают из индекса или не передают сигналы канонической странице.
| Способ | Когда использовать | Ограничение |
|---|---|---|
robots.txt | Чтобы не тратить обход на служебные URL | Не гарантирует удаление уже проиндексированной страницы |
noindex | Чтобы убрать страницу из индекса | Страница должна быть доступна для обхода, иначе робот не увидит мета-тег |
canonical | Для дублей и параметрических URL, когда есть основная версия | Не подходит для полностью бесполезных страниц без альтернативы |
Пошаговое решение для WordPress
1. Закройте внутренний поиск и служебные параметры через robots.txt
Если у вас есть URL поиска, страницы с параметрами сортировки или фильтров, начните с запрета обхода. В WordPress файл robots.txt можно редактировать на уровне сервера или через SEO-плагин, если он умеет управлять этим файлом.
User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /*?orderby=
Disallow: /*?filter=
Disallow: /*?replytocom=
Это базовый пример, а не универсальный шаблон. Перед добавлением правил проверьте, как именно формируются URL на вашем сайте. У некоторых тем и плагинов параметры отличаются.
2. Добавьте noindex для страниц, которые должны исчезнуть из индекса
Если страница уже доступна и вы хотите, чтобы поисковик исключил её из выдачи, используйте noindex, follow. Для WordPress это можно сделать кодом, если SEO-плагин не покрывает нужный тип страниц.
<?php
add_action('wp_head', function () {
if (is_search() || is_attachment() || is_feed()) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
});
Такой подход уместен для внутренних поисков, вложений и feed-страниц, если вы не хотите видеть их в поиске. Для архивов автора или дат лучше сначала оценить, есть ли на них полезный контент и входящий трафик.
3. Для дублей используйте canonical, а не запрет обхода
Если у страницы есть основная версия и несколько технических вариантов с параметрами, canonical часто полезнее, чем жёсткий запрет. Например, сортировка, фильтр или UTM не должны создавать отдельную индексируемую страницу.
В WordPress canonical обычно уже выводится ядром или SEO-плагином. Но если у вас кастомный шаблон или нестандартный тип страницы, проверьте, что canonical указывает на чистый URL без параметров.
4. Уберите из индекса вложения, если они пустые
Медиафайлы в WordPress часто создают отдельные attachment-страницы, которые почти всегда бесполезны для поиска. Если тема или плагин не перенаправляет их на сам файл или родительскую запись, лучше закрыть такие страницы от индексации.
<?php
add_action('template_redirect', function () {
if (is_attachment()) {
$parent = wp_get_post_parent_id(get_queried_object_id());
if ($parent) {
wp_safe_redirect(get_permalink($parent), 301);
exit;
}
wp_safe_redirect(home_url('/'), 301);
exit;
}
});
Этот вариант практичнее, чем просто оставлять attachment-страницу пустой и надеяться на noindex. Если у вложения нет нормального родителя, редирект на главную — не идеал, но лучше, чем индексируемая пустая страница.
Чек-лист перед публикацией правок
- Проверьте, не закрываете ли вы важные посадочные страницы.
- Убедитесь, что
robots.txtне блокирует CSS, JS иadmin-ajax.php. - Для уже проиндексированных URL добавьте
noindex, а не толькоDisallow. - Проверьте canonical на страницах с параметрами.
- Сделайте 301-редирект для пустых attachment-страниц, если они не нужны.
- Сохраните список URL, которые вы закрывали, чтобы потом сравнить с отчётами в Search Console.
Как проверить, что решение сработало
После внедрения не ограничивайтесь просмотром исходного кода. Нужна проверка с точки зрения поискового робота.
- Откройте проблемный URL в браузере и убедитесь, что он отдаёт нужный код ответа: 200, 301 или 404 в зависимости от сценария.
- Посмотрите исходный код страницы и найдите
meta name="robots"и canonical. - Проверьте, не блокируется ли URL в
robots.txtраньше, чем робот сможет увидетьnoindex. - В Google Search Console отправьте страницу на повторную проверку, если она уже была в индексе.
- Через несколько дней проверьте, уменьшилось ли число служебных URL в отчётах об индексировании.
Если страница закрыта через robots.txt, но всё ещё видна в поиске, это ожидаемо. В таком случае либо дождитесь переобхода, либо временно снимите блокировку и дайте роботу увидеть noindex.
Частые ошибки и как их исправить
Закрыли страницу в robots.txt и ждёте удаления из индекса
Это самая частая ошибка. Disallow запрещает обход, но не всегда убирает URL из выдачи. Если страница уже проиндексирована, добавьте noindex или редирект.
Поставили noindex, но одновременно закрыли URL в robots.txt
Так делать можно не всегда. Если робот не может обойти страницу, он не увидит мета-тег noindex. Для удаления из индекса сначала дайте доступ на обход, потом закрывайте.
Сломали важные ресурсы сайта
Иногда в robots.txt случайно закрывают папки с темой, скриптами или стилями. После этого страницы начинают рендериться некорректно, а поисковик видит сайт хуже. Проверьте, что не заблокированы файлы, нужные для отображения интерфейса.
Удалили attachment-страницы без редиректа
Если вложение уже получало трафик или ссылки, лучше сделать 301 на родительскую запись. Просто удалить URL — значит потерять накопленные сигналы и получить цепочку ошибок.
Что учесть по безопасности и производительности
Служебные URL не только мешают SEO, но и создают лишнюю нагрузку. Особенно это заметно на сайтах с активным поиском, фильтрами и большим количеством медиафайлов.
- не оставляйте открытыми бесконечные комбинации параметров;
- не генерируйте отдельные страницы под каждый технический фильтр, если они не нужны в поиске;
- проверяйте, не создаёт ли плагин SEO или кэширования конфликт между canonical,
noindexи редиректами; - не закрывайте в
robots.txtто, что нужно для корректной отрисовки страницы; - после изменений очистите кэш страницы и CDN, если он используется.
Если нужен более удобный контроль над дублями и служебными страницами, в экосистеме WPShop есть Clearfy Pro: он закрывает часть типовых технических задач без ручного редактирования шаблонов. Но даже с плагином всё равно стоит понимать, какие URL вы закрываете и почему.
Главный критерий здесь простой: служебная страница не должна конкурировать с полезной. Если она нужна только для работы сайта, её надо либо убрать из индекса, либо перенаправить на основную версию, либо вообще не отдавать поисковику как отдельную сущность.