
Фильтры и сортировки WooCommerce плодят дубли по простой арифметике: пять параметров с пятью значениями каждый дают больше трёх тысяч комбинаций адресов, и каждая из них — отдельная страница для робота, с тем же заголовком, тем же описанием и почти тем же набором товаров. Владелец видит в панели вебмастера сорок тысяч страниц при каталоге в шестьсот позиций и идёт закрывать всё подряд в robots.txt — после чего из индекса вылетает половина полезных страниц вместе с мусором.
Ниже — откуда именно берутся эти адреса, чем фильтр со спросом отличается от фильтра-мусора, что из инструментов работает в Яндексе, а что в Google, и в какой момент фильтр перестаёт быть проблемой и становится посадочной страницей, приносящей трафик. В SEO с 2005 года, и в каталогах эта задача решается не одним переключателем, а разбором того, что именно ищут люди.
Откуда берутся сотни адресов с параметрами
Штатный виджет фильтра WooCommerce работает через параметры в адресе. Выбор бренда добавляет к адресу раздела хвост вида ?filter_brand=znachenie, выбор цены — ?min_price=1000&max_price=5000, сортировка — ?orderby=price. Параметры складываются друг с другом в любом порядке, и порядок этот роботу небезразличен: два адреса с одинаковым набором параметров, но записанных в разной последовательности, для него разные.
Источников адресов больше, чем кажется:
- Сами фильтры — одиночные значения и все их пересечения.
- Сортировки — по цене, по популярности, по новизне, по рейтингу. Каждая сортировка удваивает число адресов, при этом набор товаров в них одинаковый, меняется только порядок.
- Пагинация внутри фильтра — вторая и дальше страницы каждой отфильтрованной выборки.
- Число товаров на странице, если такой переключатель выведен в интерфейсе.
- Хвосты аналитики и рекламы — метки кампаний, идентификаторы сессий, реферальные параметры.
Умножается это всё друг на друга. Раздел с четырьмя фильтрами, тремя сортировками и десятью страницами пагинации даёт несколько тысяч уникальных адресов на одну категорию — поэтому проблема выглядит взрывной.
Как посмотреть масштаб. В панели вебмастера откройте раздел страниц в поиске и раздел исключённых, отсортируйте по адресу и оцените, какая доля приходится на адреса со знаком вопроса. Второй источник данных точнее — логи сервера: там видно, сколько визитов робота уходит на адреса с параметрами. Обычно это от трети до половины всего обхода. Что происходит с обходом при таком раскладе, разобрано в материале Краулинговый бюджет сайта: что это такое и как его оптимизировать.
Чем вредны параметрические дубли
Прямого наказания за них нет. Вред косвенный, но накопительный.
Расход бюджета обхода. Робот тратит визиты на страницы, которые никогда не покажет в выдаче. Новый товар попадает в индекс не за три дня, а за три недели: очередь занята мусором.
Размывание сигналов. Внутренние ссылки, которые должны вести на чистый адрес раздела, частично уходят на его отфильтрованные версии. Вес раздела распределяется по сотням почти одинаковых страниц вместо одной.
Совпадающие заголовки. Все отфильтрованные страницы наследуют title и описание раздела. Массовое совпадение заголовков — самостоятельная причина попадания страниц в исключённые.
Фильтр со спросом и фильтр-мусор: как отличить
Ключевое решение принимается до всякой техники. Часть комбинаций фильтров — это готовые посадочные страницы под реальные запросы. Остальное — технический шум, который нужно убрать.
Признаки фильтра со спросом:
- Комбинация читается как поисковый запрос: «кроссовки Nike женские», «смесители бронза для кухни», «шины 205/55 R16 зимние».
- В Вордстате у этой формулировки есть частота — хотя бы десятки показов в месяц по региону.
- Выборка содержит достаточно товаров — от восьми-десяти, иначе страница выглядит пустой.
- Комбинация состоит из одного, максимум двух параметров. Пересечения трёх и больше спроса почти никогда не имеют.
- По запросу в выдаче стоят страницы каталогов конкурентов, а не карточки товаров.
Признаки мусора: любые сортировки (человек не ищет «купить телевизор сортировка по цене»), диапазоны цены, пересечения трёх и более параметров, значения с одним-двумя товарами в выборке, любые адреса с метками аналитики.
Практический порядок такой: выгружаете список всех значений фильтров, прогоняете формулировки через Вордстат, отбираете те, у которых есть частота, и получаете список будущих посадочных страниц. Обычно из нескольких тысяч комбинаций спрос есть у тридцати-восьмидесяти. Всё остальное закрывается. О том, сколько трафика способны дать грамотно сделанные фильтры-посадочные, написано в материале Фильтры в каталоге, которые приносят 40% трафика — а у 90% магазинов их нет.
Инструменты: что работает в Яндексе, а что в Google
Здесь чаще всего и происходит путаница, из-за которой чистка даёт обратный эффект. Инструментов четыре, у каждого своя задача.
Clean-param в robots.txt. Директива Яндекса. Указывает роботу, что перечисленные параметры не меняют содержимое страницы, и адреса с ними надо считать одним адресом. Записывается так:
Clean-param: orderby&utm_source&utm_medium /catalog/
Работает только в Яндексе, Google эту директиву не понимает и просто игнорирует строку. Зато в Яндексе это самый аккуратный инструмент для мусорных параметров: страница не запрещается к обходу, а склеивается с чистым адресом, и накопленные сигналы переносятся.
Канонический адрес. Понимают обе системы, но по-разному относятся. Google трактует canonical как сильную рекомендацию и в большинстве случаев следует ей. Яндекс — тоже как рекомендацию, но заметно чаще принимает собственное решение, особенно если содержимое страниц различается. Для параметрических адресов canonical на чистый адрес раздела работает хорошо в обеих системах, потому что содержимое там действительно почти совпадает.
Метатег noindex. Запрещает показ страницы в выдаче, но не запрещает обход. Работает в обеих системах. Важное свойство: чтобы робот увидел noindex, страница должна быть открыта для обхода. Отсюда правило, на котором горят чаще всего: noindex и запрет в robots.txt несовместимы. Закрыв обход, вы лишаете робота возможности прочитать запрет показа, и страницы остаются в индексе.
Запрет в robots.txt. Запрещает обход и потому экономит бюджет лучше остальных инструментов. Но из индекса уже попавшее туда не убирает и сигналы не переносит. Годится для заведомо бесконечных конструкций.
| Инструмент | Яндекс | Что делает | Когда применять | |
|---|---|---|---|---|
| Clean-param | Работает | Игнорирует | Склеивает адрес с чистым, переносит сигналы | Сортировки, метки, служебные параметры |
| Canonical | Рекомендация | Сильная рекомендация | Указывает основную версию | Фильтры без спроса, страницы почти с тем же набором товаров |
| Meta noindex | Работает | Работает | Убирает из выдачи, обход сохраняет | Когда страница должна обходиться, но не показываться |
| Disallow в robots.txt | Работает | Работает | Запрещает обход, из индекса не убирает | Бесконечные конструкции, пересечения от трёх фильтров |
| Параметры в панели вебмастера | Нет инструмента | Инструмент отключён | — | Не рассчитывать на него |
| Атрибут nofollow на ссылках фильтра | Ограниченно | Как подсказка | Снижает передачу веса по ссылке | Дополнение, не замена основным инструментам |
Разница между инструментами и типовые ошибки их подмены разобраны отдельно в статье Clean-param vs canonical vs 301: что куда и почему путаница стоит позиций.
Рабочая схема: что чем закрывать
Схема, которая работает на каталогах и не роняет трафик, выглядит так.
Шаг первый. Отберите комбинации со спросом и превратите их в самостоятельные страницы (об этом ниже). Они остаются полностью открытыми, с собственным заголовком, описанием и текстом. Делать это надо до закрытия остального, иначе вы сначала выбросите из индекса адреса, которые потом придётся возвращать.
Шаг второй. Сортировки и служебные параметры закройте через Clean-param для Яндекса и каноническим адресом на чистый раздел для обеих систем. Сортировка не меняет набор товаров, поэтому склейка здесь безопасна.
Шаг третий. Одиночные фильтры без спроса и пересечения двух фильтров оставьте открытыми для обхода, но с каноническим адресом на чистый раздел. Робот будет заходить, видеть указание на основную версию и не выводить эти адреса в поиск.
Шаг четвёртый. Пересечения от трёх параметров, диапазоны цены и число товаров на странице закройте в robots.txt по маске. Это те конструкции, которые порождают бесконечность и на которых бессмысленно тратить обход.
Шаг пятый. Уберите отфильтрованные адреса из карты сайта и проверьте, что на них не ведут ссылки из шаблона. Пока внутренние ссылки на мусорные адреса стоят в коде страницы, робот будет их находить независимо от ваших указаний.
Порядок принципиален. Самая частая ошибка — закрыть всё в robots первым действием: робот перестаёт заходить на страницы, не видит ни canonical, ни noindex, и адреса зависают в индексе на месяцы. Механика подробно расписана в статье Страницы дубли с GET-параметрами.
Когда фильтр стоит превратить в посадочную страницу
Отфильтрованная выборка со спросом — это готовый ответ на запрос, у которого уже есть товары. Превращение её в полноценную страницу даёт трафик, которого у раздела не было, и не требует нового наполнения каталога.
Условия, при которых это оправдано: у формулировки есть частота в Вордстате, в выборке хотя бы восемь-десять товаров, набор товаров стабилен, и по запросу в выдаче стоят каталожные страницы конкурентов, а не карточки.
Что должна получить такая страница:
- Человекопонятный адрес без параметров — вида
/catalog/krossovki/nike/, а не с хвостом после знака вопроса. Это делается либо созданием подкатегории, либо правилом переписывания адресов. - Собственный заголовок H1 и title под конкретный запрос, а не унаследованный от раздела.
- Текст — небольшой, 800–1500 знаков, отвечающий на вопрос «как выбрать именно это» и содержащий отличия от соседних выборок.
- Ссылку из раздела-родителя и из блока связанных подборок, чтобы робот находил страницу не только через фильтр.
- Место в карте сайта и в хлебных крошках.
Сколько таких страниц делать: начинайте с десяти-пятнадцати самых частотных, доводите их до нормального вида и смотрите на результат через два-три месяца. Массовая генерация тысячи страниц-подборок по шаблону — прямая дорога к обратному эффекту: получится тот же мусор, только с человекопонятными адресами и потому более заметный для алгоритмов оценки качества.
| Тип адреса | Пример | Решение |
|---|---|---|
| Одиночный фильтр со спросом | Раздел + бренд | Отдельная страница с ЧПУ, текстом и своим title |
| Одиночный фильтр без спроса | Раздел + редкий цвет | Открыт для обхода, canonical на чистый раздел |
| Пересечение двух фильтров | Бренд + размер | Canonical на раздел; при наличии спроса — в посадочные |
| Пересечение трёх и более | Бренд + размер + цвет + цена | Disallow по маске в robots.txt |
| Сортировка | orderby в адресе | Clean-param + canonical |
| Диапазон цены | min_price и max_price | Disallow по маске |
| Метки кампаний | utm-хвосты | Clean-param + canonical на чистый адрес |
| Пагинация внутри фильтра | Страница 2 отфильтрованной выборки | Canonical на первую страницу этой же выборки |
Как проверить, что чистка сработала
Смотреть надо не на одну цифру, а на три, и с интервалом в несколько недель.
Число страниц в индексе. Должно снижаться. Это нормальный и ожидаемый результат, а не авария.
Число страниц в поиске. Должно остаться прежним или вырасти. Если оно падает вместе с общим числом — вы закрыли лишнее, надо разбираться, что именно попало под маску.
Доля визитов робота на адреса с параметрами в логах. Должна снижаться, а доля визитов на карточки товаров — расти. Это самый честный индикатор: он показывает поведение робота, а не отчёты, которые обновляются с задержкой.
Дополнительно проверьте несколько конкретных адресов вручную: возьмите страницу с сортировкой и посмотрите её канонический адрес, возьмите закрытую маской комбинацию и убедитесь, что она действительно попадает под правило, возьмите посадочную страницу-фильтр и убедитесь, что у неё свой title и она есть в карте сайта. Как читать логи и что в них искать, показано в разборе Логи сервера в SEO: что в них видит робот и чего не видите вы.
Когда закрывать фильтры не нужно
Есть ситуации, где вся эта работа не окупается или вредит.
Маленький каталог. Пятьдесят товаров и два фильтра — проблемы нет, бюджет обхода на таком объёме не заканчивается, достаточно канонических адресов.
Фильтры сделаны без изменения адреса. Некоторые темы реализуют фильтрацию скриптом, без перезагрузки страницы и без параметров в адресе. Тогда дублей просто не возникает, но у вас нет и возможности сделать посадочные страницы — здесь стоит подумать о переходе на фильтр с адресами именно ради трафика.
Магазин под фильтром или с падающим трафиком по другой причине. Сначала находится причина падения, потом делается чистка. Иначе вы наложите одно изменение на другое и не поймёте, что подействовало.
Каталог, где фильтры дают основную конверсию. Если люди приходят на раздел и покупают через фильтр, ломать его логику ради индекса нельзя — техника подстраивается под удобство, а не наоборот. Пример каталога, где фильтры критичны и требуют аккуратной настройки, — SEO для магазина автозапчастей: каталог без дублей.
Чеклист по фильтрам каталога
Выгрузите все значения фильтров и сортировок из админки. Проверьте частоту формулировок в Вордстате и отметьте те, у которых спрос есть. Посмотрите в отчёте по страницам входа, на какие отфильтрованные адреса уже идут переходы — их закрывать нельзя. Откройте логи и посчитайте долю визитов робота на адреса с параметрами. Проверьте канонический адрес на странице с сортировкой и на странице с двумя фильтрами. Убедитесь, что в robots.txt нет запрета для адресов, которым вы ставите canonical или noindex. Проверьте карту сайта на наличие в ней параметрических адресов.
Если каталог большой и непонятно, с какой стороны заходить, разбор структуры и списка фильтров со спросом удобнее делать вместе: посмотреть логи, состав индекса и семантику можно в формате разовой SEO-консультации. Дальнейшую работу по каталогу — посадочные страницы под фильтры, тексты, перелинковку — веду лично, вы общаетесь со мной напрямую, а не с менеджером: подробнее об услуге SEO-продвижение каталога товаров.
Частые вопросы
Можно ли просто закрыть все адреса со знаком вопроса одной строкой в robots? Технически можно, практически опасно: под маску попадут поиск по сайту, страницы с идентификаторами и всё, что вы не учли. Плюс из индекса это уже попавшие туда адреса не уберёт.
Сколько ждать результата? Первые изменения в отчётах — через две-четыре недели, полное перестроение индекса на крупном каталоге — до трёх месяцев. Логи покажут смену поведения робота раньше, за неделю-две.
Что делать с фильтрами, которые уже в индексе и приносят переходы? Не закрывать. Посмотрите отчёт по страницам входа: если на отфильтрованный адрес идут люди из поиска, это готовая посадочная страница, которой нужно дать нормальный адрес, заголовок и текст.
Нужен ли отдельный плагин фильтрации? Плагины с человекопонятными адресами для комбинаций удобнее штатного виджета, но требуют настройки: по умолчанию они открывают все комбинации и делают проблему больше. Плагин — инструмент, решение всё равно принимаете вы.
Что делать с сортировкой по умолчанию? Она должна открываться по чистому адресу раздела, без параметра. Если тема добавляет параметр и здесь, это чинится в шаблоне и снимает часть мусора сразу.
Коротко
- Число адресов растёт как произведение фильтров, сортировок и пагинации, поэтому каталог из шестисот товаров легко даёт десятки тысяч страниц.
- Решение начинается не с техники, а с разбора спроса: комбинации с частотой становятся посадочными страницами, остальные закрываются.
- Clean-param работает только в Яндексе, canonical понимают обе системы, robots запрещает обход, но не убирает из индекса.
- noindex и запрет в robots одновременно не работают: робот не сможет прочитать запрет показа, если ему запрещён вход.
- Порядок действий: сначала посадочные, затем canonical и Clean-param, и только в конце маски в robots для бесконечных конструкций.
- Успех проверяется тремя цифрами: число страниц в индексе падает, число страниц в поиске не падает, доля обхода мусорных адресов в логах снижается.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Аскольд Пименков
Закрыли все адреса с вопросительным знаком в robots одной строкой. Через месяц в вебмастере всё те же 30 тысяч адресов в исключённых, и вдобавок просел один раздел. Что мы сломали?
Анатолий Кузнецов автор
Сломали две вещи сразу. Первая: запрет в robots закрывает обход, но не удаляет то, что уже в индексе, поэтому адреса и висят — робот теперь просто не может зайти и увидеть, что вы хотели их убрать. Вторая: под маску со знаком вопроса почти наверняка попало что-то полезное. Проверьте отчёт по страницам входа за период до правки и посмотрите, были ли переходы на адреса с параметрами: если просевший раздел получал трафик на отфильтрованные страницы, вы их только что выключили. Порядок восстановления такой: снимите общий запрет, поставьте на мусорные адреса canonical на чистый раздел, добавьте Clean-param для сортировок и меток, дайте роботу две-три недели пройти эти страницы заново, и только потом закрывайте маской действительно бесконечные конструкции вроде пересечений трёх фильтров и диапазонов цены.
Василиса Шибанова
Не понимаю про Clean-param. Если он работает только в Яндексе, то что делать с Google? У нас примерно поровну трафика из обеих систем.
Анатолий Кузнецов автор
Инструменты не заменяют друг друга, а работают слоями, и это нормально. Клеите так: Clean-param в robots.txt закрывает вопрос для Яндекса — он склеивает адреса с перечисленными параметрами и переносит сигналы на чистый адрес. Для Google тот же результат даёт канонический адрес: на любой странице с параметром canonical указывает на чистый адрес раздела. Google этой рекомендации следует в подавляющем большинстве случаев. Получается, что canonical у вас стоит для обеих систем, а Clean-param добавлен для Яндекса как более точный сигнал. Ничего лишнего это не создаёт и конфликта между ними нет — важно только, чтобы адрес не был при этом запрещён в robots директивой Disallow, иначе оба механизма перестанут работать, потому что робот не сможет прочитать страницу.
Емельян Подкорытов
Как понять, сколько товаров должно быть в выборке, чтобы делать из фильтра посадочную? У нас узкая тематика, часто выходит по три-четыре позиции.
Анатолий Кузнецов автор
Ориентир в восемь-десять товаров — это про среднюю нишу, где конкуренты показывают полные каталоги. В узкой тематике порог другой: смотрите не на абсолютное число, а на то, что показывают конкуренты по этому же запросу. Если у всех в выдаче по четыре позиции, ваши четыре нормальны и страница не будет выглядеть пустой. Компенсировать малое число товаров нужно содержанием: развёрнутый текст о том, как выбирать в этой категории, таблица сравнения этих самых четырёх позиций, ответы на вопросы, условия доставки и гарантии. Тогда страница отвечает на запрос лучше, чем список из четырёх карточек. И обязательно проверьте стабильность выборки: если товары в ней постоянно исчезают из наличия, страница будет то пустой, то полной, и позиции будут прыгать.
Агафья Мезенцева
Плагин фильтрации делает ЧПУ для всех комбинаций автоматически. Получается около 4000 красивых адресов. Это же лучше, чем параметры?
Анатолий Кузнецов автор
Хуже, и заметно. Адрес с параметром хотя бы честно выглядит техническим: и Clean-param, и маски в robots работают по нему легко, а поисковик по опыту относится к параметрическим адресам как к вариациям одной страницы. Четыре тысячи человекопонятных адресов выглядят как четыре тысячи полноценных страниц каталога — с одинаковыми заголовками, без текстов и с пересекающимися наборами товаров. Это ровно тот случай, когда массовая генерация подборок по шаблону попадает под оценку качества, и страдает уже весь сайт, а не только эти адреса. Настройте плагин так, чтобы ЧПУ выдавались только комбинациям из вашего списка со спросом — обычно это несколько десятков. Остальные комбинации пусть остаются параметрическими и закрываются обычным способом.
Родион Клюшников
В логах вижу, что робот 70% времени ходит по адресам с сортировкой. Clean-param прописал две недели назад, ничего не изменилось. Он вообще работает?
Анатолий Кузнецов автор
Работает, но проверьте три вещи, потому что ошибиться в синтаксисе очень легко. Первое: параметры перечисляются через амперсанд без пробелов, а путь указывается после пробела одним префиксом — если у вас несколько разделов, нужна отдельная строка на каждый или общий префикс. Второе: директива должна стоять в секции для робота Яндекса; если ваш robots.txt разбит на секции по агентам, а Clean-param оказался в секции для всех, часть роботов его не увидит. Третье и главное: убедитесь, что те же адреса не запрещены директивой Disallow выше по файлу — запрет обхода отменяет всю работу склейки. И отдельно по срокам: две недели мало, перестроение занимает от месяца. Но параллельно уберите ссылки на сортировки из шаблона или закройте их скриптом — пока робот видит эти ссылки на каждой странице каталога, он будет по ним ходить.
Капитолина Ерофейцева
Проверила отчёт по страницам входа — на фильтр по бренду идёт около 15% всего поискового трафика каталога. А мы собирались его закрывать по совету подрядчика.
Митрофан Ушанов
У нас та же история была с фильтром по объёму. Сделали из него нормальные страницы с текстами — за квартал они обогнали родительский раздел по числу заходов.
Таисия Криволапова
Вопрос про пагинацию внутри фильтра: canonical на первую страницу выборки — а товары с третьей страницы фильтра не выпадут из индекса?
Гавриил Пестовский
Не выпадут, если те же товары доступны через обычную пагинацию раздела и через карту сайта. Мы держим именно так, проблем не было.
Нонна Кувалдина
Не хватает раздела про фильтры, которые меняют не набор товаров, а только их вид — плитка или список. У нас они тоже пишутся в адрес и плодят копии.
Аверьян Чихачёв
Про число товаров на странице отдельное спасибо. Переключатель «показывать по 12/24/48» удваивал нам весь каталог, и никто на него не смотрел три года.
Евдокия Мыльникова
Собрала список фильтров через Вордстат, как описано. Из 2800 комбинаций частота нашлась у 41. Ожидала, что будет больше, но зато теперь понятно, что делать.