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

Страницы фильтров — типичная причина разрастания мусорных URL в WordPress. Это не только про интернет-магазины: фильтры появляются в каталогах записей, таксономиях, архивах и на сайтах с AJAX-поиском. Проблема обычно выглядит одинаково: в индексе оказываются десятки или сотни URL с параметрами, а в Search Console растёт число «Просканировано, но не проиндексировано» или «Дубликат, выбранный Google без канонического URL».

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

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

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

Типичные признаки, что фильтры уже мешают

  • в индексе появляются URL с параметрами вроде ?filter_color=, ?orderby=, ?min_price=;
  • одна и та же страница доступна по нескольким адресам с разными параметрами;
  • в отчётах Search Console много дублей и мало полезных переходов на такие URL;
  • боты тратят краулинговый бюджет на комбинации, которые не должны ранжироваться;
  • в выдаче всплывают страницы без текста, только с набором товаров или записей.

Диагностика: какие URL закрывать, а какие оставить

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

Проверьте три вещи:

  1. есть ли у URL уникальный контент, а не только набор карточек;
  2. можно ли этот результат получить из других URL без потери смысла;
  3. нужен ли такой адрес в поиске или он только для удобства пользователя.

Если ответ на второй и третий пункт «да», это технический дубль. Его и нужно закрывать.

Что выбрать: noindex, canonical или запрет в robots.txt

Для фильтров часто путают три механизма. На практике они решают разные задачи, и подменять один другим нельзя.

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

Для большинства фильтров в WordPress безопаснее начинать с noindex,follow на самих страницах и, при необходимости, добавлять canonical на основную версию. В robots.txt имеет смысл закрывать только явно технические шаблоны параметров, если вы уверены, что они не нужны для обхода.

Пошаговое решение через код темы или mu-plugin

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

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

    $filter_params = array('filter_color', 'filter_size', 'orderby', 'min_price', 'max_price');

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

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

Как добавить canonical на основную версию

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

<?php
add_filter('get_canonical_url', function ($canonical, $post) {
    if (is_admin() || ! $canonical) {
        return $canonical;
    }

    $params = array('orderby', 'filter_color', 'filter_size', 'min_price', 'max_price');

    foreach ($params as $param) {
        if (isset($_GET[$param]) && $_GET[$param] !== '') {
            return remove_query_arg($params, home_url(add_query_arg(array(), $_SERVER['REQUEST_URI'])));
        }
    }

    return $canonical;
}, 10, 2);

Здесь важно не переусердствовать: canonical должен вести на реально существующую и релевантную страницу. Если вы склеите всё подряд в главную категорию, поисковик может проигнорировать сигнал.

Если фильтры генерирует плагин

У многих каталогов и конструкторов есть встроенные настройки SEO для фильтров. Перед кодом проверьте, не умеет ли плагин:

  • ставить noindex на страницы с параметрами;
  • отключать индексацию сортировок;
  • задавать canonical для архивов;
  • закрывать служебные параметры в robots.txt;
  • не создавать отдельные URL для пустых комбинаций.

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

Проверка результата после внедрения

После изменений не ограничивайтесь просмотром исходного кода одной страницы. Проверьте цепочку целиком.

  1. Откройте URL фильтра с параметром в браузере и убедитесь, что в <head> появился noindex,follow.
  2. Проверьте canonical: он должен вести на ожидаемую основную страницу без лишних параметров.
  3. Посмотрите ответ сервера через curl -I или инструменты разработчика, чтобы исключить неожиданные редиректы.
  4. В Search Console отправьте URL на переобход и отслеживайте, как меняется статус.

Пример быстрой проверки через консоль:

curl -s https://example.com/catalog/?filter_color=red | grep -i robots

Если страница рендерится через AJAX и мета-тег вставляется только после загрузки скриптов, поисковик может увидеть не то, что вы ожидаете. В таком случае лучше переносить логику на серверную генерацию HTML.

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

Закрывают всё в robots.txt

Это распространённая ошибка. Если URL уже известен поисковику, запрет в robots.txt не гарантирует его исчезновение из индекса. Для удаления дублей нужен именно noindex или корректный canonical, а robots.txt — только как дополнительный инструмент.

Ставят noindex на полезные посадочные

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

Canonical ведёт на нерелевантную страницу

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

Не проверяют пустые комбинации

Фильтр может создавать URL без товаров или записей. Такие страницы лучше не индексировать вообще, а при необходимости отдавать noindex и корректный canonical на ближайшую релевантную категорию.

Чек-лист перед публикацией

  • собран список параметров, которые создают дубли;
  • отдельно отмечены полезные посадочные страницы, которые закрывать нельзя;
  • для технических фильтров добавлен noindex,follow;
  • canonical не указывает на случайную или нерелевантную страницу;
  • проверен исходный HTML, а не только визуальный вид;
  • в Search Console отправлены ключевые URL на переобход;
  • не сломаны внутренние ссылки и навигация по фильтрам.

Практические советы по производительности и безопасности

Если фильтры создают много параметров, они могут нагружать и базу данных, и кеш. Не генерируйте отдельные страницы для каждой комбинации, если они не нужны для SEO. Для AJAX-фильтров полезно кешировать ответы на уровне сервера или плагина кеширования, но только для тех запросов, которые реально повторяются.

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

Если вам нужен более широкий набор инструментов для чистки дублей и технической SEO-оптимизации, можно посмотреть на Clearfy Pro, но только после проверки, какие именно функции уже есть в вашей теме и SEO-плагине. Дублировать одну и ту же логику в нескольких местах не стоит.

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как закрыть дубли страниц пагинации от индексации в WordPress
13.09.2026
Как закрыть от индексации страницы поисковых результатов в WordPress
16.09.2026
Как закрыть от индексации страницы фильтров в WordPress
19.09.2026
Как закрыть от индексации страницы автора и архивы дат в WordPress
16.09.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше