Розробка каталогу 1С-Бітрікс: як перетворити фільтр за 4 секунди на миттєвий відгук
В інтернет-магазині 80 000 товарів, розумний фільтр на Бітрікс гальмує — кожен клік по властивості перетворюється на 4-секундне очікування. Покупець тикає чекбокс «бренд Apple», дивиться на лоадер, що крутиться, і йде до конкурентів. Конверсія падає на 20%. Це знайомий біль. Ми займаємося розробкою каталогу 1С-Бітрікс та фільтрації: проєктуємо архітектуру, яка тримає півмільйона позицій без деградації — завдяки фасетним індексам, правильному вибору сховищ і тегованому кешуванню. Якщо ваш магазин втрачає гроші на повільному фільтрі — замовте аудит поточної архітектури, ми оцінимо проблему за один день.
Як інфоблоки впливають на продуктивність каталогу?
Інфоблоки — основа каталогу, але на проєктах із десятками тисяч товарів вони стають вузьким місцем. Стандартний bitrix:catalog.smart.filter генерує JOIN на 6–8 таблиць властивостей (b_iblock_element_property), і MySQL йде в full scan. Змінюємо підхід: на етапі проєктування визначаємо, які властивості підуть в інфоблок, а які — в Highload-блоки. Для довідкових даних (бренди, міста, розмірні сітки) використовуємо HLB: вони працюють з окремою таблицею без overhead b_iblock_element_property. Коли випадаючий список «Міста» завантажується 8 секунд через 5000 значень — це сигнал переносити їх на HLB. Правильна архітектура дає суттєву економію. Зв'яжіться з нами, щоб прикинути вигоду для вашого проєкту.
Що таке фасетний індекс і чому він важливий?
Основна продуктивність криється тут. Без фасетного індексу кожен клік по фільтру — SQL-запит із JOIN по b_iblock_element, b_iblock_element_property, b_catalog_price і ще парі таблиць. На 100 000 товарів такий запит виконується 2–4 секунди. З фасетним індексом — 30–80 мс. Згідно з офіційною документацією, фасетний індекс скорочує час виконання запиту в десятки разів (у реальних проєктах — до 50 разів). Механізм: 1С-Бітрікс створює таблицю b_catalog_smart_filter, куди складає попередньо розраховані комбінації «розділ + властивість + значення + кількість товарів». При фільтрації движок звертається до цієї плоскої таблиці замість збору даних із нормалізованої структури інфоблоків.
При налаштуванні фасетного індексу часто допускають одні й ті самі помилки. Індекс створюють не для всіх розділів, забувають налаштувати фонову переіндексацію після масового імпорту — тоді лічильники властивостей перестають відповідати реальній кількості товарів. Вмикають у фасет усі властивості підряд, навіть службові, що роздуває таблицю b_catalog_smart_filter. На каталогах понад 300 тисяч позицій її розмір може перевищувати гігабайт — без моніторингу через SHOW TABLE STATUS LIKE 'b_catalog_smart_filter' не обійтися. Висновок: фасетний індекс дає радикальне прискорення, але потребує вдумливого налаштування та автоматичної переіндексації через агент CIBlockCatalog::ReindexFacet або cron.
Чому Highload-блоки швидші за інфоблоки для довідників?
| Критерій | Інфоблок (IB) | Highload-блок (HLB) |
|---|---|---|
| Зберігання властивостей | Таблиця b_iblock_element_property |
Окрема плоска таблиця на кожен HLB |
| Швидкість фільтрації на 50 тис. товарів | ~500–800 мс (з фасетом) | ~80–150 мс (без фасета) |
| Підтримка SEO (URL, шаблони) | Повна | Відсутня (тільки довідники) |
| Рекомендується для | Товари, розділи, основні властивості | Довідники (бренди, міста), користувацькі дані |
Коли інфоблоки кращі за HLB
Highload-блоки не формують SEO-URL та не мають візуального редактора. Якщо довідник повинен мати окремі сторінки (наприклад, бренди з унікальними H1), використовуйте інфоблоки. HLB — для суто службових даних, що не потребують індексації.На практиці найкраща архітектура — гібридна. Товари та розділи живуть в інфоблоках — там SEO, візуальний редактор, штатні компоненти каталогу. А довідкові властивості з тисячами значень переносимо в Highload-блоки. Користувацькі дані (обране, переглянуті, порівняння) — теж у HLB, вони швидко зростають, і інфоблоки під це не заточені. Хочете дізнатися, яку архітектуру обрати для вашого каталогу? Зв'яжіться з нами — проаналізуємо структуру даних і дамо рекомендації.
SEO-фільтри: як отримати ЧПУ і не потрапити під фільтр Яндекса?
Стандартний фільтр генерує ?filter[brand]=apple&filter[color]=black — пошуковики такі URL або не індексують, або вважають дублями. А запит «ноутбуки apple чорні» — найконверсійніший низькочастотний трафік. Робимо ЧПУ: /catalog/noutbuki/brand-apple/color-black/ з унікальними title, description і H1. Не шаблонними «Купити {бренд} у Мінську», а осмисленими — з урахуванням конкретної комбінації.
- Канонічні URL — щоб
/brand-apple/color-black/і/color-black/brand-apple/не дублювалися. - Контроль кількості комбінацій, що індексуються — 10 властивостей по 20 значень дають мільйони сторінок, Яндекс за таке б'є фільтром.
- Автоматична sitemap для SEO-сторінок фільтрації.
- Адміністративний інтерфейс для менеджера — він сам вирішує, які перетини індексувати.
Замовте впровадження SEO-фільтрів — отримайте готовий інструмент для залучення низькочастотного трафіку зі зростанням конверсії до 30%.
Які методи дають відчутний приріст продуктивності?
- Вибірка лише потрібних полів через
arSelect— жоднихSELECT *по інфоблоках. - Керований кеш із тегами: додали товар — кеш перестворився автоматично.
- Композитний кеш для анонімів: TTFB < 100 мс, HTML віддається без запуску PHP.
- Індекси на властивостях, що беруть участь у фільтрації — без них MySQL сканує
b_iblock_element_propertyцілком. - Моніторинг TTFB: якщо каталог відповідає довше 500 мс — ліземо в slow query log.
Що входить у комплексну розробку каталогу на 1С-Бітрікс?
Ми передаємо не просто робочий код, а повний комплект документації та інструментів для самостійного управління. До deliverables входять:
- Аудит поточної архітектури каталогу та фільтрації.
- Проєктна документація з описом схеми даних, розподілу по інфоблоках і Highload-блоках, фасетного складу.
- Готовий розумний фільтр з ajax-режимом, групуванням і збереженням стану.
- Налаштований фасетний індекс з cron-переіндексацією.
- SEO-фільтри з ЧПУ, унікальними метатегами, канонікалами та sitemap.
- Інтеграція швидкого перегляду та сортувань (AJAX, мобільна адаптація).
- Документація з експлуатації для менеджерів: як додавати властивості, керувати індексами та SEO-комбінаціями.
- Гарантійна підтримка 30 днів після здачі — виправляємо інциденти та відповідаємо на запитання.
Як ми розробляємо каталог: покроковий план
Ми не просто ставимо компоненти. Процес включає:
- Аудит поточного каталогу — розбір структури властивостей, виявлення вузьких місць, перевірка індексів і кешу.
- Проєктування архітектури — розподіл даних між інфоблоками та HLB, визначення фасетного складу.
- Розробка розумного фільтра — кастомізація шаблону, ajax-режим, групування, збереження стану.
- Налаштування фасетного індексу — створення, cron-переіндексація, моніторинг.
- SEO-фільтри — ЧПУ, метатеги, канонікали, sitemap.
- Інтеграція швидкого перегляду та сортувань — AJAX-модалка з фото, ціною, наявністю, попереднє завантаження при наведенні. На мобільних — bottom sheet замість попапа.
- Навчання менеджерів — як керувати властивостями, індексами та SEO-комбінаціями.
- Гарантійна підтримка — 30 днів після здачі.
Строки реалізації
| Завдання | Орієнтовний строк |
|---|---|
| Налаштування розумного фільтра | 3–5 днів |
| Фасетний пошук | 2–3 дні |
| SEO-фільтри | 1–2 тижні |
| Швидкий перегляд | 3–5 днів |
| Кастомний шаблон каталогу | 1–2 тижні |
| Міграція на Highload-блоки | 2–4 тижні |
| Комплексна розробка каталогу | 4–8 тижнів |
Каталог окупається через зростання конверсії та приплив SEO-трафіку по низькочастотці. Покупець знаходить товар за два кліки, а не йде після першого тику у фільтр. Отримайте консультацію — оцінимо ваш проєкт протягом дня та надамо розрахунок вартості з roadmap робіт з розробки каталогу 1С-Бітрікс. Зв'яжіться з нами через форму на сайті — сертифіковані спеціалісти та понад 200 успішних проєктів за плечима.







