Если в WooCommerce фильтры создают десятки и сотни похожих URL, поисковик начинает тратить обход и индекс на страницы, которые не несут отдельной ценности. Обычно это варианты каталога с параметрами вроде цвета, размера, цены, бренда, сортировки и пагинации, где меняется только набор query-параметров, а контент по сути один и тот же. Задача здесь не в том, чтобы «сломать» фильтры, а в том, чтобы оставить их удобными для посетителя и не пускать в индекс лишние комбинации.
Ниже — практический порядок действий: сначала понять, какие именно URL плодятся, затем закрыть их от индексации, убрать дубли из обхода и, если нужно, настроить канонические адреса. Для большинства магазинов этого достаточно, чтобы сократить мусорный трафик и стабилизировать индексацию каталога.
Какие страницы фильтров обычно создают дубли
В WooCommerce и WordPress дубли чаще всего появляются не из-за самих фильтров, а из-за того, как они формируют адрес. Один и тот же каталог может открываться с разными параметрами:
?filter_color=red;?min_price=1000&max_price=5000;?orderby=price;?s=вместе с фильтрами;- комбинации нескольких параметров сразу.
Если фильтр меняет только сортировку или техническое состояние выдачи, такая страница почти никогда не нужна в поиске. Если же фильтр формирует действительно отдельную посадочную страницу с уникальным спросом, её можно оставить для индексации, но это уже отдельный сценарий. В этой статье речь именно о массовых дублях, которые раздувают индекс без пользы.
Сначала проверьте, что именно индексируется
Перед настройками стоит понять, какие URL уже попали в поиск и как они выглядят. Это важно, потому что разные фильтры могут вести себя по-разному: часть создаёт чистые URL, часть — параметры в строке запроса, часть — AJAX-фильтрацию без отдельной страницы.
Что проверить вручную:
- откройте несколько страниц каталога с фильтрами и посмотрите адрес в браузере;
- сравните, меняется ли только query-string или создаются отдельные ЧПУ-страницы;
- посмотрите, есть ли у этих страниц уникальный title и description или они повторяют категорию;
- проверьте в Google Search Console отчёт по страницам и примеры URL с параметрами.
Если в индексе уже есть много таких адресов, одних мета-тегов часто недостаточно. Нужно одновременно ограничить индексацию, подсказать канонический URL и не давать поисковику постоянно находить новые комбинации.
Базовый способ: закрыть фильтры от индексации
Для большинства страниц фильтров правильная стратегия — noindex,follow. Это означает, что поисковик не должен добавлять страницу в индекс, но может проходить по ссылкам дальше. Такой подход подходит для технических и повторяющихся комбинаций фильтров.
В WordPress это можно сделать несколькими способами:
- через SEO-плагин, если он умеет задавать
noindexдля архивов, параметров или конкретных шаблонов; - через настройки самого фильтра, если плагин фильтрации поддерживает запрет индексации;
- через код, если нужно точечно обработать конкретные параметры.
Если у вас уже стоит SEO-плагин, сначала проверьте его возможности. Это безопаснее, чем сразу править тему или писать собственную логику. Например, в некоторых проектах удобно использовать Clearfy Pro, если нужен централизованный контроль над дублями и техническими SEO-настройками. Но сам принцип остаётся тем же: закрыть от индекса именно мусорные комбинации, а не весь каталог.
Когда достаточно мета-тега robots
noindex хорошо работает, если страница доступна для обхода и не блокируется в robots.txt. Это важный момент: если вы одновременно запретите обход и поставите noindex, поисковик может не увидеть директиву. Для уже известных страниц это иногда приводит к тому, что они дольше остаются в индексе.
Поэтому для фильтров обычно выбирают один из двух вариантов:
- страница доступна, но стоит
noindex,follow; - страница не должна даже обходиться, если это технический мусор и на неё нет внутренних ссылок.
Для обычных фильтров первый вариант безопаснее и предсказуемее.
Настройте канонический URL для страниц с параметрами
Даже если фильтр остаётся доступным, поисковику нужно показать, какая версия страницы основная. Для этого используется canonical. На страницах фильтров канонический адрес обычно должен указывать на чистую категорию или на основную посадочную страницу без параметров.
Это особенно полезно, если:
- одна и та же категория открывается с разными сортировками;
- параметры фильтра не меняют смысл страницы, а только сужают выдачу;
- внутренние ссылки сайта иногда ведут на URL с параметрами.
Если canonical уже проставляется темой или SEO-плагином, проверьте, что он ведёт именно на нужную основную страницу, а не на текущий URL с параметрами. Ошибка здесь встречается часто: страница с фильтром сама на себя указывает как на каноническую, и это не решает проблему дублей.
Уберите лишние параметры из индекса и обхода
Не все параметры одинаково полезны. Часть из них нужна только для удобства пользователя и не должна попадать в поиск вообще. К таким параметрам обычно относятся сортировка, отображение сетки, служебные метки и некоторые варианты пагинации фильтров.
Практически это делается так:
- не создавайте отдельные индексируемые страницы под сортировки;
- не давайте фильтрам генерировать бесконечные комбинации параметров;
- не ставьте внутренние ссылки на URL с техническими query-параметрами, если это не нужно;
- по возможности используйте AJAX-фильтрацию без отдельного URL для чисто интерфейсных изменений.
Если фильтр-плагин умеет работать в AJAX-режиме, это часто снижает количество мусорных URL. Но здесь есть нюанс: AJAX сам по себе не решает SEO-задачу, если плагин всё равно создаёт индексируемые адреса при изменении фильтра. Нужно смотреть, что происходит именно в вашем случае.
Когда имеет смысл закрывать параметры через robots.txt, а когда нет
Закрытие параметров в robots.txt иногда используют для очень шумных URL, но это не универсальное решение. Если поисковик не может обойти страницу, он может не увидеть на ней noindex и не понять канонический адрес. Поэтому для обычных фильтров robots.txt — не первый инструмент.
Использовать его стоит только тогда, когда вы точно понимаете, что параметр создаёт технический мусор и не должен обходиться вообще. Например, это может быть служебный параметр, который не нужен ни пользователю, ни поиску. Для фильтров каталога чаще полезнее оставить обход и управлять индексацией через meta robots и canonical.
Если вы не уверены, не закрывайте параметры в robots.txt наугад. Сначала проверьте, не ухудшит ли это обработку уже существующих дублей.
Если фильтры создают отдельные ЧПУ-страницы
Некоторые решения для WooCommerce умеют генерировать не только параметры, но и отдельные человекопонятные URL под фильтры. Это удобно для пользователей, но опасно для индекса, если таких страниц становится слишком много. В этом случае нужно решить, какие страницы действительно заслуживают индексации, а какие — нет.
Оставляйте в индексе только те фильтровые посадочные страницы, которые:
- имеют устойчивый спрос;
- получают внутренние ссылки;
- содержат уникальный текст, заголовок и ассортимент;
- не дублируют уже существующую категорию.
Все остальные лучше закрывать от индексации или переводить на каноническую категорию. Иначе сайт быстро получает сотни слабых страниц, которые конкурируют между собой и размывают релевантность каталога.
Как проверить, что проблема решена
После настройки не ограничивайтесь визуальной проверкой на фронтенде. Нужно убедиться, что поисковик видит именно ту логику, которую вы задумали.
Проверьте три вещи:
- На страницах фильтров стоит
noindex, если они не должны индексироваться. - Canonical указывает на основную категорию или другую выбранную страницу.
- Внутренние ссылки не плодят новые комбинации параметров без необходимости.
Дальше откройте несколько URL с фильтрами в Google Search Console и посмотрите, как они обрабатываются. Если страницы всё ещё индексируются, обычно причина одна из трёх: директива не попала в HTML, canonical настроен неправильно или на фильтровые URL ведут внутренние ссылки с сайта.
Что обычно ломают при попытке убрать дубли
Самая частая ошибка — закрыть от индекса вообще весь каталог или категорию вместо только фильтровых комбинаций. Вторая ошибка — запретить обход в robots.txt, а потом ждать, что страницы быстро выпадут из индекса сами. Третья — оставить на фильтрах самоссылочный canonical, который ничего не исправляет.
Ещё одна практическая проблема — конфликт между темой, SEO-плагином и плагином фильтрации. Один компонент может проставлять canonical, другой — менять title, третий — генерировать дополнительные URL. Если после настройки поведение не совпадает с ожиданиями, проверяйте исходный HTML страницы, а не только настройки в админке.
Для сайта на WordPress правильная стратегия обычно выглядит так: фильтры остаются для пользователя, но технические комбинации не попадают в индекс, канонический адрес указывает на основную страницу, а лишние параметры не участвуют в внутренней перелинковке. Это не требует сложной разработки, но требует аккуратной проверки на реальных URL, а не по общим правилам.