-15%Скидка 15% на разработку сайта или магазина при старте до конца месяца

Дизайн фильтра по характеристикам с большим числом значений

Дизайн умного фильтра по характеристикам с сотнями значений в каталоге на 1С-Битрикс

Свойство «Бренд» с тремя сотнями производителей. «Совместимость» с тысячей моделей. «Диаметр» с полусотней значений. Открываешь такой фильтр — и получаешь вертикальную «простыню» чекбоксов, которую невозможно просмотреть глазами. Пользователь скроллит, не находит своё, закрывает панель и уходит. А ведь фильтр — это то место, где посетитель формулирует спрос и почти готов купить.

Эта статья — о том, как спроектировать умный фильтр по характеристикам, у которых десятки и сотни значений, на 1С-Битрикс. Разберём паттерны показа длинного фасета, поиск внутри блока, группировку значений, работу счётчиков и, главное, производительность через фасетный индекс. Если каталог большой и «тяжёлый», начать стоит с аудита и оптимизации 1С, где мы смотрим и структуру данных, и скорость витрины.

Коротко

  • Длинный список значений (от 15–20) нельзя показывать простым списком — нужны поиск внутри фасета, свёртка и группировка.
  • Сворачивайте фасет до 8–10 популярных значений с кнопкой «показать ещё» и полем поиска сверху.
  • Группируйте: числа — в диапазоны и слайдеры, бренды — по алфавиту, совместимость — в категории-зонтики.
  • Скорость пересчёта держит фасетный индекс умного фильтра — без него каждый клик по чекбоксу тормозит.

Когда список значений становится проблемой

Обычный фильтр из чекбоксов работает, пока значений у свойства немного. Цвет — десяток вариантов, размер обуви — два десятка, тип разъёма — пять. Такой список пользователь охватывает взглядом за секунду. Проблема начинается, когда у свойства не 10, а 50, 200 или больше значений: бренды в большом каталоге электроники, коды совместимости в автозапчастях, типоразмеры в крепеже.

Практический порог, за которым простой список перестаёт работать, — примерно 15–20 значений. До него достаточно аккуратной вёрстки. После — фасету нужна отдельная механика: иначе он превращается в барьер вместо инструмента. Важно, что «много значений» — это свойство конкретного справочника, а не всего каталога: в одном фильтре могут соседствовать короткий фасет «Цвет» и гигантский «Бренд», и обращаться с ними надо по-разному.

Почему длинная «простыня» убивает конверсию

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

Отдельная беда — производительность. Каждый выбор в умном фильтре пересчитывает, какие значения ещё дают товары, и обновляет счётчики. Если под этим нет фасетного индекса, длинные списки делают каждый клик медленным, и пользователь ощущает «залипание» интерфейса. Медленный фильтр воспринимается как сломанный, даже если формально он работает.

Главная мысль: большой фасет — это две отдельные задачи. Юзабилити (как показать сотни значений, чтобы в них можно было ориентироваться) и производительность (как быстро пересчитывать доступные варианты). Решать нужно обе — одна без другой не спасает.
Как задача превращается в результат Задачачто решаемПодходкак делаемРеализацияна 1С-БитриксПроверкаметрики, тестыРезультатэффект для бизнеса
Схема: любая доработка проходит путь от постановки задачи к реализации на 1С-Битрикс и проверке по метрикам — важен измеримый результат, а не факт правки.

Паттерны показа длинного фасета

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

Выбор комбинации зависит от природы свойства. Для брендов идеальны поиск плюс алфавит; для числовых характеристик — диапазоны и слайдер; для справочников совместимости — категории-зонтики плюс поиск. Универсального «одного правильного» решения нет, но универсальна логика: сократить видимое, дать быстрый путь к нужному, убрать лишнее.

Поиск внутри фасета

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

Чтобы такой поиск был полезен, важны детали:

Поиск внутри фасета уместно включать автоматически, когда значений больше порога (скажем, 15). Для коротких списков поле поиска — лишний элемент, который только загромождает интерфейс.

Свёртка и приоритет популярных значений

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

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

Группировка: диапазоны, алфавит, зонтики

Самый радикальный способ укоротить список — не показывать значения по одному, а объединить их. Группировка снижает число видимых элементов на порядок и делается по-разному в зависимости от типа данных.

Тип свойстваПроблемаСпособ группировки
Числовое (цена, вес, диаметр)Десятки точных значенийСлайдер диапазона + пресеты «до N», «N–M»
Бренд/производительСотни названийПоиск + алфавитные группы, топ-бренды сверху
Совместимость/модельТысячи кодовКатегории-зонтики (серия, поколение) + поиск
Цвет/материалМного близких оттенковГруппы базовых цветов с подпунктами

Группировку нельзя добавить «сверху» в последний момент — она опирается на структуру данных. Числовые характеристики должны храниться числами (а не строками «10 мм»), у брендов должен быть управляемый справочник, а совместимость — иметь иерархию. Всё это закладывается в свойства инфоблоков и справочники при проектировании каталога, поэтому продумывать группировку нужно вместе со структурой данных, а не после запуска.

Счётчики и пустые значения

Счётчики у значений («Sony (42)») помогают пользователю выбирать осознанно и не попадать в пустую выдачу. Но на длинных списках их поддержание стоит ресурсов, а сам вид сотен счётчиков перегружает. Здесь нужен баланс.

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

Фасетный индекс и производительность

Всё юзабилити рухнет, если фильтр тормозит. За скорость умного фильтра в 1С-Битрикс отвечает фасетный индекс — предрассчитанная структура, которая позволяет быстро определять, какие значения ещё дают товары, без тяжёлых запросов к каталогу на каждый клик.

Что важно про фасетный индекс на большом каталоге:

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

Умный фильтр в 1С-Битрикс: настройка

Собрать фильтр под большие списки в 1С-Битрикс — это последовательность понятных шагов. Названия пунктов зависят от редакции, но логика такая:

  1. Наведите порядок в свойствах. Числа храните числами, бренды — справочником, совместимость — с иерархией. От этого зависит, можно ли будет группировать.
  2. Отметьте свойства для умного фильтра. В настройках инфоблока укажите, какие свойства участвуют в фильтре и как отображаются.
  3. Включите фасетный индекс. Постройте его и настройте пересчёт после обмена и массовых правок.
  4. Настройте компонент catalog.smart.filter. Задайте свёртку, поиск внутри фасета, скрытие пустых значений и приоритет популярных.
  5. Проверьте кэширование. Убедитесь, что фильтр кэшируется, а тяжёлый пересчёт вынесен в агенты.
  6. Протестируйте на боевых данных. Прогоните реальные свойства с сотнями значений, замерьте отклик на клик и корректность счётчиков.

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

Мобильный фильтр и большие списки

На мобильных проблема длинных списков острее всего: экран мал, а «простыня» вытесняет товары. Поэтому мобильный фильтр проектируют отдельно, а не просто «сжимают» десктопный.

Отдельное применение по кнопке на мобильных — это ещё и экономия запросов: вместо десятка пересчётов сервер отрабатывает один. На больших каталогах это заметно снижает нагрузку.

Частые ошибки

Чек-лист внедрения

  1. Свойства структурированы. Числа — числами, бренды — справочником, совместимость — иерархией.
  2. Свёртка настроена. Длинные фасеты показывают 8–10 значений с кнопкой «показать ещё».
  3. Поиск внутри фасета включён для свойств с большим числом значений.
  4. Группировка применена. Диапазоны для чисел, алфавит для брендов, зонтики для совместимости.
  5. Пустое скрыто, счётчики оставлены там, где помогают решению.
  6. Фасетный индекс построен и пересчитывается после обмена и массовых правок.
  7. Кэш и агенты настроены, тяжёлый пересчёт вынесен в фон.
  8. Мобильный фильтр отдельный, применение по кнопке, поиск в фасетах обязателен.
  9. Протестировано на боевых данных — отклик на клик и корректность счётчиков.

Вывод

Фильтр по характеристикам с сотнями значений — это две задачи в одной. Юзабилити требует сократить видимый список: свёртка, поиск внутри фасета, группировка в диапазоны и категории, приоритет популярных значений. Производительность требует фасетного индекса, который пересчитывает доступные варианты мгновенно, и кэша, который не даёт фильтру «залипать» на каждый клик.

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

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

Сколько значений у одного свойства фильтра — это уже «много»?

Практический порог — 15–20 значений. Пока их меньше, обычный список чекбоксов читается нормально. Когда значений тридцать, пятьдесят или несколько сотен (бренды, диаметры, коды совместимости), простой список превращается в бесконечную «простыню»: пользователь не может её просмотреть глазами и теряется. С этого момента фасету нужны поиск внутри блока, свёртка и другая механика показа.

Что лучше для длинного списка значений: поиск внутри фасета или «показать ещё»?

Они решают разные задачи и обычно работают вместе. «Показать ещё» (свёртка до 8–10 популярных значений) убирает визуальный шум и подходит, когда пользователь просматривает варианты. Поиск внутри фасета нужен, когда человек уже знает, что ищет, — бренд или размер, — и не хочет прокручивать. На больших списках включайте оба: сверху поле поиска, ниже — свёрнутый список с кнопкой раскрытия.

Почему при большом числе значений фильтр начинает тормозить?

Тормозит не отрисовка чекбоксов, а пересчёт доступных вариантов и счётчиков после каждого выбора. Без фасетного индекса Битрикс на каждый клик выполняет тяжёлые запросы к каталогу, чтобы понять, какие значения ещё дают товары. На большом каталоге с десятками свойств это выливается в секунды ожидания. Решение — включённый и регулярно пересчитываемый фасетный индекс умного фильтра.

Нужно ли показывать счётчики количества товаров у каждого значения?

Счётчики полезны: они подсказывают, где есть товар, и предотвращают выбор, ведущий к пустой выдаче. Но на списках в сотни значений их поддержание стоит ресурсов и может замедлять пересчёт. Компромисс — показывать счётчики для основных свойств и по популярным значениям, а для «тяжёлых» справочников (совместимость, коды) ограничиться скрытием заведомо пустых вариантов.

Скрывать значения, которые дают ноль товаров, или показывать неактивными?

Для длинных списков надёжнее скрывать заведомо пустые значения — они только удлиняют «простыню» и путают. Для коротких понятных свойств (цвет, размер) неактивные, но видимые значения помогают понять ассортимент. Универсальное правило: чем длиннее список, тем агрессивнее убирайте пустое; чем короче и понятнее — тем безопаснее оставлять неактивные варианты видимыми.

Как быть с фильтром по большому числу значений на мобильных?

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

Можно ли группировать сотни значений, чтобы список стал короче?

Да, и часто это самое сильное решение. Диапазоны (числовые характеристики — слайдером или пресетами «до 10», «10–20»), алфавитные группы для брендов, категории-«зонтики» для совместимости резко сокращают видимый список. Группировку закладывают в структуру свойств и справочников в инфоблоках, поэтому её лучше продумать на этапе проектирования каталога, а не докручивать потом.

Фасетный индекс решает проблему больших списков сам по себе?

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

Поделиться:

Большой каталог, а фильтр тормозит и путает?

Приведём в порядок свойства, включим и ускорим фасетный индекс, добавим поиск и группировку в умный фильтр. Рассчитаем работу по вашему каталогу.

Аудит и оптимизация 1С

Редакция B2Bsite

Команда B2Bsite. С 2014 года разрабатываем интернет-магазины и порталы на 1С-Битрикс: проектируем умные фильтры, ускоряем каталоги и настраиваем фасетный индекс на больших ассортиментах.

← Все статьи блога