Почему D2C
Ecokon — калининградский бренд натуральных удобрений. Делают из местного сырья, продают в основном на Wildberries и Ozon. Бизнес в целом здоровый: стабильные заказы, хорошие отзывы, постоянная аудитория. Но есть одна неприятная штука: они полностью зависят от маркетплейсов. Алгоритм WB меняется — падают показы. Ozon крутит «коэффициент локализации» — падает выдача. Плюс комиссия 25%+, плюс обязательные скидки, плюс чёрный ящик аналитики.
Классическая ловушка D2C-бренда, который вырос на маркетплейсах. Выход один — делать собственный канал продаж.
Но собственный сайт «из воздуха» тоже не работает. Трафика нет, доверия нет, повторных покупок нет. Мы пошли по пути, который я условно называю «D2C-сайт-спутник»: сайт, который не пытается перетянуть продажи с маркетплейсов, а, наоборот, использует их как доказательство.
Challenge: главная боль
Ключевая проблема была одна: отзывы. На WB и Ozon у бренда накопилось больше 500 отзывов с фотографиями — живая социальная валюта, которую покупатели пишут сами, без просьб. Эти отзывы критично важны для принятия решения о покупке. Но на маркетплейсах они заперты: покупатель, который пришёл из Яндекса на наш сайт, их не видит.
Второе — SEO-контент. Сайт удобрений — это не «купить кроссовки Nike», тут надо объяснять. Что такое гумат калия, чем отличается минеральное от органического, когда сыпать, сколько, в каких пропорциях. Это длинные статьи, которые хорошо ранжируются, если их написать как положено.
Третье — инфраструктура. Я не хотел делать очередной магазин на Bitrix или Shopify с переплатой за красивую админку, которой клиент пользоваться не будет.
Solution
Архитектура получилась такая:
Фронтенд — Next.js 14 + App Router. Статическая генерация основных страниц, ISR для каталога. Скорость загрузки критична: это же маркетинговый сайт, с мобильного трафика Яндекса и VK Ads. Если страница грузится больше двух секунд — половина трафика отваливается.
Данные — Supabase. Postgres с простой схемой: продукты, категории, отзывы, статьи. Почему не headless CMS за $50/месяц? Потому что клиент хочет платить 500 рублей, а не 5000. Supabase на их объёмах укладывается во free tier.
Импорт отзывов — самое интересное. Написал два модуля:
- Wildberries API — сервис WB даёт отзывы по карточке товара через официальный API продавца. Запрашиваем раз в сутки, фильтруем по оценке и длине текста (очень короткие и односложные не берём), импортируем в Supabase с привязкой к товару на нашем сайте.
- Ozon API — аналогично, но через свой формат. Отдельный модуль-переходник приводит отзывы к общему виду.
Отзывы на сайте помечены честно: «отзыв с Wildberries», «отзыв с Ozon», с ссылкой на оригинал. Это важно по двум причинам. Во-первых, прозрачность — покупатель видит, что их не придумали. Во-вторых, это вынужденная обратная ссылка с маркетплейса на наш сайт, что для SEO только в плюс.
SEO-контент. Тут я подключил отдельный свой проект — Julcha (это генератор SEO-контента, про него я напишу отдельно). Кратко: Julcha берёт ключевой запрос, строит структуру статьи, пишет текст с учётом LSI-терминов, проверяет на уникальность, генерирует картинки. Статьи про удобрения оказались идеальным доменом для Julcha: там много типовых запросов, широкое ключевое ядро, невысокая конкуренция в Яндексе.
Корзина и оплата. Корзина клиентская, без регистрации. Оплата — ЮKassa (СБП, карты). Доставка — CDEK и Почта России через их API. Весь заказ идёт в Telegram-бот клиенту — он видит новый заказ в чате, отправляет.
Процесс: как это собиралось
Как обычно — через PROMPTS.md + run-prompts.sh + Claude Code CLI. Это уже стандартный для нас воркфлоу, я подробно описал его в кейсе Stonekarelia.
Для Ecokon получилось около 22 промптов: инициализация, дизайн-система, каталог, карточка товара, корзина, оплата, интеграция API маркетплейсов, SEO, блог, аналитика, деплой. Сборка заняла примерно пять вечеров — в основном потому, что интеграции API маркетплейсов требовали ручной отладки (WB любит возвращать в API не то, что написано в документации).
Отдельно про Julcha и почему я её сделал
Julcha — мой сайд-проект, генератор SEO-оптимизированного контента. Родилась она из простой боли: делаешь сайт, нужно наполнение, нанимать копирайтера на 20 статей про удобрения — дорого и долго, писать самому — не твой профиль. LLM в лоб пишут воду.
Julcha делает несколько вещей последовательно: собирает ключевые запросы, анализирует топ-10 Яндекса по теме, вытаскивает структуру из лучших результатов, собирает свою структуру (не копию), пишет текст по разделам, пропускает через фактчекинг по RAG-базе профильных источников, генерирует изображения, отдаёт готовый markdown с метаданными. На Ecokon первая партия из 12 статей ушла в продакшен практически без правок.
Про Julcha тоже будет отдельный кейс, пока скажу главное: это не «LLM, напиши мне статью», это пайплайн из пяти шагов с валидацией на каждом. Разница по качеству — в разы.
Result
- Собственный D2C-канал запущен и работает. Продажи небольшие пока — маркетплейсы остаются основным каналом, но сайт окупил себя уже на третий месяц.
- 500+ отзывов автоматически подтянуты с WB и Ozon, с обновлением раз в сутки.
- SEO-контент: 12 статей в блоге на старте, органика растёт. Целевые запросы — «гумат калия для рассады», «органические удобрения Карелия», «биогумус применение».
- Низкая стоимость сопровождения: сайт на Supabase + Next.js, Vercel бесплатно, Telegram-бот как админка. Клиент не платит за админку — он её вообще не видит.
Чему научились
Первое — отзывы с маркетплейсов это золото, которое лежит под ногами. Большинство D2C-сайтов делает вид, что маркетплейсов не существует. А их можно и нужно использовать как доказательную базу для собственного канала. Покупатель в Яндексе увидел ваш сайт, увидел 500 отзывов с WB — доверия сильно больше, чем у «мы молодой бренд, напишите первыми».
Второе — SEO-контент решает. Для D2C-бренда в узкой нише собственный контент это главный источник дешёвого трафика. Яндекс до сих пор хорошо ранжирует длинные экспертные статьи, если их правильно сделать.
Третье — Telegram-бот как админка — недооценённая штука. Клиент не хочет учиться админке, он хочет видеть заказы там, где уже сидит.
Что дальше
Планируем прикрутить подписочную модель («доставка удобрений раз в сезон»), рассылку по сегментам (покупатели рассады, садоводы, огородники) и расширить Julcha на генерацию описаний карточек товаров. Похожий проект? Напишите.
Павел Гладышев — учредитель «Консоли», Петрозаводск. Делает AI-решения для малого бизнеса, собирает сайты промптами, пишет Telegram-боты и бегает марафоны.