• Интернет-магазины · OpenCart 4.x

Фильтр для интернет-магазина: чтобы покупатель дошел до товара в каталоге на тысячи позиций

Фильтр для интернет-магазина – это не модуль, а состояние характеристик товара. Сам модуль ставится в час, но работает только там, где атрибуты заполнены и названы одинаково в пределах категории, поэтому основная работа лежит в каталоге, а не в коде. Далее три вещи решают, дойдет ли покупатель до товара: счетчики у значений, поведение адресов при выборе параметров и поиск, который находит артикул в том виде, в каком его вводят. Измеренный нами магазин на 54 302 позиции отдает первый ответ за 413,8 мс.

Посмотреть, как это работает
Стоимость
после бесплатного аудита
Гарантия
30 дней после подписания акта
Самый большой каталог с фильтрами, который мы мерили
54 302 товары и 635 категорий, TTFB 413,8 мс
после бесплатного аудита
Стоимость
30
Гарантия

дней после подписания акта

54 302
Самый большой каталог с фильтрами, который мы мерили

товары и 635 категорий, TTFB 413,8 мс

двумя методами – карта сайта и штатный поиск, расхождение 0,4%
Как считаем каталог
5 561
Второй измеренный каталог

товар при TTFB 801,2 мс и легком HTML 153,8 КБ

10–25
Срок

рабочих дней от утверждения структуры характеристик

2–4
Аудит каталога

рабочих дня, бесплатно, с документом на руки

предоплата 50%, гарантийный срок 30 календарных дней
Условия
Этапы работы

Прозрачные этапы с согласованием на каждом шагу

Общий срок:10–25 дней

  1. Аудит каталога и словарь характеристик

    1–3 рабочих дня

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

  2. Приведение атрибутов в строй

    3–8 рабочих дней

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

  3. Фасетный фильтр и правила адресов

    2–5 рабочих дней

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

  4. Внутренний поиск

    2–4 рабочих дня

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

  5. Скорость выборки

    1–3 рабочих дня

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

  6. Прием и передача

    1–2 рабочих дня

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

Технологии и интеграции

На чём строим и с чем это соединяется

Стек

  • OpenCart 4.x – ставим по умолчанию; ограничение: часть украинских модулей фильтрации до сих пор выходит только под 3.x
  • OpenCart 3.x – когда нужен модуль, сборки которого под 4.x нет
  • PHP – ограничение: скорость фильтра упирается не в язык, а в количество запросов, которые тема делает на страницу категории
  • MySQL с просмотренными индексами под выборки – ограничение: индекс ускоряет чтение и замедляет запись, поэтому отдельно меряем импорт прайса
  • OCFilter или аналог – дает фасетку из коробки; ограничение: правила индексации комбинаций он за вас не решает, это ручное решение
  • кэширование страниц категорий - ограничение: кэш нужно сбрасывать при смене остатков, иначе видно наличие вчерашнего дня
  • nginx и HTTP/2 – ограничение: они сокращают сетевую часть, а не время сбора страницы на стороне PHP

Интеграции

  • Google Tag Manager
  • GA4 с событиями поиска и применения фильтров
  • Google Search Console
  • внутренняя аналитика поисковых запросов
  • импорт характеристик из прайса
Что входит

Полный перечень работ и того, что вы получаете на выходе

  • Набор фильтров под каждую большую категорию — характеристики посуды и инструмента не должны быть в одном списке
  • Приведение атрибутов к единому виду в пределах категории: одно название параметра, одинаковые единицы измерения
  • Фасетный фильтр с корректным поведением адресов: индексируем только осмысленные комбинации, остальное закрываем
  • Счетчики в фильтре: покупатель видит, сколько позиций даст каждый параметр, и не попадает в пустую выборку
  • Внутренний поиск с нормализацией артикулов, поиском по части названия и устойчивостью к опечаткам
  • Подсказки в поиске с переходом на карту или категорию
  • Страница пустой выборки с предложением снять лишний фильтр, а не тупиком
  • Оптимизация запросов к базе и индексам, чтобы фильтр не тормозил на десятках тысяч позиций
  • Замеры до и после: первый ответ категории, время выборки с активными фильтрами
  • Аналитика поиска: что ищут и какие запросы не дают результатов
  • Условия: предоплата 50%, гарантийный срок 30 календарных дней после приемки
Когда эта услуга не подходит

Что не входит в работу — чтобы не было сюрпризов на сдаче

  • Заполнение характеристик товаров вручную сверх согласованного объема - это отдельная услуга
  • Переписка описаний товаров
  • Наружный поисковый двигатель с отдельной инфраструктурой без отдельной оценки
  • Реклама после запуска
  • Хостинг, домен, эквайринг
Кому подходит

Ситуации, в которых эта услуга даёт результат

Сценарий 1 из 5

Покупатели спрашивают менеджера о том, что должны отбирать сами

«Есть ключ на 17?», «а это под 220 или под 380?» - по десять таких сообщений в день. Это признак того, что параметр, по которому люди выбирают, на сайте не существует как отдельное поле. Фильтр переносит этот отбор в каталог. Список параметров мы берем именно из этих вопросов, а не из прайса.

Разберём вашу ситуацию на бесплатном аудите
Фасетка на штатных атрибутах против внешнего поискового двигателя

Чем этот вариант отличается от альтернативы

С чего начинается работаиз словаря характеристик: без него не заработает ни один вариант
Отбор по характеристикамзапрос в базу магазина с индексами под фактические выборки
Актуальность наличиявыборка идет по той же базе, что и карточка — разногласия нет
Кто делает, когда сломалосьлюбой PHP-разработчик: все внутри магазина
Что добавляется после запусканичего, кроме обычного хостинга магазина

Бесплатный аудит каталога перед фильтром

Фильтр – это не модуль, который ставится за час. Это следствие того, как аккуратно заведены свойства. Аудит показывает, сколько работы стоит между вашим каталогом и рабочим фильтром.

Что мы измеряем

  • Состояние характеристикСколько позиций заполнены атрибуты и насколько одинаково они названы в пределах категории. Различные названия одного параметра – главная причина неработающего фильтра.
  • Объем каталогаСчитаем двумя методами – картой сайта и штатным поиском. Измеренные ориентиры по большим каталогам нашей выборки: 5561, 6486, 13428 и 54302 позиции.
  • Скорость выборкиСколько времени отдается страница категории и происходит при нескольких активных фильтрах. Измеренный ориентир хорошего результата на 54 тыс. позиций: 413,8 мс первого ответа.
  • Адреса фильтровЧто происходит с адресом при выборе параметров и не плодит ли это бесконечные комбинации в индексе. Это главный SEO-риск фасетной навигации.
  • Внутренний поискНаходит ли он товар по артикулу, части названия и ошибке в слове. Зачастую нет, и это видно из первой же проверки.
  • Пустые выборкиЧто видит покупатель, когда комбинация фильтров не приносит результатов. Пустая страница – самый простой способ потерять заказ.

Что вы получаете

  • Оценка заполненности характеристик по каждой большой категории.
  • Перечень параметров, которые следует вынести в фильтр, и мешающих.
  • Замеры скорости категории до работ — затем сравнивать цифры.
  • Разговор на 30-40 минут по документу.

Срок: 2–4 рабочих дня

Почему это бесплатно

Ибо в девяти случаях из десяти настоящая задача — не «поставить фильтр», а «привести в порядок характеристики». Показать это на цифрах честнее, чем продать не заработающий модуль.

Что дальше

После аудита – сумма и срок по этапам с датами, договор, счет, акт.

Короткая форма: контакт и адрес сайта

Не нашли свой случай?

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

  • Договор, акт и гарантия 30 дней

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

  • ФОП и безналичный расчёт

    Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.

  • Права и доступы — ваши

    Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.

  • Портал клиента вместо переписки

    Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.

  • Заказчики из Европы

    Среди работ — проекты для Норвегии, Болгарии, Молдовы и Испании.

  • Цифры, которые можно проверить

    Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.

  • Сначала аудит, потом сумма

    Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.

  • Говорим «нет», когда не уверены

    Если задача не наша или срок нереальный — скажем сразу.

Что влияет на стоимость

Почему две одинаковые на вид задачи считаются по-разному

  • Где сейчас лежат характеристикиОтдельные атрибуты в карточке – фильтр собирается быстро. Характеристики внутри текста описания приходится доставать парсером с ручной сверкой по каждой категории, и это становится основной частью работы, а не приложением к ней.
  • Количество больших категорийКаждая категория – свой словарь параметров, свой набор единиц измерения и свое решение о том, что выносить в фильтр. Две категории и двадцать – разные объемы, хотя модуль в обоих случаях один.
  • Насколько разнобойно названы атрибутыСводка "40 Вт", "40 Вт." и «мощность 40 вт» к одному значению делается скриптом только там, где вариантов десяток. Когда их сотни и часть с содержательными ошибками, требуется ручная вычитка списка значений.
  • Состояние внутреннего поискаНормализация артикула и поиск по части названия – краткая работа. Устойчивость к опечаткам, подсказки с переходом в карту и аналитика запросов без результатов добавляются отдельными блоками.
  • Объем каталога и текущая скоростьНа десятках тысяч позиций к работе прилагается просмотр индексов базы и кэширование счетчиков: иначе каждый клик по фильтру пересчитывает количество позиций заново. На нескольких тысячах этого обычно не нужно.
  • Решение об индексации комбинацийЕсли вы уже имеете органический трафик на страницы фильтров, необходим разбор текущих адресов перед тем, как что-либо закрывать. Когда магазин новый, правила сдаются сразу — и это заметно короче.
Кейсы

Задачи и результат в цифрах — все показатели сняты нашим замером

интернет-магазин тактического снаряжения с каталогом более 50 тыс. позиций

Задача
Удержать сверхбольшой ассортимент с подробной фильтрацией по характеристикам и не потерять скорость отдачи страниц.
Решение
Магазин на OpenCart 3 с модулями фильтрации по Cloudflare, две языковые версии. Полная разметка локального магазина – девять типов структурированных данных. Шесть способов расчета в чекате.
Результат
Каталог 54 302 товаров и 635 категорий, карта сайта как индекс — итого 110 096 адресов; перекрестная проверка штатным поиском дала расхождение 0,4%. TTFB 413,8 мс, полная загрузка 511,1 мс при весе HTML 421,5 КБ – на каталоге в 54 тысячи позиций. Измерение 31.07.2026.

интернет-магазин профессиональной косметики с каталогом более 5 тыс. позиций

Задача
Собрать в один каталог обширный ассортимент с навигацией по брендам и типам средств.
Решение
Магазин на OpenCart с каталогом по брендам и типам средств, условиям бесплатной доставки от суммы и двумя способами расчета.
Результат
Каталог 5 561 товар — считали штатным поиском: 55 страниц по 100 позиций плюс 61. TTFB 801,2 мс, полная загрузка 930,7 мс при весе HTML 153,8 КБ. Найдено: разметка ограничена Organization и PostalAddress, товарной нет; при легкой разметке первый ответ медленный – узкое место на стороне сервера и запросов, а не верстки. Измерение 31.07.2026.
Что нужно от вас

Без этого не начнём — лучше подготовить заранее

  1. Доступ на сайт и базу или тестовую копию.
  2. Прайс с характеристиками, если их нужно доливать в каталог.
  3. Список параметров, по которым покупатели реально спрашивают менеджера, – это лучший источник для фильтра.
  4. Решения, какие комбинации фильтров должны быть в индексе, а какие закрыты.
  5. Доступ к Search Console, если права подтверждены.
  6. Одного человека с правом утвердить структуру характеристик.

Если чего-то из этого нет — скажите, подскажем, как собрать или сделаем сами отдельной задачей.

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

Что спрашивают чаще всего — с конкретными ответами

Поставили модуль фильтра, а он показывает мусор – в чем дело?

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

Фасетный фильтр не завалит индекс комбинациями?

Завалит, если оставить его без правил. Каждый выбранный параметр создает адрес, комбинации умножаются, и каталог на несколько тысяч товаров способен сгенерировать сотни тысяч почти одинаковых страниц. Рабочее правило: открытыми остаются только те комбинации, под которые есть реальные запросы, остальные получают canonical на категорию и закрываются от обхода. Для масштаба: еще без всякой фасетки мы фиксировали 33 493 записей карты сайта на 8 690 уникальных адресов. Сразу предупреждаем о побочном эффекте – после чистки количество страниц в индексе некоторое время падает. Это обычный ход событий, а не ухудшение.

На каталоге в десятки тысяч позиций фильтр будет тормозить?

Не обязательно. Измеренный нами магазин снаряжения держит 54 302 товара и 635 категорий и отдает первый ответ за 413,8 мс, полную загрузку HTML – 511,1 мс. Второй магазин с каталогом 5 561 позиция при в десять раз меньшем объеме и легком HTML 153,8 КБ отдает первый ответ за 801,2 мс: дело не в количестве товаров, а в индексах базы, кэше и том, сколько запросов делает тема. Сразу уточним предел: наше измерение – это серверная часть. Что увидит конкретный покупатель, зависит от его устройства, сети и веса картинок в категории.

Покупатель выбрал три параметра и получил пустую. Что с этим делать?

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

Почему поиск не находит товар по артикулу?

Через формат записи. В базе артикул с дефисом покупатель вводит без него или наоборот с пробелом посередине или в другом регистре. Нормализовать надо по обе стороны: чистим и то, что ввели, и то, что лежит в базе, а результат держим отдельным полем для поиска. Далее – поиск по части названия и устойчивость к опечаткам. Это самое дешевое из доработок, которые вообще влияют на продажи в большом каталоге. Предел здесь очевиден: поиск помогает тому, кто уже знает название или артикул. Еще выбирающему покупателю нужны категории и фильтр.

Характеристики у нас лежат внутри описания. Это реально извлечь?

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

Сколько времени займет и от чего сдвигается срок?

10-25 рабочих дней. Раскладка: аудит и словарь характеристик 1–3 дня, приведение атрибутов в строй 3–8, фильтр и правила адреса 2–5, поиск 2–4, скорость выборки 1–3, прием 1–2. Сдвигает срок ровно одна вещь – второй этап. Если атрибуты заполнены и названы одинаково, это настройка и оптимизация в нижней части диапазона. Если их нужно извлекать из описаний по нескольким тысячам позиций, основное время уйдет именно на это. Вторая причина смещения в нашей памяти нетехническая: решение о том, какие параметры выносить в фильтр, принимает кто-то с вашей стороны, и без этого человека этап стоит.

Почему вы не называете стоимость сразу?

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

Отправьте адрес магазина – проверим характеристики, фильтр и поиск.

В ответ – заполненность атрибутов по каждой большой категории, список параметров, которые следует вынести в фильтр, замеры скорости работы и оценка по этапам.

Из измеренных кейсовКаталог 54 302 товаров и 635 категорий, карта сайта как индекс

Смотреть кейсы
  • Ответ в течение 2 часов
  • Без обязательств
  • Работаем по договору

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