Как запретить индексацию технических страниц WordPress без потери важных URL

Технические страницы 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, редирект или запрет обхода, и только после этого проверяете, что из индекса действительно уходит мусор, а полезные страницы не пострадали.

Как исключить определённые плагины из автообновлений в WordPress
01.05.2026
Как сделать автоматическое удаление старого контента в WordPress
26.12.2025
WooCommerce: как автоматически удалять заказы по статусу после оплаты
31.05.2026
WooCommerce: автоматическое удаление товаров после покупки с подробной настройкой
23.05.2026
Как добавить дополнительное поле в форму регистрации WordPress
22.12.2025