Огляд проєкту
AC Schnitzer — це тюнінг-бренд з Ахена, Німеччина, що спеціалізується на BMW, MINI та мотоциклах BMW. Але цей сайт створювався не для німецької материнської компанії, а для офіційного норвезького дистриб’ютора.
Проєкт мав робити значно більше, ніж просто презентувати бренд. Потрібно було запустити WooCommerce-магазин автозапчастин, окремий розділ для вживаних авто на локальному ринку та двомовний інтерфейс для норвезьких і англомовних користувачів.
Оскільки швидкість запуску була критичною, я використав готовий WordPress-шаблон як основу замість того, щоб будувати все з нуля. Стек складався з WordPress, Elementor і WooCommerce, а сам шаблон уже мав окремий тип записів для автомобілів, що виявилося дуже доречним, бо клієнт також продавав уживані машини.

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

Виклик 1: синхронізація товарів без API
Найбільшою технічною проблемою було те, що німецький магазин не мав публічного API чи офіційного способу синхронізації такого каталогу. Тобто не існувало готової інтеграції WooCommerce, на яку можна було б спертися.
Оскільки задача виходила далеко за межі типової конфігурації WordPress-плагіна, до проєкту долучився ще один розробник, який закрив зовнішню частину автоматизації. Він створив кастомну систему, що періодично сканувала німецький магазин, генерувала WooCommerce-сумісний CSV і віддавала його через захищену серверну адресу. По суті, це стало нашим внутрішнім API-шаром.
Моя частина полягала в тому, щоб WordPress надійно приймав ці дані. Я створив кастомний плагін ACS Auto Importer, який працює за cron-розкладом і раз на день, або з будь-яким іншим заданим інтервалом, забирає CSV із захищеної адреси. Плагін імпортує нові товари, оновлює наявні й тримає каталог синхронізованим із магазином-джерелом.
Я також додав в адмінку WordPress окремий інтерфейс із журналами імпорту, щоб клієнт бачив, що саме сталося під час кожного запуску: скільки товарів оновилося, коли це відбулося та чи виникли помилки. Щоб це залишалося практичним у довгій перспективі, я ще додав обмеження на зберігання логів, аби файл не розростався безконтрольно.

Виклик 2: двомовна доставка для великого імпортованого каталогу
Другий виклик стосувався мови. Оскільки бізнес працює в Норвегії, основною мовою мала бути норвезька, щоб сайт був зрозумілим для користувачів і коректно індексувався в локальному пошуку. Для звичайних сторінок це було цілком керовано. Їх я переклав за допомогою AI й налаштував переключення між норвезькою та англійською.
Реальна проблема полягала в імпортованому каталозі. Дані про товари приходили з магазину-джерела англійською або, за бажанням, німецькою, тоді як сам сайт мав бути насамперед норвезьким. У результаті брендові сторінки й сторінки магазину за замовчуванням виходили різними мовами.
Повноцінний серверний конвеєр перекладу для понад 5000 імпортованих товарів вимагав би значно більшого постійного бюджету, тому клієнт обрав простіший шлях. Звичайні сторінки я зробив норвезькою, а потім використав LocoAI, Loco Translate та GTranslate, щоб магазин залишався зручним норвезькою й англійською.
На практиці це означало JavaScript-шар перекладу для імпортованого каталогу, а не повністю збережені перекладені сторінки товарів. Для відвідувачів це працювало добре, хоча й не створювало окремого індексованого багатомовного каталогу. У межах бюджету та вимог проєкту це був правильний компроміс між вартістю, швидкістю та зручністю.
Рішення і результат
Готовий сайт об’єднав презентацію бренду, розділ уживаних авто та великий WooCommerce-каталог запчастин в одній системі. Використання шаблону пришвидшило запуск, але справжню цінність дали кастомна логіка навколо нього, особливо сценарій синхронізації та прозорість процесів в адмінці.
На фронтенді я також додав дрібні деталі, які зробили сайт акуратнішим, наприклад горизонтальний слайдер блогу на головній сторінці з кастомною взаємодією курсора.
У підсумку вийшов швидко запущений автомобільний сайт, який під капотом вирішує напрочуд складне адміністративне завдання. Він дав клієнту двомовний магазин, розділ уживаних авто та масштабований спосіб підтримувати тисячі товарів синхронізованими з магазином-джерелом, який спочатку взагалі не пропонував потрібної інтеграції.