Налаштування Craft Commerce для інтернет-магазину

Типова ситуація: магазин на OpenCart гальмує при каталозі 50 000 товарів, а міграція на Shopify неможлива через специфічні користувацькі атрибути. [Craft CMS](https://en.wikipedia.org/wiki/Craft_CMS) — open-source система керування контентом на Yii2, а його комерційний плагін Craft Commerce дозволяє

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування Craft Commerce для інтернет-магазину
Складний
~2-4 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Типова ситуація: магазин на OpenCart гальмує при каталозі 50 000 товарів, а міграція на Shopify неможлива через специфічні користувацькі атрибути. Craft CMS — open-source система керування контентом на Yii2, а його комерційний плагін Craft Commerce дозволяє створити каталог будь-якої складності без шаблонних обмежень. На відміну від монолітних платформ, ми не нав'язуємо тему або структуру: все будується через гнучку систему полів, секцій та Twig-шаблонів, включаючи headless-режим. За п'ять років роботи ми розгорнули понад 30 магазинів на Craft Commerce, і жоден не потребував переписування ядра. Економія операційних витрат на обслуговування такого магазину становить 20–30% порівняно з аналогічними рішеннями. Отримайте консультацію щодо вашого проєкту.

Проблеми, які вирішуємо

Перша проблема — N+1 запити при відображенні каталогу з варіантами. Якщо у вас 1000 товарів, кожен з 5 варіантами (розмір, колір), наївний запит генерує 5001 SQL-запит. Це призводить до TTFB понад 3 секунди. Ми використовуємо Eager Loading через with() та withTransforms() для зображень, скорочуючи кількість запитів до двох. Як зазначає офіційна документація Craft Commerce, цей механізм вбудований в ядро і не потребує додаткових плагінів.

Друга проблема — гнучкість атрибутів. Стандартні платформи не дозволяють створювати кастомні поля для кожного типу товару. У Craft Commerce кожен Product Type має свій Field Layout, що дозволяє зберігати різні набори характеристик для одягу, електроніки та продуктів харчування в одному каталозі. Наприклад, для взуття потрібні розмір, ширина, матеріал, а для ноутбуків — процесор, RAM, об'єм диска. Це реалізується без костилів.

Третя проблема — продуктивність кошика. При великій кількості Line Items сесійне зберігання гальмує. Ми переносимо кошик у Redis та налаштовуємо Queue для фонових завдань. Порівняйте варіанти зберігання:

Метод зберігання Продуктивність Складність налаштування
Сесії PHP Низька (до 1000 Line Items) Мінімальна
Redis Висока (до 100 000 Line Items) Середня
MySQL Середня Низька

Для проєктів з великою кількістю одночасних користувачів Redis — оптимальний вибір. Вартість впровадження Redis окупається за рахунок зниження навантаження на сервер бази даних.

Чому Craft Commerce кращий за OpenCart для складного каталогу?

OpenCart не підтримує варіанти товарів як самостійні елементи — кожен варіант потребує окремого продукту. Craft Commerce використовує Product Variants, кожен з яких є елементом з власним полем SKU, ціною та залишком. Це спрощує керування тисячами розмірних комбінацій. Порівняйте в таблиці:

Критерій OpenCart Craft Commerce
Варіанти товарів Плоска таблиця Вкладені елементи
Кастомні поля Тільки для всього товару Для кожного типу товару
GraphQL API Третій плагін Нативно (Craft Pro)
Мультивалютність Дод. модулі Вбудована
Управління акціями Базова знижка Sales + Discounts

Як ми це робимо: стек і конфіги

Ми використовуємо актуальний стек: PHP 8.3, MySQL 8, Redis, Nginx. Типове налаштування .env:

CRAFT_ENVIRONMENT=production SECURITY_KEY=256-bit-random-key DB_DRIVER=mysql DB_SERVER=127.0.0.1 DB_PORT=3306 DB_DATABASE=craftstore DB_USER=craftuser DB_PASSWORD=securepassword 

Для headless-сценаріїв підключаємо Next.js через Apollo Client. Приклад запиту продуктів:

query ShopProducts($type: [String], $limit: Int, $offset: Int) { products(type: $type, limit: $limit, offset: $offset) { id title slug variants { id sku price stock ... on clothing_Variant { size { label value } color { label value } } } } } 

Процес роботи

Ми розбили налаштування на етапи, кожен — з чіткими артефактами:

  1. Аналітика — аудит поточного каталогу, виявлення бізнес-правил (податки, доставка, знижки).
  2. Проектування — розробка структури Product Types, матриці варіантів, карти атрибутів.
  3. Реалізація — встановлення Craft Commerce, налаштування Product Types, інтеграція шлюзу Stripe, написання кастомних модулів (контролери, валідація).
  4. Тестування — перевірка всіх сценаріїв оформлення замовлення, навантажувальне тестування кошика.
  5. Деплой і підтримка — налаштування кешу Redis, моніторинг через New Relic, передача доступу до Control Panel та документації.
Деталі реалізації кастомного модуля

Для специфічної бізнес-логіки (наприклад, розрахунок знижки за формулою) ми створюємо модуль на Yii2, який підключається через config/app.php. Це дозволяє розширювати функціональність без зміни ядра Craft Commerce.

Що входить у роботу

Ми передаємо:

  • Документацію — опис архітектури, інструкцію по заповненню каталогу.
  • Доступи — до Control Panel, серверу, репозиторію.
  • Навчання — 2 години сесії для контент-менеджерів.
  • Підтримку — 30 днів постпродакшн-гарантії, включаючи фіксацію помилок.

Замовте налаштування Craft Commerce — і отримайте готовий інтернет-магазин з оптимізованою продуктивністю.

Як налаштувати мультивалютність без головного болю?

Craft Commerce Pro підтримує мультивалютність з коробки. Достатньо задати курси в config/commerce.php:

'paymentCurrencies' => [ 'USD' => ['rate' => 1], 'EUR' => ['rate' => 0.92], 'RUB' => ['rate' => 90.5], ], 

І додати перемикач валюти на фронтенді. Всі ціни, знижки та податки перераховуються автоматично.

Строки орієнтовно

  • Базова установка + 1 Product Type + оформлення замовлення: від 1 до 2 тижнів.
  • Повноцінний магазин з 3–5 типами товарів, знижками, мультивалютністю: від 4 до 6 тижнів.
  • Headless-магазин (Craft GraphQL + Next.js фронтенд): від 6 до 10 тижнів.
  • Міграція з іншої платформи: від 4 до 8 тижнів, залежно від обсягу каталогу.

Вартість розраховується індивідуально. Типовий проект обходиться в 2–3 рази дешевше аналогічного на Magento, а інвестиції окупаються за 6–12 місяців. Щоб оцінити ваш проект, напишіть нам — ми проаналізуємо архітектуру та запропонуємо рішення з гарантією якості та дворічною підтримкою.