Уявіть: користувач вводить запит на сайті, а підказки не з'являються. Або показують що завгодно, тільки не товари з каталогу. Конверсія пошуку падає на 20-30%. Ми стикалися з проектами, де стандартний компонент bitrix:search.suggest або не підключений, або працює не на тих даних. У цій статті розберемо, як правильно налаштувати, оптимізувати та кастомізувати пошукові підказки в 1С-Бітрікс, щоб скоротити час пошуку та підвищити задоволеність клієнтів.
Чому стандартні підказки часто дають збій?
Основна причина — невідповідність джерела даних. Компонент search.suggest бере інформацію із загального пошукового індексу b_search_content. Якщо індекс не побудований або побудований не для потрібних розділів, підказки будуть порожніми. Друга поширена помилка — невірний START_SEARCH_FORM_ID. Форма пошуку повинна мати ID, і цей ID потрібно передати компоненту. Інакше AJAX-запит просто не прив'яжеться до поля вводу. Третя — відсутність фільтрації за інфоблоками: без arrFILTER підказки можуть показувати сторінки з інших розділів, наприклад, новини або статті.
Як налаштувати компонент search.suggest?
Приклад виклику компонента в шаблоні форми пошуку:
$APPLICATION->IncludeComponent('bitrix:search.suggest', '', [ 'SITE_ID' => SITE_ID, 'START_SEARCH_FORM_ID' => 'searchForm', 'SUGGEST_MAX_COUNT' => 10, 'MIN_QUERY_LENGTH' => 3, 'SUGGEST_CACHE_TIME' => 3600, 'FILTER_NAME' => 'arrFILTER', 'arrFILTER' => [ ['MODULE_ID' => 'iblock', 'PARAM1' => 'catalog', 'PARAM2' => 5], ], ]); Форма повинна містити поле з name="q" і id, що збігається з START_SEARCH_FORM_ID. Важливо: якщо у вас кілька форм пошуку, для кожної створіть окремий компонент. Зверніть увагу на параметр FILTER_NAME — він задає ім'я змінної фільтра, яка передається в arrFILTER. Це дозволяє точково вказати, які елементи індексувати для підказок.
Як кастомізувати зовнішній вигляд підказок?
Стандартний шаблон компонента знаходиться в /bitrix/components/bitrix/search.suggest/templates/.default/. Для кастомізації скопіюйте його в /local/components/bitrix/search.suggest/templates/custom/. У кастомному шаблоні можна додати виведення зображень, цін, артикулів. Для цього після отримання ID елементів виконайте додатковий запит через CIBlockElement::GetList і підставте дані в HTML. Це збільшує час відгуку, але ми компенсуємо це кешуванням. Приклад: у результатах підказок можна виводити прев'ю товару, ціну зі знижкою та залишок на складі. Така деталізація підвищує клікабельність. Кастомні підказки перевершують стандартні за конверсією в 2,5 рази, як показують наші проекти.
| Параметр | Стандартні підказки | Кастомні підказки |
|---|---|---|
| Вміст | Тільки текст | Текст + картинка + ціна + артикул |
| Час завантаження | 100-200 мс | 200-400 мс (з кешем) |
| Конверсія пошуку | 2-5% | 8-12% |
Як прискорити AJAX-запити?
При високій відвідуваності AJAX-запити підказок можуть створити навантаження на сервер. Наші рекомендації:
- Збільште
SUGGEST_CACHE_TIMEдо 3600-7200 секунд (відповіді кешуються у файловому кеші). - Увімкніть керований кеш для компонента.
- Для проектів з навантаженням понад 10 000 запитів/добу створіть окремий endpoint, який віддає попередньо підготовлений JSON з TTL 10-15 хвилин.
- Використовуйте тегований кеш для інвалідації при зміні товарів.
Один із наших кейсів: інтернет-магазин з 50 000 товарів. Після налаштування кешування та оптимізації запитів час відгуку підказок знизився з 800 мс до 150 мс, а навантаження на сервер зменшилося в 5 разів. Це дозволило обробляти пікові 2000 запитів/хв без просадок.
| Налаштування кешу | Час відгуку (мс) |
|---|---|
| Без кешу | 800 |
| SUGGEST_CACHE_TIME = 3600 | 200 |
| Тегований кеш + endpoint | 150 |
Приклад налаштування фільтра для каталогу
$APPLICATION->IncludeComponent('bitrix:search.suggest', '', [ 'SITE_ID' => SITE_ID, 'START_SEARCH_FORM_ID' => 'searchForm', 'SUGGEST_MAX_COUNT' => 10, 'MIN_QUERY_LENGTH' => 3, 'SUGGEST_CACHE_TIME' => 7200, 'FILTER_NAME' => 'arrFILTER', 'arrFILTER' => [ ['MODULE_ID' => 'iblock', 'PARAM1' => 'catalog', 'PARAM2' => 5], ], ]); Що входить у налаштування підказок під ключ
- Аудит поточного стану пошукового індексу та налаштування переіндексації.
- Підключення та налаштування компонента
search.suggestз фільтрацією за каталогом. - Кастомізація шаблону (виведення картинки, ціни, артикула, посилання).
- Оптимізація кешування та продуктивності (тегований кеш, endpoint).
- Інтеграція з торговими пропозиціями (SKU) — окреме налаштування індексації властивостей.
- Документація та навчання ваших розробників.
Типові помилки та рішення
- Підказки не з'являються: перевірте, чи побудований пошуковий індекс (Налаштування → Пошук → Переіндексація).
- Показуються товари з іншого розділу: вкажіть
arrFILTERз потрібними параметрами інфоблоку. - Немає підказок за торговими пропозиціями: увімкніть індексацію властивостей SKU в налаштуваннях пошуку.
- Повільні відповіді: налаштуйте кешування та збільште
SUGGEST_CACHE_TIME.
Терміни та вартість
Базове налаштування займає від 2 годин до 1 дня. Кастомний шаблон з інтеграцією — від 2 до 5 днів. Точна вартість розраховується після аналізу вашого проекту. Зв'яжіться з нами для оцінки — ми підготуємо комерційну пропозицію з гарантією якості.
Отримайте консультацію з оптимізації пошуку — це безкоштовно. Замовте професійне налаштування пошукових підказок, і ми підготуємо рішення під ваш проект.
Офіційна документація: Компонент search.suggest Також рекомендуємо ознайомитися з загальними принципами автодоповнення на Wikipedia.







