-20%SALE🛒🛒🛒
  • Інтернет-магазини · 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?» — по десять таких повідомлень на день. Це ознака того, що параметр, за яким люди обирають, на сайті не існує як окреме поле. Фільтр переносить цей відбір у каталог. Список параметрів ми беремо саме з цих запитань, а не з прайсу.

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

Чим цей варіант відрізняється від «Зовнішній рушій (Elasticsearch, SaaS-пошук)»

З чого починається роботазі словника характеристик: без нього не запрацює жоден варіант
Відбір за характеристикамизапит до бази магазину з індексами під фактичні вибірки
Актуальність наявностівибірка йде по тій самій базі, що й картка — розбіжності немає
Хто чинить, коли зламалосьбудь-який PHP-розробник: усе всередині магазину
Що додається після запускунічого, крім звичайного хостингу магазину

Безкоштовний аудит каталогу перед фільтром

Фільтр — це не модуль, який ставиться за годину. Це наслідок того, наскільки акуратно заведені характеристики. Аудит показує, скільки роботи стоїть між вашим каталогом і робочим фільтром.

Що міряємо

  • Стан характеристикСкільки позицій має заповнені атрибути й наскільки однаково вони названі в межах категорії. Різні назви одного параметра — головна причина непрацюючого фільтра.
  • Обсяг каталогуРахуємо двома методами — картою сайту й штатним пошуком. Виміряні орієнтири по великих каталогах нашої вибірки: 5 561, 6 486, 13 428 і 54 302 позиції.
  • Швидкість вибіркиСкільки часу віддається сторінка категорії й що відбувається при кількох активних фільтрах. Виміряний орієнтир доброго результату на 54 тис. позицій: 413,8 мс першої відповіді.
  • Адреси фільтрівЩо відбувається з адресою при виборі параметрів і чи не плодить це нескінченні комбінації в індексі. Це головний SEO-ризик фасетної навігації.
  • Внутрішній пошукЧи знаходить він товар за артикулом, частиною назви й із помилкою в слові. Найчастіше — ні, і це видно з першої ж перевірки.
  • Порожні вибіркиЩо бачить покупець, коли комбінація фільтрів не дає результатів. Порожня сторінка — найпростіший спосіб втратити замовлення.

Що ви отримуєте на руки

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

Строк: 2–4 робочих дні

Чому це безкоштовно

Бо в дев'яти випадках із десяти справжня задача — не «поставити фільтр», а «привести до ладу характеристики». Показати це на цифрах чесніше, ніж продати модуль, який не запрацює.

Що далі

Після аудиту — сума й строк по етапах із датами, договір, рахунок, акт.

Форма коротка: контакт і адреса сайту

Не знайшли свій випадок?

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

Працюємо офіційно

Договір, акт і рахунок — на кожен проєкт, а не тільки на великий. Без документів у вас немає ні прав на роботу, ні підстави провести витрати.

  • Договір, акт і гарантія 30 днів

    На кожен проєкт письмовий договір: обсяг, строки, сума, порядок приймання. Після здачі — акт і рахунок, а далі 30 календарних днів гарантії: помилки з нашої вини усуваємо безоплатно. Усне з дзвінка дублюємо письмово того ж дня — домовленість, якої немає в тексті, не рахується.

  • ФОП і безготівковий розрахунок

    Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами, які бухгалтерія проведе як витрати. Курс для гривневої оплати фіксується договором, а не з’ясовується постфактум.

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

    Код, дизайн і матеріали переходять до вас після повної оплати. Домен, хостинг, репозиторій, аналітику й рекламні кабінети оформлюємо на вас — щоб сайт не залежав від підрядника. NDA підписуємо на запит, після завершення свої доступи видаляємо самі.

  • Портал клієнта замість переписки

    На час роботи ви отримуєте доступ до порталу: договори, рахунки, акти й стан проєкту в одному місці. Документи формуються з даних угоди, тому реквізити й суми в них не розходяться, а про оплати й дедлайни нагадує система, а не пам’ять менеджера.

  • Замовники з Європи

    Серед робіт — проєкти для Норвегії, Болгарії та Іспанії: болгарський магазин трьома мовами з кур’єрською доставкою, іспанський з оплатою карткою й переказом, норвезький сайт клініки. Це видно в портфоліо, а не тільки в описі.

  • Цифри, які можна перевірити

    Кожен кейс у портфоліо — з посиланням на живий сайт і технічним виміром: швидкість відповіді, вага сторінки, обсяг каталогу, знайдені дефекти. Ці цифри можна зняти самому й звірити з нашими.

  • Спершу аудит, потім сума

    Прайсу на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази, і цифра «від» нічого не пояснює. Спершу безкоштовний розбір — рахуємо ваші сторінки, дублі й швидкість, — потім називаємо суму й строк і фіксуємо їх у договорі.

  • Кажемо «ні», коли не впевнені

    Якщо задача не наша, строк нереальний або послуга вам просто не потрібна — скажемо це першим листом, а не після передоплати. Гарантій позицій у пошуку не даємо: їх не дає ніхто, а обіцянка без механізму — це продаж, а не робота.

NDA підписуємо на запит. Після завершення співпраці наші доступи до ваших сервісів видаляємо самі й повідомляємо про це.

Що впливає на вартість

Чому дві однакові на вигляд задачі рахуються по-різному — і що саме ми міряємо на аудиті

  • Де зараз лежать характеристикиОкремі атрибути в картці — фільтр збирається швидко. Характеристики всередині тексту опису доводиться діставати парсером із ручною звіркою по кожній категорії, і це стає основною частиною роботи, а не додатком до неї.
  • Кількість великих категорійКожна категорія — свій словник параметрів, свій набір одиниць виміру й своє рішення про те, що виносити у фільтр. Дві категорії й двадцять — різні обсяги, хоча модуль в обох випадках один.
  • Наскільки різнобійно названі атрибутиЗведення «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 робочих дні з документом на руки, потім сума й строк по етапах із датами, договір, рахунок, акт.

Надішліть адресу магазину — перевіримо характеристики, фільтр і пошук.

У відповідь — заповненість атрибутів по кожній великій категорії, список параметрів, які варто винести у фільтр, заміри швидкості до робіт і оцінка по етапах.

Переглянути кейси
  • Відповідь протягом 2 годин
  • Без зобов’язань
  • Працюємо за договором

Прайса на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази, і цифра «від» у такому разі нічого не пояснює. Спершу безкоштовний аудит — рахуємо ваші сторінки, дублі й швидкість, — потім називаємо суму й строк і фіксуємо їх у договорі.