Как сделать интернет-магазин с нуля: полный разбор от разработчика

«Как сделать интернет-магазин?» Ответ зависит от того, что ты имеешь в виду. Есть два разных уровня, и их постоянно путают. Первый: собрать витрину и принять первый заказ. Это реально сделать за вечер на конструкторе, без кода и без разработчика. Второй: построить магазин, который выдержит рост, не упрётся в потолок платформы через полгода и останется твоим, а не арендованным. Это уже инженерная задача. В этой статье я проведу тебя по шагам с самого нуля: ниша, документы, платформа, каталог, оплата, доставка, запуск. А потом покажу то, чего в других гайдах нет вообще: как магазин устроен под капотом, и почему это решает, вырастет он или задохнётся.
Меня зовут Евгений Волков, я fullstack-разработчик и собираю интернет-магазины напрямую, без агентства. Через мои руки прошли и конструкторы, и коробочные CMS, и кастом на Nuxt. Поэтому пишу без вендорского перекоса: мне не надо продать тебе конкретную платформу, мне надо, чтобы ты сделал магазин, который не придётся переделывать. Числа ниже настоящие, из прайсов на лето 2026 и из практики. Где данных нет, я так и говорю, а не подставляю красивую цифру. Будет длинно, но после этой статьи тебе не придётся идти на форумы и собирать ответы по крупицам.
Кратко: с чего всё начинается
Если нужен маршрут одним взглядом, вот он. Каждый шаг раскрою подробно ниже.
| Этап | Что сделать | Без чего не работает |
|---|---|---|
| Бизнес | Ниша, спрос, товар, поставщик, модель продаж | Нет спроса, нет магазина |
| Документы | ИП или самозанятость, оферта, политика данных | Без статуса нельзя принимать оплату |
| Платформа | Выбрать: конструктор, SaaS, CMS или кастом | Определяет потолок роста |
| Витрина | Структура, дизайн, каталог, карточки товара | Лицо магазина, влияет на конверсию |
| Продажи | Корзина, checkout, оплата по 54-ФЗ, доставка | Без этого магазин не продаёт |
| Запуск | Домен, хостинг, SSL, аналитика, тест | Без аналитики ты слепой |
Главная мысль, которую держи в голове всю дорогу: сайт это последний шаг, а не первый. Сначала ты решаешь, что и кому продаёшь, потом уже как это показать. Магазин без товара и спроса это красивая пустая витрина, за которую ты платишь.
С чего начать: что решить до сайта
Самая частая ошибка новичка: открыть конструктор и начать двигать блоки. А спроса нет, поставщик не найден, и через месяц запал гаснет. Правильный порядок обратный. До сайта решаются три вещи.
Ниша и спрос. Проверь, что твой товар вообще ищут. Бесплатный и честный инструмент под Россию это Яндекс.Wordstat. Вбиваешь запрос вроде «купить кроссовки» или «термокружка с логотипом» и смотришь частотность по региону. Если запросов сотни и тысячи в месяц, спрос есть. Если единицы, подумай ещё раз. Заодно Wordstat показывает, какими словами люди ищут товар, а это готовые названия категорий и будущие SEO-запросы. Я всегда прогоняю нишу через Wordstat до того, как обсуждать платформу. Нет смысла строить магазин под товар, который никто не гуглит.
Товар и поставщик. Откуда берётся то, что ты продаёшь. Тут три модели.
- Своё производство. Хендмейд, свой бренд одежды, мастерская, инфопродукт. Полный контроль над товаром и маржой, но нужен сам продукт. Так работает бренд ASYADROP, чей магазин я собирал: он выпускает лимитированные дропы уличной одежды под своим брендом.
- Закупка у поставщика на свой склад. Берёшь товар оптом, держишь остатки, зарабатываешь на разнице между закупкой и розницей. Нужны деньги на закуп и место под хранение, зато ты контролируешь наличие и сроки.
- Дропшиппинг. Ты продаёшь товар поставщика, а он же его отгружает покупателю напрямую. Своего склада нет, вложений в закуп нет. Звучит идеально, но есть цена: маржа тоньше, а за качество, сроки и возвраты перед клиентом отвечаешь ты, хотя товар в руках не держал. Для старта без денег это рабочий вход, но не золотая жила, как обещают в рекламе курсов.
Модель продаж. Свой склад против дропшипа это не только про деньги, это про то, чем ты управляешь. На своём складе ты хозяин остатков и скорости отгрузки. На дропшипе ты зависишь от поставщика во всём, кроме витрины. Многие начинают с дропшипа или узкого своего ассортимента, ловят первые заказы, а склад подключают, когда пошёл стабильный спрос. Это дешевле и честнее, чем сразу вкладываться в закупку тонны товара, который может не пойти.
Посчитай экономику до того, как что-то делать
Отдельный шаг, который новички пропускают, а потом удивляются, почему магазин работает, а денег нет. Экономика одной продажи. Прикинь её на салфетке до того, как заказывать сайт.
Возьми один товар и разложи, что остаётся с продажи. Из цены, по которой ты продаёшь, вычитаешь закупку (или себестоимость производства), комиссию эквайринга (те самые 1.8–5.5%), стоимость доставки, упаковку, налог (6% на УСН), и расходы на привлечение покупателя (реклама в пересчёте на один заказ). То, что осталось, и есть твоя реальная прибыль с продажи. Часто оказывается, что при рекламе она отрицательная, то есть каждая продажа приносит убыток. Это не повод сдаваться, это повод пересчитать: поднять цену, сменить поставщика, сузить нишу на товар с большей маржой.
Простой ориентир. Если после всех вычетов с продажи остаётся меньше 20–30%, магазин будет тяжело раскручивать: любой сбой в рекламе или рост комиссии съедает прибыль. Товары с маржой в разы (тот же хендмейд или свой бренд) живут куда спокойнее, чем перепродажа ходового товара с наценкой в 10%, где ты бьёшься за копейки против маркетплейсов. Я не экономист и не буду учить тебя вести бизнес. Но как разработчик я видел десятки магазинов, которые технически идеальны и мертвы, потому что экономика не сходилась с самого начала. Сайт не спасёт бизнес, в котором математика в минусе.
Форма бизнеса: самозанятость, ИП или ООО
Как только ты принимаешь оплату онлайн, тебе нужен легальный статус. Без него банк не даст эквайринг, а налоговая рано или поздно задаст вопросы. Три варианта, и выбор не абстрактный, он завязан на то, чем ты торгуешь.
| Форма | Налог | Можно перепродавать чужой товар | Наёмные сотрудники | Кому подходит |
|---|---|---|---|---|
| Самозанятость (НПД) | 4% с продаж физлицам, 6% с юрлицам | Нет, только товар своего производства | Нельзя | Хендмейд, свой бренд, тест на минималках |
| ИП | УСН 6% с доходов или 15% с прибыли | Да | Можно | Большинство магазинов, в том числе перепродажа |
| ООО | Спецрежимы или общая система, сложнее учёт | Да | Можно | Партнёры, инвестиции, крупный масштаб |
Ключевой нюанс, который топят почти все гайды: самозанятость не разрешает перепродажу чужого товара. НПД придуман под тех, кто продаёт результат своего труда: сшил, испёк, сделал руками, оказал услугу. Если ты закупаешь товар и перепродаёшь с наценкой, самозанятость не твой вариант, тут нужно ИП. А вот мастеру хендмейда или своему бренду одежды НПД идеально подходит: лимит дохода 2,4 млн ₽ в год, минимум отчётности, регистрация в приложении за пять минут.
ИП это рабочая лошадка интернет-торговли. Подходит и перепродаже, и своему производству, можно нанимать людей, а на УСН «доходы» платишь всего 6% с оборота. Госпошлина за регистрацию 800 ₽, а при подаче электронно через банк или Госуслуги её часто не берут вообще. Открывается за пару дней.
ООО нужно, когда есть партнёры с долями, планируется привлечение инвестиций или бизнес сразу строится большим. Для одиночного старта это лишняя бухгалтерская нагрузка. Мой честный вердикт для 90% начинающих магазинов: ИП на УСН 6%. А если продаёшь исключительно своё, присмотрись к самозанятости, она ещё проще и дешевле.
Что нужно по закону: ИП, 54-ФЗ и касса
Юридическая часть пугает новичков сильнее кода, хотя минимум тут небольшой. Разберу без канцелярита, по-человечески.
Статус. Про него сказал выше: ИП или самозанятость, без вариантов, если хочешь принимать деньги вбелую. Это база.
54-ФЗ и фискальный чек. Как только покупатель платит онлайн, ты обязан выдать ему фискальный чек. Это требование закона 54-ФЗ, и обходить его не стоит: штрафы больно бьют. Классический путь выглядит громоздко: онлайн-касса плюс договор с оператором фискальных данных (ОФД), это деньги, настройка и головная боль. Многие новички об этом узнают уже после запуска и хватаются за голову.
Но есть путь проще, и я его люблю. Многие банки-эквайеры сегодня закрывают фискализацию сами. Ты подключаешь интернет-эквайринг, а чек по 54-ФЗ банк формирует и отправляет покупателю на email автоматически. Отдельную кассу покупать и договор с ОФД заводить не нужно, эту обязанность берёт на себя банк. Именно так сделан магазин ASYADROP: оплата идёт через интернет-эквайринг Точка Банка с автофискализацией по 54-ФЗ. Чек уходит покупателю на почту сам, без отдельной кассы и ОФД. Живой магазин, реальные заказы, всё по закону, и без лишней инфраструктуры. Это не единственный банк с такой опцией, но пример показательный: технически можно сделать проще, чем кажется по инструкциям из нулевых.
Эквайринг и его комиссия. Чтобы принимать карты, нужен договор эквайринга. Банк берёт процент с каждой транзакции, и этот процент напрямую ест твою маржу, поэтому смотри на него до подключения. Комиссии на лето 2026 разнятся заметно.
Если по числам: у Сбера комиссия примерно 1.8–2.5%, у ЮKassa около 2.8%, у CloudPayments 2.8–3.2%, у Robokassa 2.9–5.5% в зависимости от тарифа и оборота. Разница на первый взгляд копеечная, но на обороте в миллион рублей один процент это десять тысяч в месяц. Поэтому эквайринг выбирают под оборот, а не по первому попавшемуся баннеру.
Честная оговорка про автофискализацию: она закрывает не всех. Работает она для онлайн-оплаты картой на сайте. Если ты принимаешь наличные или оплату картой курьеру при получении, тут уже может понадобиться отдельная касса, потому что чек пробивается в момент передачи денег. Поэтому на старте проще ограничиться предоплатой на сайте: и мороки с кассой меньше, и денег в кассовый разрыв не попадёшь. Наложенный платёж и оплату при получении подключают позже, когда обороты и процессы устоялись.
Документы на сайте. По закону на витрине размещают публичную оферту (условия покупки), политику обработки персональных данных и реквизиты продавца. Это не формальность: без политики данных ты нарушаешь закон о персональных данных, а оферта защищает тебя в спорах с покупателем. Шаблоны есть в открытом доступе, но лучше адаптировать под свой товар. Плюс с 2023 года владельцы сайтов, которые собирают персональные данные (а магазин собирает: имя, телефон, адрес доставки), обязаны уведомить Роскомнадзор об обработке данных. Это бесплатно и делается через их сайт, но забывают почти все.
Юридический минимум на этом закрывается. Дальше техника.
Способы сделать интернет-магазин: четыре пути
Собрать магазин можно четырьмя принципиально разными способами. Здесь пройдусь коротко, чтобы ты понял рамку, а детальное сравнение платформ с плюсами, минусами и ценами по каждой я уже разобрал отдельно. Если выбираешь движок всерьёз, читай разбор на чём собрать интернет-магазин, там матрица по всем платформам. Тут только суть.
| Путь | Пример | Порог входа | Кому |
|---|---|---|---|
| Конструктор | Tilda, Wix, Ecwid | Подписка, старт за вечер | Витрина, тест ниши, ноль кода |
| SaaS | InSales, AdvantShop | 1 590–6 920 ₽/мес | Типовой магазин в РФ без разработчика |
| Коробочная CMS | 1С-Битрикс, CS-Cart | Лицензия от 6 200 ₽ | Средний-крупный каталог, товароучёт |
| Кастом | Nuxt, Vue, Next.js | Разработка от 80 000 ₽ | Бренд, уникальный UX, рост, скорость |
Конструктор это аренда витрины: собираешь мышкой, платформа держит всё на своей стороне. Запуск за вечер, но ты в чужом доме и по чужим правилам.
SaaS это та же аренда, но заточенная под e-commerce: каталог, склад, оплата, доставка и выгрузки на маркетплейсы уже внутри. Быстро и по-русски, но с потолком.
Коробочная CMS это движок, который ты ставишь на свой хостинг и владеешь. Код и база твои, но на тебя ложатся хостинг, обновления, безопасность и почти всегда разработчик.
Кастом это магазин, написанный под тебя с нуля на современном стеке. Дороже и дольше на входе, зато нет лимитов платформы, свой checkout и полная скорость. Про него подробно в разделе про современный стек ниже.
И сразу про маркетплейсы, потому что вопрос всплывает всегда. Ozon и Wildberries это канал продаж, а не замена своему сайту. Там ты арендуешь витрину, платишь комиссию и не владеешь клиентом. Здоровая схема: свой магазин как база бренда плюс маркетплейсы как дополнительный трафик. Класть все продажи только в чужую площадку опасно, это тот же vendor-lock, только жёстче.
Пошагово: как собрать магазин
Теперь практика. Ниже маршрут сборки магазина по шагам, в том порядке, в котором я реально делаю проекты. Он одинаков и для конструктора, и для кастома, меняются только инструменты.
Шаг 1. Выбери платформу. Ты уже понял рамку из четырёх путей. Реши честно, по каталогу, бюджету, навыкам и планам роста. Маленькая витрина без амбиций живёт на конструкторе. Типовой магазин в РФ на SaaS. Растущий бренд с уникальной логикой на кастоме. Ошибка на этом шаге дороже всех остальных, потому что переезд между платформами это отдельный болезненный проект.
Шаг 2. Спроектируй структуру и дизайн. До первого товара нарисуй карту магазина: главная, каталог, категории, карточка товара, корзина, оформление заказа, страницы доставки и оплаты, контакты. Структуру категорий бери из того, как люди ищут товар (тот самый Wordstat). Это не только про удобство, это про SEO: правильные категории под реальные запросы приводят бесплатный трафик из поиска годами. Если люди ищут «зимние мужские ботинки», а у тебя категория называется «обувь, сезон 2», ты теряешь эти запросы. Называй категории словами покупателя, а не внутренним жаргоном.
Дизайн должен быть чистым и быстрым, а не перегруженным. Красиво не значит эффективно: цель витрины провести человека к кнопке «купить», а не поразить анимацией. И сразу закладывай мобильную версию как основную, а не как довесок. Больше половины покупателей приходит с телефона, и если на маленьком экране кнопка «в корзину» уезжает за край, ты теряешь эту половину молча.
Шаг 3. Собери каталог и карточки товара. Карточка это сердце продаж. В ней нужны хорошие фото (несколько ракурсов), понятное название, честное описание, цена, наличие и варианты (размер, цвет). Чем полнее карточка, тем выше конверсия и тем лучше она индексируется в поиске. В ASYADROP карточка знает про варианты размеров, остатки и цену со скидкой по промокоду.
Пара вещей, на которых теряют продажи чаще всего. Первое: фото. Плохие тёмные снимки с телефона убивают доверие быстрее любого текста, а на одежде и на вещах, которые щупают руками, хорошая фотосъёмка это половина конверсии. Второе: описание. Не переписывай сухую спецификацию поставщика слово в слово, такое описание есть у сотни конкурентов, и поиск это видит как дубль. Напиши по-своему, ответь на реальные вопросы покупателя: размер, материал, для чего, чем отличается. Это и продаёт лучше, и в выдаче поднимает.
Наполнение каталога это отдельная недооценённая работа. Завести одну карточку руками стоит времени, а на пятистах позициях это уже недели труда, про которые забывают при планировании бюджета. Если поставщик отдаёт прайс с фото и характеристиками, настраивай импорт, а не забивай вручную. На кастомном магазине я такой импорт пишу под формат поставщика, и тысячи позиций заливаются за минуты, а не за месяц ручной работы.
Шаг 4. Настрой корзину и оформление заказа. Корзина должна помнить товары, даже если человек перезагрузил страницу или ушёл и вернулся. Checkout держи максимально коротким: контакты, доставка, оплата, и всё. Каждый лишний экран и каждое лишнее поле съедают конверсию. Это не мои фантазии, это статистика брошенных корзин. В магазине бренда одежды, где идёт распродажа лимитированного дропа, я специально резал путь к заказу до минимума: на ажиотаже человек не должен спотыкаться о форму на десять полей.
Шаг 5. Подключи оплату по 54-ФЗ. Про это был целый раздел выше. Коротко: договор эквайринга с банком плюс фискальный чек. Если банк умеет автофискализацию, отдельная касса и ОФД не нужны. Проверь, что чек реально уходит покупателю после оплаты, это требование закона, а не опция.
Шаг 6. Настрой доставку. Для России базовый набор это СДЭК, Почта России и курьерская доставка. Хороший тон дать покупателю выбрать пункт выдачи на карте и показать стоимость доставки сразу, а не сюрпризом в конце. В ASYADROP стоит интеграция со СДЭК: покупатель выбирает ПВЗ на карте, заказ получает трек-номер, статусы обновляются автоматически, а на каждый шаг летит письмо на почту. Это заметно снижает нагрузку на поддержку: человек сам видит, где его посылка.
Про доставку есть тонкий психологический момент, на котором сыпется много магазинов. Стоимость доставки, которая всплывает только на последнем шаге оформления, это одна из главных причин брошенных корзин. Человек уже настроился на цену товара, а тут ему добавляют 400 рублей за пересылку, и он уходит. Поэтому либо показывай стоимость доставки честно и рано, прямо в карточке или корзине, либо закладывай её в цену товара и делай доставку «бесплатной». Второе психологически работает лучше, хотя по сути это та же цена. И обязательно давай выбор: кому-то нужен ближайший ПВЗ, кому-то курьер до двери. Один-единственный способ доставки отсекает часть покупателей.
Шаг 7. Подключи домен, хостинг и SSL. Домен это адрес магазина, стоит 200–1 000 ₽ в год, бери короткий и запоминающийся. Хостинг это где живёт сайт: от 590 ₽ в месяц на старте, VPS дороже, но даёт контроль. SSL-сертификат (тот самый замочек и https) обязателен: без него браузеры пугают посетителей, а оплату вообще не подключить. Через Let's Encrypt он бесплатный, не переплачивай за него провайдеру.
Шаг 8. Поставь аналитику. До запуска, а не после. Для России это Яндекс.Метрика, для остального мира можно добавить и другие системы. Без аналитики ты слепой: не видишь, откуда приходят люди, где они уходят, что покупают. Метрика бесплатна и показывает вебвизор, карту кликов, источники трафика. Настрой цели на добавление в корзину и оформление заказа, чтобы мерить конверсию, а не просто посещаемость.
Шаг 9. Протестируй всё перед запуском. Пройди путь покупателя сам, с телефона и с компьютера. Положи товар в корзину, оформи заказ, оплати реальной картой на минимальную сумму, проверь, что пришёл чек и письмо. Проверь на разных экранах: половина покупателей приходит с мобильного. Найди и почини битые ссылки, кривые формы, медленные страницы. Магазин, который падает на оплате, теряет деньги молча.
Отдельно проверь граничные случаи, о которых забывают. Что происходит, когда товар закончился прямо во время оформления. Что показывает сайт, если оплата не прошла (карта отклонена, недостаточно средств): человек должен понять, что делать, а не увидеть белый экран. Приходит ли уведомление о заказе тебе, продавцу, иначе ты узнаешь о продаже случайно. Работает ли промокод и корректно ли считается итоговая сумма со скидкой и доставкой. Эти сценарии редко ломаются красиво: они молча съедают заказы, и ты даже не поймёшь, сколько потерял. Хороший тест это не «положил в корзину и купил», а попытка сломать магазин так, как это невольно сделает реальный покупатель.
Шаг 10. Запускай. Открывай доступ, отправь sitemap в Яндекс.Вебмастер и Google Search Console, чтобы поисковики начали индексировать карточки. И сразу думай про трафик: магазин без посетителей не продаёт, сколь угодно красивый. Реклама, SEO, соцсети, маркетплейсы как канал. Запуск это не финиш, а старт работы над продажами.
Как магазин устроен под капотом
Вот раздел, ради которого стоило писать эту статью. В других гайдах его нет вообще: они заканчиваются на «выберите шаблон и добавьте товары». А ведь именно устройство под капотом решает, вырастет магазин или задохнётся на первой тысяче посетителей. Объясню по-человечески, без академизма, но по сути. Даже если ты не программист, эти понятия помогут тебе задавать разработчику правильные вопросы и не купить кота в мешке.
SSR, SPA и ISR простыми словами
Когда ты открываешь сайт, кто-то должен превратить код в ту красивую страницу, что ты видишь. Есть три подхода, и для магазина разница между ними огромная.
SSR, серверный рендеринг. Сервер собирает готовую HTML-страницу и отдаёт её браузеру целиком. Ты открыл карточку товара, сервер сразу прислал текст, цену, картинки, всё готовое. Поисковый робот заходит и тоже сразу видит контент. Первый экран появляется быстро. Для магазина это почти всегда правильный выбор.
SPA, одностраничное приложение. Сервер отдаёт почти пустую страницу и кусок скрипта, а сам контент дорисовывается уже в браузере, после загрузки и выполнения JavaScript. Для приложения в личном кабинете это отлично. Для магазина плохо: робот заходит и видит пустую страницу, потому что контент появляется позже, и карточки индексируются хуже. Плюс первый экран медленнее, человек смотрит на спиннер. Магазин, который живёт на поисковом трафике, на чистом SPA теряет и позиции, и покупателей.
SSG и ISR, статика и её умное обновление. Страницы собираются заранее, на этапе сборки, и отдаются как готовая статика, максимально быстро. ISR (инкрементальная регенерация) это компромисс: часть страниц пересобирается по мере изменения, чтобы не гонять сборку всего сайта из-за одной новой цены. Для каталога, который меняется не каждую секунду, это отличный баланс скорости и свежести.
| Подход | Что видит робот сразу | Первый экран | Когда для магазина |
|---|---|---|---|
| SSR | Готовый контент | Быстрый | Почти всегда, особенно динамика |
| SPA | Пустую страницу | Медленный | Только личный кабинет, не витрину |
| SSG / ISR | Готовый контент | Очень быстрый | Каталог, который меняется не ежесекундно |
Практический вывод. Спроси у разработчика или проверь у платформы: отдаёт ли магазин готовый HTML роботу. Если витрина собрана как чистый SPA, ты будешь бороться за индексацию карточек и за скорость. Nuxt и Next.js хороши именно тем, что дают серверный рендеринг из коробки: и робот доволен, и человек видит страницу мгновенно.
Сторы и состояние
Магазин это не набор отдельных страниц, это живое приложение, которое должно помнить, что происходит. Что лежит в корзине. Какие фильтры выбрал покупатель. Авторизован он или нет. Всё это называется состоянием, а управляет им отдельный слой, стор (от английского store, хранилище).
Зачем это тебе знать. Простой пример: покупатель положил три товара в корзину, случайно обновил страницу, и корзина опустела. Он ушёл и не вернулся. Плохой магазин теряет заказы именно на таких мелочах. Хороший магазин хранит корзину так, что она переживает перезагрузку и даже закрытие вкладки.
В магазине ASYADROP корзина живёт в Pinia, это стор для Vue и Nuxt. Она помнит товары между перезагрузками, потому что стор настроен переживать обновление страницы. Человек может уйти, вернуться через час, и его корзина на месте. Мелочь? На распродаже дропа это прямые деньги. У React своя пара для этого, например Redux или Zustand, суть та же: отдельный продуманный слой, который держит состояние магазина в порядке. Когда состоянием управляют кое-как, начинаются плавающие баги: цена не обновилась, счётчик корзины врёт, скидка слетела. Это всё цена плохой работы со стором.
Headless и архитектура
Тут ключевое слово, которое отличает современный магазин от коробки. Разберу медленно.
Коробочная CMS и SaaS это монолит: витрина, админка и вся логика слеплены в один движок и работают по правилам платформы. Меняешь одно, задеваешь другое. Хочешь необычный шаг, борешься с платформой.
Headless (дословно «безголовый») это другая философия. Магазин разбивают на части, которые общаются между собой через API:
- Витрина (то, что видит покупатель) живёт отдельно. Это быстрый фронтенд на Nuxt, Vue или Next.js с серверным рендерингом.
- Контент и товары живут отдельно, в headless CMS или базе. Владелец правит их через удобную админку.
- Между ними API, канал, по которому витрина забирает данные и рисует ровно тот интерфейс и тот checkout, который нужен бренду.
Почему это гибко. Витрину можно переписать или ускорить, не трогая данные. Данные можно отдать и в мобильное приложение, и на маркетплейс, и в витрину, из одного источника. Ты не заперт в шаблоне платформы. В ASYADROP роль headless CMS играет Strapi 5: владелец сам правит товары, дропы и промокоды через понятную админку, без меня и без кода, а витрина на Nuxt забирает эти данные и рисует магазин. Разделил витрину и данные, получил свободу с обеих сторон.
Скорость и Core Web Vitals
Скорость это не про красоту, это про деньги и позиции. Google и Яндекс измеряют, как быстро и плавно грузится страница, и учитывают это в ранжировании. Набор этих метрик называется Core Web Vitals: как быстро появился главный контент (LCP), как быстро страница реагирует на клик (INP), не прыгает ли вёрстка во время загрузки (CLS).
Почему это критично для магазина. Медленная витрина теряет покупателей ещё до того, как они увидели товар. Человек не будет ждать пять секунд, он закроет вкладку и уйдёт к конкуренту. И поиск это видит: медленный магазин проседает в выдаче. То есть скорость бьёт дважды, по конверсии и по позициям.
Где скорость выигрывается и где теряется. Серверный рендеринг на Nuxt или Next.js даёт лёгкий первый экран, потому что браузер получает готовую страницу, а не собирает её из тяжёлого скрипта. Тяжёлая CMS с десятком плагинов, наоборот, тащит за собой гору лишнего кода, и её приходится разгонять кешем и оптимизацией. Конструкторы дают средний предсказуемый результат, но тонко порулить скоростью там нельзя, ты получаешь то, что даёт платформа. Для растущего бренда я считаю скорость отдельным аргументом за кастом: это единственный путь, где ты контролируешь каждый килобайт.
Отдельно про большой каталог, потому что тут скорость упирается уже не в фронтенд, а в базу данных. Магазин на двадцать товаров летает где угодно. Магазин на пятьдесят тысяч позиций с фильтрами по цене, размеру, цвету и бренду это совсем другая инженерия. Каждый фильтр это запрос в базу, и если база спроектирована наивно, страница каталога грузится секундами, а сервер задыхается на трафике. Тут решают правильные индексы в базе, кеширование популярных выборок и продуманная архитектура, а не выбор шаблона. Коробочные CMS вроде Битрикса умеют это, но требуют мощного сервера и настройки. Конструкторы на таком объёме просто не живут. Кастом позволяет спроектировать базу и кеш под конкретный каталог, и это как раз тот случай, когда без разработчика не обойтись в принципе.
Почему «Тильда за копейки с Авито» это ловушка
Отдельно разберу схему, которую предлагают на каждом углу: «сделаю магазин на Тильде за пару тысяч». Звучит заманчиво, стоит копейки, готово за день. И это ловушка, о которой честно не говорит почти никто, потому что у продавца конфликт интересов. Разложу минусы прямо.
−Минусы
- Чужой аккаунт. Часто такой магазин собирают внутри аккаунта исполнителя. Права и доступы тебе не передают, а значит магазин не твой. Поругались с фрилансером, потеряли всё.
- Это аренда. Tilda берёт подписку. Перестал платить, витрина исчезла. Ты не владеешь магазином, ты снимаешь его помесячно, и забрать внутренности на свой хостинг нельзя.
- Лимит каталога. Tilda задумана под витрину на десятки товаров. Есть жёсткие ограничения на число товаров и позиций в категории. Большой каталог она физически не тянет.
- Нет своего checkout. Оформление заказа работает в пределах того, что даёт платформа. Свою логику, тонкий короткий checkout, нестандартный сценарий покупки не сделаешь.
- Нет нормальной связки с 1С и маркетплейсами. Интеграции на уровне «есть базовое», а не «настрою под мой процесс склада и учёта».
- Vendor-lock. Магазин заперт в платформе. Ты зависишь от её тарифов, правил и того, будет ли она вообще работать в России завтра.
- Миграция = переписать с нуля. Перерос Тильду, переезжаешь. А внутренности наружу не отдаются, дизайн и логику собирают заново. Чем дольше рос на платформе, тем больнее переезд.
Про это и спрашивают в поиске: «какие сайты нельзя делать на Тильде». Ответ: любые, которым важен рост, большой каталог, своя логика и владение магазином. Как только твои запросы вылезают за красивую витрину, Тильда начинает мешать, а не помогать.
Но буду честным до конца: кому Тильды реально хватит. Лендингу под один-два продукта. Витрине мастера хендмейда на десяток позиций. Тесту ниши, когда надо быстро проверить спрос и не вкладываться. Локальному бренду, где важнее красивая подача, чем сложная логика. В этих случаях Tilda отличный инструмент, и городить кастом было бы глупо. Проблема не в Тильде, а в том, что её продают под задачи, для которых она не создана. Если сомневаешься, где твоя граница, я разобрал это подробно в статье про выбор платформы: там честно, кому какой движок и где начинается потолок.
Почему WordPress с WooCommerce плохо тянет большой магазин
Второй популярный совет из интернета: «поставь WordPress и плагин WooCommerce, он бесплатный». Движок правда бесплатный, и на маленьком магазине это рабочий вариант. Но у него есть цена, которая вылезает на масштабе, и о ней тоже честно не предупреждают.
−Минусы
- Плагинный ад. Каждая новая функция это ещё один плагин. На серьёзном магазине их набираются десятки. Они конфликтуют друг с другом, тормозят, ломаются при обновлениях. Поддержка превращается в бесконечное латание дыр.
- Скорость проседает. WordPress с WooCommerce и обвязкой плагинов тяжёлый. Без агрессивного кеша и оптимизации Core Web Vitals страдают, а с ними позиции и конверсия.
- Интеграция с 1С через костыли. Родной связки нет. Обмен товарами и заказами с 1С держится на сторонних модулях, которые на объёме работают нестабильно.
- Безопасность требует внимания. WordPress это самая массовая CMS в мире, а значит и мишень номер один. Дыры в плагинах, устаревшие версии, взломы. За обновлениями надо следить, иначе однажды проснёшься с чужим кодом на сайте.
Когда WooCommerce всё-таки уместен. Когда магазин это довесок к контентному сайту или блогу, а не ядро бизнеса. Каталог небольшой, бюджет ограничен, WordPress уже стоит и знаком. Эксперт с блогом, медиа, бренд с сильным контентом, у которого продажи сбоку, тут WooCommerce как дома. Но если магазин это ядро и он обязан расти, плагинный слой рано или поздно начнёт диктовать условия. Лобовое сравнение WooCommerce с кастомом на Nuxt я разбирал в статье про платформы, там по пунктам, кому что.
Современный стек: как делаю я
Теперь про путь, о котором молчат почти все гайды для новичков, а зря. Кастомная разработка на современном стеке. И сразу разобью главный миф.
Миф: «кастом это от трёх миллионов, только для корпораций». Это неправда, и её распространяют те, кому выгодно либо продать тебе конструктор, либо взять с тебя студийный ценник. Кастом бывает разным. Да, enterprise-магазин с 1С, складом в реальном времени и командой на поддержке стоит миллионы. Но крепкий кастомный магазин под ключ у меня начинается от 80 000 ₽. Это сознательно ниже студийных «от 300 000», потому что я работаю один, без прослойки менеджеров, аккаунтов и офиса. Ты платишь за разработку, а не за структуру агентства.
Что такое современный стек на практике. Витрина на Nuxt и Vue или на Next.js и React с серверным рендерингом, чтобы было быстро и индексируемо. Headless CMS вроде Strapi для удобной админки, где владелец сам правит каталог. Свой короткий checkout под конкретный сценарий покупки. Продуманный стор для корзины и состояния. И интеграции под реальный процесс: эквайринг с фискализацией по 54-ФЗ, СДЭК и другая доставка, при необходимости связка с 1С. Всё то, что я разбирал в разделе про устройство под капотом, собранное под конкретный бренд.
Про интеграции отдельно, потому что именно тут кастом отрывается от коробки. В конструкторе интеграция это «включил модуль и молишься, что он подойдёт под твой процесс». В кастоме интеграция пишется под то, как реально устроен твой склад и учёт. Пример: двусторонний обмен с 1С, когда остатки на сайте обновляются, как только товар ушёл со склада в офлайне, а новый заказ с сайта сразу падает в 1С. Или выгрузка каталога на Ozon и Wildberries из того же источника, что кормит витрину, чтобы не вести три каталога вручную. Такие вещи и есть разница между магазином, который масштабируется, и магазином, где владелец по ночам сводит остатки в трёх местах. Коробка даёт готовый обмен, но по своим правилам. Кастом даёт обмен по твоим правилам, и на растущем бизнесе это экономит десятки часов в месяц.
Живой пример это кейс ASYADROP, интернет-магазин уличной одежды. Бренд продаёт лимитированные дропы, и распродажа коллекции не терпит лишних шагов в оформлении. Я собрал магазин с нуля как один fullstack-разработчик: витрина на Nuxt 3, headless-админка на Strapi 5, свой короткий checkout, оплата через интернет-эквайринг Точка Банка с автофискализацией по 54-ФЗ, доставка СДЭК с выбором пункта выдачи на карте. Корзина на Pinia переживает перезагрузку, товары и промокоды владелец правит сам через админку, без меня. Магазин живой, крутится на своём VPS и принимает реальные заказы. По Яндекс.Метрике около 10 600 посетителей в месяц, но честно про источник: люди приходят в основном из соцсетей бренда, а не из поиска, органики порядка 690 заходов. Это кейс про работающий e-commerce, а не про вывод в топ по SEO. Конструктор такую связку под бренд не дал бы.
Кому кастом реально нужен, а кому нет. Нужен, когда совпадает хотя бы пара порогов: уникальная логика (свой сценарий покупки, дропы, подписки, программа лояльности), плотные интеграции с 1С и маркетплейсами под свой процесс, важная скорость и Core Web Vitals, большой каталог, нежелание сидеть в vendor-lock. Не нужен, когда у тебя пять товаров и нулевой бюджет, тогда бери конструктор и не переплачивай за будущее, которого может не быть. Я не тяну кастом в проекты, где хватит Тильды, мне это не выгодно ни по времени, ни по репутации.
Если чувствуешь, что твой случай про рост и свою логику, глянь страницу услуги по разработке магазина: там подробно, что входит в кастом под ключ от 80 000 ₽, без агентской наценки.
Сколько времени и денег занимает интернет-магазин
Коротко про ресурсы, потому что это первый вопрос после «а как вообще».
Сроки. Витрина на конструкторе поднимается за вечер или неделю. Кастомный каркас с витриной, корзиной и оплатой я собираю за несколько недель. Магазин с уникальным дизайном, интеграциями доставки, промокодами и связкой с 1С растягивается на 1,5–3 месяца. Срок идёт рука об руку со сложностью: чем больше уникальной логики и интеграций, тем дольше.
Деньги. Разброс огромный, и он честный:
- Конструктор или SaaS: старт от 10 000–50 000 ₽ плюс подписка 400–6 920 ₽ в месяц.
- Коробочная CMS: лицензия от 6 200 ₽ (Битрикс) плюс хостинг, тема и разработчик.
- Кастом под ключ: от 80 000 ₽ у меня, обычно выше в зависимости от каталога и интеграций.
- Студия: от 300 000 ₽ и до нескольких миллионов.
И не забудь про то, что ест деньги после запуска: наполнение каталога, эквайринг с его комиссией, хостинг, домен, реклама и SEO. Магазин без трафика не продаёт, а трафик это отдельный бюджет. Полную смету по этапам, скрытые расходы и способы сэкономить я разложил в отдельном материале про стоимость интернет-магазина: там числа по каждому сегменту и по каждой строке.
Чеклист запуска
Собрал два коротких списка, которые снимают половину вопросов перед стартом. Первый поможет понять, не пора ли тебе с конструктора на своё.
+Плюсы
- Ты упёрся в лимит товаров или категорий. Платформа не даёт добавить больше, каталог не помещается. Классический потолок конструктора.
- Тебе нужна своя логика, а платформа не даёт. Свой checkout, механика дропов, подписки, нестандартные скидки. Всё через костыли или никак.
- Скорость и SEO стали важны, а порулить ими нельзя. Ты хочешь тонко управлять первым экраном и индексацией, а платформа отдаёт что отдаёт.
- Нужна плотная связка с 1С или маркетплейсами. Не базовая выгрузка, а настоящий обмен под твой склад и учёт.
- Подписка за год набежала в сумму нормальной разработки. Считаешь на горизонте двух-трёх лет и понимаешь, что аренда выходит дороже своего.
Если узнал себя в двух-трёх пунктах, ты перерос конструктор, и честнее считать кастом, пока переезд не стал совсем болезненным.
А это финальный чеклист перед тем, как открыть магазин людям:
- Статус ИП или самозанятости оформлен, оферта и политика данных на сайте.
- Эквайринг подключён, тестовая оплата прошла, фискальный чек по 54-ФЗ приходит покупателю.
- Доставка настроена, стоимость и сроки видны покупателю до оплаты.
- Карточки заполнены: фото, описание, цена, наличие, варианты.
- Корзина помнит товары после перезагрузки, checkout короткий и работает с телефона.
- Домен, хостинг и SSL на месте, сайт открывается по https без предупреждений.
- Яндекс.Метрика стоит, цели на корзину и заказ настроены.
- Sitemap отправлен в Яндекс.Вебмастер и Google Search Console.
- Ты сам прошёл весь путь покупателя с телефона и с компьютера, ничего не сломалось.
- Есть план по трафику: реклама, SEO, соцсети или маркетплейсы как канал.
Прошёл по списку и всё зелёное? Тогда открывай. Магазин готов принимать заказы, а не просто существовать.
Готов помочь на любом из этих шагов. Расскажи, что продаёшь, какой каталог и какие интеграции нужны, и я, Евгений Волков, подскажу, где хватит конструктора, а где честнее собрать кастом под ключ от 80 000 ₽. Мне выгоднее, чтобы ты сделал магазин правильно с первого раза, а не переделывал его через год.


