Розбори задач

Пошук у Magento не знаходить товар за артикулом, кольором і частиною назви

Як перебудувати пошук інтернет-магазину на Magento 2 так, щоб товар знаходився за артикулом, кольором, лінійкою, частиною назви, транслітерацією і навіть запитом, набраним не в тій розкладці.

Що болить

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

Найдорожче тут те, що втрачається найгарячіший трафік. У пошуковий рядок іде людина, яка вже знає, що хоче купити: прийшла з каталогу, з розсилки, з Instagram, де бачила артикул. Порожня видача розвертає її до конкурента з готовим наміром купити. При каталозі в 1500–3000 позицій частка сесій із пошуком зазвичай 10–30%, а конверсія таких сесій у 2–3 рази вища за середню по сайту — тобто мова про відчутну частку виручки. Додатковий мінус: невдалі запити ніде не фіксуються, тому власник магазину навіть не бачить, чого людям бракує в каталозі.

Що заважає зробити просто

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

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

Як вирішуємо

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

Друге — нормалізація запиту до того, як він піде в індекс. Виправлення розкладки (коли людина набрала латиницею замість кирилиці), транслітерація в обидва боки («самер вайб» → Summer Vibe), склеєне й роздільне написання, типові друкарські помилки. Поверх цього — словник синонімів під тематику магазину: варіанти написання категорій, назви кольорів і лінійок українською, російською та латиницею.

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

З чого складається вартість і строк

Ринкова вилка для Magento 2 при каталозі до ~3000 позицій: базове перенастроювання пошуку (атрибути в індексі, нормалізація запиту, часткові збіги, синоніми, підказки) — приблизно 8 000–14 000 ₴ і 3–5 робочих днів. Варіант із керуванням видачею, звітом за запитами, самостійним редагуванням синонімів і підтримкою після запуску — 12 000–20 000 ₴, 5–7 днів. Якщо тим же етапом робиться фід для Rozetka/Prom із зіставленням категорій та автооновленням залишків і цін — 20 000–30 000 ₴ і 10–12 днів.

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

Розбір знеособлений: назви замовника і ціни конкретної угоди не розкриваємо. Інші розбори — Розбори задач

Обговорити задачу

Розкажіть про задачу в розмові — голосом, текстом або файлами. У відповідь отримаєте пропозицію зі складом робіт, ціною і строком. Або просто напишіть у Telegram чи на пошту.

Обговорити проєкт@soloveynikinfo@lambertain.agency

Зв'язок

МАЄШ
ІДЕЮ?

Розкажіть про задачу — відповімо швидко і запропонуємо рішення.

@soloveynikinfo@lambertain.agencygithub.com/Lambertain