Как закрыть от индексации страницы фильтров в WordPress без поломки SEO

На WordPress страницы фильтров часто появляются сами: архивы с параметрами, сортировки, фасетная навигация, результаты фильтрации по таксономиям. Для пользователя это удобно, а для поисковика — источник дублей, мусорных URL и размывания веса. Проблема в том, что закрывать нужно не всё подряд, а только те варианты, которые не несут самостоятельной ценности.

Ниже — практический сценарий: как диагностировать фильтры, выбрать способ закрытия и проверить, что сайт не потерял полезную индексацию.

Когда фильтры становятся проблемой

Типичный симптом — в индексе появляются десятки или сотни URL с параметрами вроде ?color=red, ?sort=price, ?brand=... или комбинациями вида /catalog/?size=m&color=black. Если эти страницы не дают уникального контента, поисковик начинает тратить обход на однотипные варианты.

Проверять стоит не только индекс, но и логи поведения сайта:

  • в Search Console растёт число страниц с параметрами;
  • в выдаче видны URL с сортировками и фильтрами вместо канонических;
  • на сайте появляются дубли title и description;
  • одна и та же категория доступна по нескольким адресам.

Что считать нормой, а что — лишним

Если фильтр создаёт полноценную посадочную страницу с уникальным спросом, текстом, метаданными и стабильным URL, её можно оставить для индексации. Но если это просто техническая комбинация параметров, которая меняет только выдачу товаров или записей, её лучше закрыть от индексации и, при необходимости, от обхода.

Диагностика: где именно рождаются дубли

Сначала нужно понять, откуда идут лишние адреса: из темы, плагина фильтрации, ручной разметки или настроек ЧПУ. Самый быстрый путь — посмотреть реальные URL в Search Console и пройтись по сайту с включёнными параметрами.

Полезно проверить:

  • архивы таксономий;
  • страницы поиска по сайту;
  • сортировки и фильтры в URL;
  • пагинацию внутри фильтров;
  • дубли с www/non-www, со слешем и без него.

Если на сайте уже есть отдельные статьи про пагинацию и внутренний поиск, не смешивайте их с фильтрами: у каждого типа дублей свой способ обработки. Здесь речь именно о страницах, которые возникают из параметров фильтрации.

Как закрыть страницы фильтров: рабочие варианты

Есть три практических подхода. Выбор зависит от того, как устроен сайт и насколько глубоко фильтры встроены в шаблон.

СпособКогда подходитПлюсыМинусы
meta robots noindexНужно убрать страницу из индекса, но оставить доступной для пользователяПросто внедрить, не ломает навигациюСтраница всё ещё может обходиться роботом
canonical на основную страницуФильтр не должен иметь самостоятельного весаПомогает склеить сигналыНе всегда достаточно без noindex
запрет в robots.txtПараметр создаёт массовый мусор и не нужен в обходеСнижает нагрузку на обходНе гарантирует удаление из индекса, если URL уже известен

Вариант 1: noindex для параметров фильтра

Если фильтры генерируются через GET-параметры, можно отдать для таких страниц мета-тег noindex,follow. Это самый безопасный вариант, когда вы хотите сохранить переходы по сайту, но убрать мусорные адреса из индекса.

<?php
add_action('wp_head', function () {
    if (is_admin()) {
        return;
    }

    $filter_params = array('color', 'size', 'brand', 'sort');

    foreach ($filter_params as $param) {
        if (isset($_GET[$param]) && $_GET[$param] !== '') {
            echo '<meta name="robots" content="noindex,follow" />' . "\n";
            break;
        }
    }
});

Этот пример не привязан к конкретному плагину и работает на уровне темы или небольшого mu-plugin. Но перед внедрением проверьте, какие именно параметры используются у вас: список должен совпадать с реальными URL.

Вариант 2: canonical на базовую страницу

Если фильтр не должен иметь отдельной поисковой ценности, canonical помогает указать основную версию страницы. Это особенно полезно, когда фильтр меняет только сортировку или порядок вывода.

<?php
add_filter('wpseo_canonical', function ($canonical) {
    if (isset($_GET['sort']) || isset($_GET['brand']) || isset($_GET['color'])) {
        return get_permalink(get_queried_object_id());
    }

    return $canonical;
});

Этот пример рассчитан на сайты, где уже используется Yoast SEO. Если у вас другой SEO-плагин, логика та же: нужно вернуть канонический URL без параметров. Но canonical не заменяет noindex, если фильтр генерирует много мусорных комбинаций.

Вариант 3: запрет обхода в robots.txt

Если фильтры создают огромный объём технических URL, можно дополнительно ограничить обход параметров. Это не универсальное решение, но для некоторых сайтов помогает снизить нагрузку.

User-agent: *
Disallow: /*?sort=
Disallow: /*?color=
Disallow: /*?size=
Disallow: /*?brand=

Здесь важно не переусердствовать. Если закрыть слишком широкий шаблон, можно случайно заблокировать полезные страницы. Robots.txt — это инструмент для управления обходом, а не для тонкой SEO-логики.

Пошаговое решение без лишнего риска

  1. Соберите список параметров, которые реально создают дубли.
  2. Отделите полезные посадочные страницы от технических комбинаций.
  3. Добавьте noindex,follow для мусорных фильтров.
  4. Поставьте canonical на базовую страницу там, где это логично.
  5. При необходимости ограничьте обход в robots.txt.
  6. Проверьте, не ломается ли внутренняя перелинковка и пагинация.

Если фильтры генерируются плагином, лучше искать настройки в самом плагине. Многие решения для фасетной навигации умеют задавать canonical, noindex или исключать параметры из индексации без правок темы. Если же плагин этого не умеет, тогда уже имеет смысл добавлять код в дочернюю тему или mu-plugin.

Как проверить, что решение сработало

Проверка нужна не только в браузере, но и в поисковых инструментах. После внедрения откройте несколько URL с параметрами и убедитесь, что:

  • в исходном коде есть meta robots noindex,follow для нужных страниц;
  • canonical ведёт на чистый URL без параметров;
  • страницы с фильтрами не получают отдельные title и description, если это не задумано;
  • в Search Console уменьшается число обнаруженных параметризованных URL;
  • внутренние ссылки продолжают работать и не ведут в тупик.

Для быстрой проверки можно открыть страницу и посмотреть исходный код через браузер или командой:

curl -I "https://example.com/catalog/?color=red"

curl -s "https://example.com/catalog/?color=red" | grep -i "robots\|canonical"

Если сервер отдаёт редирект на чистый URL, это тоже допустимо, но только если фильтр не нужен пользователю как отдельная страница. В противном случае редирект может ухудшить UX.

Частые ошибки и как их исправить

Закрывают все параметры подряд

Ошибка встречается часто: под noindex попадает не только мусор, но и полезные страницы. Исправление простое — сначала составьте список параметров, а потом тестируйте на выборке URL.

Ставят только robots.txt и считают задачу решённой

Если URL уже известен поисковику, один robots.txt не гарантирует исчезновение из индекса. Лучше сочетать noindex и canonical, а robots использовать как дополнительный слой.

Путают фильтры с посадочными страницами

Иногда фильтр по бренду или категории на самом деле является коммерчески важной страницей. Такие URL нельзя бездумно закрывать. Для них нужен отдельный контент, стабильный адрес и понятная внутренняя ссылка.

Не проверяют шаблон темы

Бывает, что SEO-плагин настроен правильно, но тема выводит собственный canonical или дублирует мета-теги. Тогда в исходнике появляются конфликтующие сигналы. Исправление — убрать дублирующий код из темы и оставить один источник метаданных.

Безопасность и производительность

Чем больше параметров фильтрации, тем выше шанс, что сайт будет генерировать лишние запросы к базе. Это особенно заметно на больших каталогах и архивных сайтах. Если фильтры тяжёлые, проверьте кэширование страниц и не отдавайте уникальный HTML для каждого малозначимого параметра без необходимости.

Если вы вносите правки кодом, лучше вынести их в отдельный mu-plugin, а не править ядро темы. Так обновления не сотрут настройки. И обязательно тестируйте на staging-копии: фильтры легко ломают каноникал, хлебные крошки и цепочки пагинации.

Для сайтов, где нужно одновременно чистить дубли, настраивать canonical и убирать лишние технические страницы, иногда удобнее использовать набор инструментов вроде Clearfy Pro: он закрывает часть рутинных SEO-задач без ручного кода. Но даже в этом случае логику фильтров всё равно нужно проверять вручную, потому что универсальной настройки для всех шаблонов не существует.

Что должно получиться в итоге

После настройки у поисковика остаются только те страницы фильтров, которые действительно полезны. Технические комбинации перестают плодить дубли, canonical указывает на основную версию, а обход сайта становится чище. Самое важное — не пытаться закрыть всё одним способом: для фильтров обычно работает связка из диагностики, noindex и аккуратного canonical.

Как закрыть дубли страниц из пагинации в WordPress без потери индексации
05.09.2026
Как закрыть от индексации страницы внутреннего поиска в WordPress
10.09.2026
Как закрыть от индексации страницы автора в WordPress без потери полезного трафика
20.09.2026
Как закрыть от индексации страницы фильтров в WordPress без поломки SEO
13.09.2026