Завдання
RoSPORT імпортує велосипеди, запчастини та спортивне спорядження і продає їх зі власного складу — роздріб для велосипедистів по всій Україні, опт для магазинів і майстерень. Старий сайт не витримував каталог такого розміру, а оптові партнери не мали де побачити свої персональні ціни, тож обидва канали велися напівручним способом.
Що було зроблено
1. Headless-сторфронт під двох різних покупців
Ми побудували новий сторфронт на Next.js поверх Medusa.js: фасетний каталог (бренд, розмір колеса, тип гальм, матеріал рами, вікова група), пошук за назвою, брендом чи артикулом, guest checkout, вішліст, порівняння, відгуки, купівлю в один клік і крос-сейл. Дві повністю перекладені локалі (uk/ru) покривають контент, назви категорій і метадані з коректним hreflang — це реальна друга мова для українського ринку, а не автоперекладена версія. Окремий оптовий трек працює паралельно з роздрібом: персональні ціни для партнерів, особистий менеджер, оплата за рахунком і форма заявки.
2. Міграція без втрати пошукового сліду
Магазин переїхав зі старого рушія зі збереженням старої структури URL, тож близько 13 000 товарних адрес і старі слаги категорій досі відкриваються. Динамічний індекс сайтмапів (кореневий плюс шість товарних, lastmod оновлюється щодня), canonical і hreflang на кожній сторінці, а також структуровані дані Product/Offer/BreadcrumbList на сторінках товарів тримають каталог такого розміру індексованим.
3. Адмінка, якою команда клієнта керує сама
Обидва канали продажів працюють з однієї адмінки: модулі для редагування сторінок, меню, фільтрів і шаблонів сповіщень, плюс модуль вивантаження товарів, що генерує живий фід Google Merchant Center і захищені ключем варіанти фіда для інших каналів. За тим самим логіном стоять конвертер валют для закупівель у закордонних постачальників, інтеграція з обліковою системою клієнта, SMS-шлюз і Telegram-бот, що сповіщає менеджерів про нові замовлення.
Результат
Обидва канали продажів тепер працюють з однієї адмінки замість двох окремих процесів.
- Мерчандайзинг, категорії, фільтри й тексти сповіщень — на самообслуговуванні, без розробника в процесі.
- Товарні фіди йдуть автоматично в Google Merchant Center та інші канали.
- Каталогу є куди рости за межі поточних 13 000 позицій — платформа не є обмеженням.
Технологічний стек: Next.js App Router з next-intl на фронті, Medusa.js окремими сервісами admin і worker, PostgreSQL і Redis під капотом, медіа на Cloudflare R2. Оплата й доставка — Нова Пошта (відділення, поштомат, кур'єр), LiqPay, накладений платіж і рахунок для юросіб; аналітика на GA4.
