Перейти к основному содержимому

Разработка 13 сентября 2026г. 9 мин чтения

Фильтр товаров: как сделать быстрым и дружелюбным к SEO

Фильтр товаров на сайте работает сразу на двух фронтах: покупателю он должен за секунду сузить каталог, а поиску - не наплодить тысячи почти одинаковых адресов. Чаще всего проваливается либо одно, либо другое, и лечится это по-разному.

Фильтр товаров на сайте работает сразу на двух фронтах: покупателю он должен за секунду сузить каталог, а поиску - не наплодить тысячи почти одинаковых адресов. Чаще всего проваливается либо одно, либо другое, и лечится это по-разному.

Магазин на 300 позиций живёт без фильтра нормально. На 3 000 позиций без него уже не купить: человек листает четвёртую страницу, не находит нужный размер и уходит. При этом тот же фильтр за пару месяцев сдаёт поисковику десятки тысяч адресов, отличающихся только порядком параметров.

Какими фильтрами пользуются, а какие висят для вида

По данным Метрики на магазинах, которые мы ведём, картина примерно одинаковая от ниши к нише.

Фильтр Доля сессий с фильтром Что важно
Наличие на складе 40-60% Часто включён по умолчанию, и это правильно
Цена 35-50% Ползунок должен знать реальный минимум и максимум выборки
Бренд 20-40% Работает там, где марка сама по себе критерий выбора
Ключевое свойство ниши 20-45% Размер, диаметр, объём, мощность, совместимость
Прочие свойства до 5% каждое Держать под кнопкой, а не в открытом списке

Вывод простой: 4-6 блоков решают почти всё. Остальные двадцать свойств из выгрузки 1С нужны единицам и открытыми только удлиняют колонку. Мы оставляем видимыми наличие, цену, бренд и одно-два свойства ниши, остальное прячем под "Все параметры".

Отдельная история - параметры, названные не так, как их называет покупатель. В магазине крепежа фильтр по классу прочности болтов нажимали 0,8% посетителей, зато в поиске по сайту тот же параметр вводили вручную регулярно. Как это ловить, разбирали в статье про поиск по сайту.

Правила интерфейса, которые снимают отказы

Показывать число товаров у каждого варианта. "Синий (14)" честно говорит, есть ли смысл нажимать. Без счётчиков человек тыкает наугад и половину нажатий получает пустую страницу.

Не давать пустых выдач. Варианты, которые в текущей выборке дают ноль товаров, гасим или прячем. Пустая страница с надписью "Ничего не найдено" - самая частая точка выхода из каталога.

Сохранять выбор. Покупатель открыл товар, нажал "назад" и должен вернуться в ту же отфильтрованную выдачу и на то же место списка. Сброс выбора на этом шаге раздражает сильнее, чем медленная загрузка.

Мобильный фильтр - отдельный экран. Боковая колонка на телефоне не работает. Нормальная схема: кнопка "Фильтр" в шапке каталога, полноэкранная панель, внизу липкая кнопка "Показать 34 товара" с живым счётчиком.

Видимый сброс. Выбранные значения показываем плашками над списком товаров, каждую с крестиком. Искать нажатый чекбокс в свёрнутом блоке никто не будет.

Ту же логику "не терять человека на полпути" мы применяем и дальше по воронке, в корзине интернет-магазина: там цена ошибки ещё выше.

Почему фильтр тормозит

Типичная картина на каталоге в 15-20 тысяч позиций: нажатие на чекбокс отрабатывает 3-4 секунды. Причины почти всегда из этого списка.

  • Свойства товаров хранятся построчно, по записи на каждое значение, и запрос собирает выборку через несколько соединений таблиц.
  • На поля, по которым идёт отбор, не заведены индексы, и база перебирает всю таблицу целиком.
  • Количество товаров у каждого варианта считается отдельным запросом. Тридцать вариантов - тридцать запросов на одно нажатие.
  • Фильтр отдаёт всю страницу заново вместо обновления списка товаров.

На магазине автозапчастей выборка по трём параметрам занимала 3,8 секунды, из них 2,9 уходило на подсчёт счётчиков. После переноса счётчиков в предрасчитанную таблицу время упало до 0,4 секунды, а код самого фильтра почти не менялся.

Что чинить в первую очередь

  1. Индексы в базе. Самый дешёвый шаг: посмотреть план запроса и закрыть индексами поля отбора. Часто этого хватает, чтобы уйти с секунд на десятые доли.
  2. Плоская таблица свойств. Для каталога, где свойства меняются редко, заводим денормализованную таблицу "товар - значения фильтруемых свойств" и обновляем её при импорте. Выборка идёт по ней, а не по общей структуре.
  3. Предрасчёт счётчиков. Количество товаров по каждому значению считаем заранее, а не в момент нажатия.
  4. Кэш популярных комбинаций. Первые 20-50 сочетаний обычно дают больше половины запросов к фильтру. Их результат держим готовым и обновляем при изменении остатков.
  5. Обновление без перезагрузки. Меняем только список товаров и счётчики, шапку и меню не трогаем.

Общие приёмы ускорения страниц каталога, от картинок до кэша, разбирали отдельно в материале про то, как ускорить сайт.

Откуда берутся десятки тысяч мусорных страниц

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

Реальный случай: магазин сантехники пришёл к нам с 41 тысячей страниц в индексе Яндекса при 6 тысячах товаров. Робот тратил обход на комбинации вида "цвет + производитель + сортировка по цене", а карточки новых товаров попадали в индекс через три-четыре недели.

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

Какие комбинации превращать в посадочные страницы

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

  • Есть спрос. Запрос вида "японские кухонные ножи" собирается в Вордстате и имеет заметную частотность в регионе.
  • Есть товары. В выборке не меньше 8-10 позиций, и они не исчезнут через месяц при смене остатков.
  • Есть что написать. У страницы свой заголовок, описание на 700-1500 знаков и свои мета-теги, а не текст родительской категории.
  • Глубина не больше двух параметров. Комбинации из трёх и более свойств почти никогда не имеют спроса.

Такие страницы получают человекопонятный адрес вида /katalog/nozhi/kuhonnye-yaponskie/, попадают в карту сайта и конкурируют в выдаче наравне с обычными разделами. По нашим магазинам 30-60 таких страниц дают заметную долю поискового трафика каталога: они закрывают запросы, под которые в структуре просто нет раздела.

Подробнее про приоритеты работ в каталоге писали в разборе SEO для интернет-магазина.

Что закрывать от индексации и чем

Всё, что не стало посадочной страницей, из индекса убираем.

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

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

Служебные параметры в Яндексе. Метки рекламы, идентификаторы сессий и переключатели вида задаются в Вебмастере через директиву очистки параметров, чтобы робот считал такие адреса одной страницей.

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

Чек-лист приёмки фильтра

Прогоняем перед сдачей магазина и при аудите чужого.

  1. Нажатие на любой фильтр отрабатывает быстрее секунды на каталоге целиком.
  2. У каждого варианта показано число товаров, и оно верное.
  3. Варианты с нулевым результатом погашены или скрыты.
  4. Пустая выдача невозможна, а если случилась - предлагает снять последний фильтр.
  5. Возврат из карточки товара сохраняет выбор и позицию прокрутки.
  6. На мобильном фильтр открывается отдельным экраном с липкой кнопкой применения.
  7. Ползунок цены знает реальные границы текущей выборки.
  8. Адрес страницы фильтра читаемый и не зависит от порядка нажатий.
  9. У всех непосадочных комбинаций канонический адрес ведёт на категорию.
  10. Сортировки и служебные параметры не создают отдельных страниц в индексе.
  11. Список посадочных страниц согласован с семантикой, у каждой свой текст и мета-теги.
  12. Число страниц в индексе сопоставимо с числом товаров плюс категории, а не больше в разы.

Итог для владельца магазина

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

Что входит в работы по каталогу и фильтрам, из каких этапов это складывается и сколько занимает, расписано на странице интернет-магазины.

Частые вопросы

Сколько фильтров показывать в каталоге?

Открытыми держат 4-6 блоков, которыми пользуется большинство покупателей: наличие, цена, бренд и один-два ключевых параметра ниши. Остальное убирают под кнопку "Все параметры". Двадцать раскрытых блоков не помогают выбрать, а заставляют скроллить мимо товаров.

Почему фильтр тормозит на большом каталоге?

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

Нужно ли закрывать страницы фильтра от индексации?

Не все. Комбинации, на которые есть спрос в поиске и достаточно товаров, делают отдельными посадочными страницами с человекопонятным адресом и текстом. Все остальные сочетания, сортировки и служебные параметры закрывают каноническими адресами и директивами для роботов, иначе в индекс уходят десятки тысяч дублей.

Сколько стоит переделать фильтр в готовом магазине?

Работа по ускорению выборки и приведению интерфейса в порядок занимает обычно от 20 до 60 часов в зависимости от движка и количества свойств. Отдельно считается SEO-часть: разметка правил индексации и запуск посадочных страниц под собранные запросы. Точная оценка появляется после просмотра структуры каталога.

Вопросы читателей по теме

Все вопросы и ответы

Нужен сайт по этой теме?

Расскажите о задаче – вернёмся с расчётом и предложением структуры.