Питання «скільки коштує інтернет-магазин» звучить як питання про цифру. Насправді це питання про обсяг, і відповідь починається не з прайсу виконавця, а з вашого вивантаження товарів.
31 липня 2026 року ми зняли технічні показники з 24 живих магазинів на OpenCart. Один движок, одне слово на головній у всіх. Ось розкид усередині цієї вибірки.
| Показник | Найменше | Найбільше |
|---|---|---|
| Обсяг каталогу | 76 карток товару | 116 841 адреса в карті сайту |
| Перша відповідь сервера | 126,3 мс | 1 544,5 мс |
| Вага HTML сторінки | 103,2 КБ | 751,2 КБ |
Найлегший магазин вибірки — 96 товарів у 21 категорії, рівно 123 адреси в карті сайту й жодного дубля. Найбільший каталог, який ми міряли, — 115 456 товарних позицій в оптовому магазині білизни. В обох є кошик, чекаут і адмінка. Робота по них відрізняється не на відсотки, а в рази.
Далі — з чого складається сума. П'ять множників, і кожен можна оцінити самому, ще до розмови з виконавцем.
П'ять множників вартості
Обсяг каталогу
Сотня позицій — це один день імпорту. Кілька тисяч — мапінг полів вашого прайсу на поля движка, чистка дублів і перевірка атрибутів по всьому каталогу. Різниця між нижньою і верхньою межею будь-якої вилки сидить переважно тут.
Тут же ховається найчастіша помилка оцінки. Власник називає кількість моделей, а адреси в магазині заводяться на рівні розміру й кольору. Саме через це у виміряному каталозі білизни вийшло 115 456 позицій, а не кілька тисяч моделей.
Рахувати каталог варто двома способами й звіряти результат. У гуртовому магазині з нашої вибірки штатний пошук дав 5 830 товарів, а карта сайту — 6 234 адреси на кожну з двох мов, разом 12 468. Обидві цифри правильні, вони рахують різні речі. Як із цього виростає робота з прайсами — на сторінці про імпорт прайсів постачальників.
Сам по собі обсяг не робить магазин повільним. Виміряний каталог на 54 302 товари й 635 категорій віддає першу відповідь сервера за 413,8 мс, а магазин опалювального обладнання на 3 565 карток — за 524,8 мс. Дорожчає не швидкість, а заливання: десятки тисяч позицій через адмінку не проходять, вона падає по таймауту, і потрібен консольний імпорт батчами з переглянутими індексами бази.
Кількість інтеграцій
Платіжний шлюз і Нова Пошта в чекауті ставляться приблизно за день кожна. Фід на Rozetka — близько трьох робочих днів. Двосторонній обмін з обліковою системою — близько десяти робочих днів, бо там їдуть залишки й статуси в обидва боки.
Свій список переводиться в дні майже лінійно. Порахуйте його до розмови: це найшвидший спосіб зрозуміти, у якому порядку цифр ви перебуваєте.
І цей список майже завжди довший, ніж здається власнику. У магазині систем поливу реальне гостьове оформлення 1 серпня 2026 віддало 6 способів доставки від двох перевізників і 3 способи оплати — сторінка «Доставка й оплата» такого не доводить, її треба перевіряти замовленням. У магазині опалювального обладнання в одному чекауті стоять monobank, післяплата, готівка при отриманні й безготівковий рахунок для ФОП і ТОВ з ПДВ. Саму Нову Пошту ми підтвердили в 16 магазинах вибірки — у чекауті або на сторінці доставки.
Стан контенту
Фото на однорідному фоні й характеристики окремими полями економлять тижні. Каталог, де характеристики лежать картинкою всередині PDF-прайсу, доводиться розбирати вручну, і це окремий рядок кошторису. Побачити його можна лише відкривши ваше вивантаження, тому будь-яка оцінка без файлів виходить оптимістичною.
Дизайн
Готова тема з налаштуванням кольорів і блоків тримає нижню межу. Свої макети під бренд додають від 5 до 10 робочих днів на дизайн і верстку.
На цьому ж етапі варто зафіксувати цільову вагу сторінки. У нашій вибірці на тому самому движку HTML важить від 103,2 до 751,2 КБ — різниця всемеро, і сидить вона в темі та кількості підключених модулів. Чим це обертається після запуску — у розборі про швидкість сайту.
Темп
Прискорена черга коштує плюс 25% до вартості й працює за двох умов: контент готовий на старті, а погодження вкладаються в один робочий день. Якщо умови не виконуються, доплата не пришвидшує нічого, і ми кажемо це до неї, а не після.
Модулі, які вміють зсунути кошторис
За замовчуванням ставимо OpenCart 4.x — гілку, яку розвивають. У четвірці переписали систему подій, і частина українських модулів — окремі складання Нової Пошти, прайс-агрегатори, вивантаження на майданчики — досі виходить лише під 3.x. У 13 із 24 виміряних магазинів ядро зафіксоване як 3.x саме через це.
Звідси практичний висновок: список інтеграцій проходиться по пунктах до старту робіт. Якщо критичний модуль існує тільки під стару гілку, рішення приймається на брифі й фіксується в технічному завданні. Що входить у складання — на сторінці про магазин на OpenCart.
Що не входить у вартість розробки
Це та частина розмови, після якої зазвичай кажуть «а я думав, це входить».
- Домен і хостинг. Оформлюємо на клієнта навмисно, щоб доступи лишались у нього.
- Еквайринг. Договір з платіжним провайдером ви укладаєте самі: гроші йдуть на ваш рахунок.
- Копірайтинг описів і наповнення каталогу понад узгоджений обсяг.
- Юридичні тексти: оферта, умови повернення, політика конфіденційності. Їх пише юрист.
- Реклама після запуску. Окремий бюджет, який не має стосунку до вартості розробки.
Є ще стаття, яку рідко закладають у рішення заздалегідь: хто працюватиме з магазином після запуску. Ціни й товари оновлює ваш менеджер — через адмінку або автоматичним імпортом із прайсу. Тому передача в нас це прохід адмінки разом із вашою людиною на живому замовленні, від додавання товару до друку накладної, плюс письмова інструкція під ваші процеси. Якщо своєї людини немає й не планується, наповнення й підтримка стають регулярною витратою, а не разовою.
Оренда платформи чи власний магазин
У кожної моделі є те, за що її обирають, і про це варто чесно.
Сильна сторона оренди — швидкий старт і технічна частина на чужому боці: оновлення, безпека, резервні копії, сумісність модулів. На маркетплейсі до цього додається чужий трафік: люди приходять шукати товар туди, а не на ваш домен.
Сильна сторона власного магазину — код, файли й база у вас, а щомісячна плата й відсоток із замовлення зникають як стаття витрат. Замість них з'являється інша: хостинг, домен, доробки й той, хто це адмініструє.
Оренда виграє, якщо ви перевіряєте нішу й не знаєте, чи буде попит; якщо асортимент маленький і стабільний; якщо адмініструвати сайт нікому й не планується. Це чесна причина лишитись на підписці, і ми називаємо її клієнтам прямим текстом.
Власний магазин виграє, коли ціни рахуються складніше, ніж уміє вітрина: рівні опту, персональні знижки під договір, ціна за кратністю пакування, окремий чекаут для юридичної особи з ПДВ. Така логіка живе в коді, а не в налаштуваннях. Те саме — коли каталог виріс і потрібен фільтр за характеристиками.
Переїзд рахується не по каталогу, а по адресах. У вітрині на маркетплейс-платформі, яку ми міряли ззовні, карта сайту віддавала 8 358 адрес при 4 000 товарів і 170 категоріях: кожна сторінка існує двома мовами. Кожна з цих адрес має отримати рядок у карті відповідності й перевірку після запуску. Як це влаштовано — на сторінці про міграцію з Prom.
Чому в нас немає прайсу
Тому що на магазинах публічна цифра майже завжди була б неправдою. Розкид на початку статті і є поясненням: 24 магазини на одному движку, перша відповідь сервера від 126,3 мс до півтори секунди, вага сторінки різниться всемеро. Одна сума «від» для такої вибірки вводить в оману і того, кому робота обійдеться дешевше, і того, кому дорожче.
Замість прайсу порядок такий:
- Безкоштовний розбір задачі, 1–3 робочих дні. Дивимось вивантаження прайсу, перелік інтеграцій і стан контенту.
- Оцінка з розбивкою по етапах. Магазин на OpenCart віддаємо за 25–45 робочих днів від затвердження ТЗ, і це сім етапів: бриф і ТЗ, прототип, дизайн, збірка, імпорт каталогу, інтеграції, тестування й передача.
- Договір із фіксованою сумою, рахунок і акт. Передоплата 50%, два раунди правок на етапі дизайну, гарантія 30 календарних днів з дня підписання акта. Права на код і матеріали переходять до вас після повної оплати.
Якщо з розбору стане видно, що вам зараз вигідніше лишитись на платформі й не робити нічого, скажемо це першим листом.
Чесні межі
Оцінка по етапах не робить проєкт дешевшим — вона робить його передбачуваним. Строк, названий до того, як хтось побачив каталог, це побажання, а не строк.
Технічна частина теж має межу. Дублі в карті сайту виправляються й перевіряються: у магазині садового інструменту з 8 690 адресами ми нарахували 33 493 записи, у магазині натуральної косметики — 271 запис на 116 унікальних адрес, у гуртовому каталозі поруч із канонічною картою жила застаріла на 7 782 записи, де унікальних адрес лише 2 755. Це вимірюване й полагоджуване. Продажі залежать ще й від асортименту, цін і роботи менеджерів, і на цю половину розробка не впливає — позицій у пошуку теж ніхто не гарантує.
Якщо ви зараз рахуєте магазин, почніть з чотирьох цифр: скільки позицій у прайсі, скільки інтеграцій у списку, в якому вигляді лежать характеристики і хто адмініструватиме сайт після запуску. З цими відповідями будь-яка оцінка стає осмисленою. Хочете, щоб ці цифри зняли ми — перший розбір безкоштовний, займає 1–3 робочих дні й ні до чого не зобов'язує. Відповідаємо протягом двох годин.




