111 молочных SKU в сети с остатками не старше 15 минут
Региональному дистрибьютору молочного бренда нужна была витрина, показывающая реальные остатки склада. Ни одна платформа не подошла под прайс-лист и два языка, поэтому мы построили свою: она читает МойСклад по расписанию и записывает только то, что изменилось.
Результаты
Цифры взяты из журнала разработки и первых девяти дней поисковых данных после запуска. Данные о продажах принадлежат дистрибьютору и не публикуются.
| Показатель | Было | Стало |
|---|---|---|
| Свежесть остатков на сайте | прайс-лист по телефону | каждые 15 минут |
| Страницы товаров | 0 | 222 двуязычные страницы + товарный фид |
| Расхождения цены и остатков (аудит) | — | 0 расхождений |
| Вес главной страницы | — | 15,6 КБ в gzip, 0 блокирующих рендер файлов |
| Операций хранилища в месяц | ≈5 300 (избыточные записи) | в пределах квоты 2 000 — запись только при изменении |
| Первые 9 дней в поиске | — | 499 показов, позиция ≈10, 79% из Казахстана, 89% с мобильных |
Задача
- Остатки, которым доверяют покупатели
Покупатели заказывали то, чего не было в наличии, и пропускали то, что только что поступило. Правда была в МойСклад, а сайт об этом не знал.
- Два языка, один каталог
Каждому товару, категории и странице нужны были русский и казахский — без удвоения работы редактора.
- Нет фотографий товаров
Большинство товаров существовало только как страницы 21-страничного PDF-каталога от производителя.
- Дешёвое размещение, жёсткие квоты
Выбранный слой данных допускал 2 000 операций хранения в месяц. Наивная синхронизация сжигала 75% этого лимита за несколько дней.
Что мы построили
Остатки — каждые 15 минут, каталог и цены — примерно раз в два часа, в окне 05:00–23:00.
Три уровня отслеживания изменений — в памяти, стабильная сериализация перед публикацией и пропуск неизменных сырых данных — сократили число записей с примерно 5 300 в месяц до значения в пределах квоты.
Разметка наличия и цены формируется на странице из актуального слоя данных, поэтому поисковики и торговая площадка никогда не видят устаревшую цифру.
Фотографии товаров вырезаются со страниц каталога, затем автоматически обрезаются и масштабируются, чтобы новые фото совпадали с остальной сеткой.
Ручные переопределения цены, флаги скрытия/удаления и промокоды находятся в административной панели поверх базового каталога, так что дистрибьютор сохраняет контроль, не трогая синхронизацию.
222 двуязычные страницы товаров, исправленные коды категорий по официальной таксономии, товарный фид и раздел контента из 110 тем.
Как выходили в бой
Каталог и витрина
111 SKU в 9 категориях, на двух языках, изображения товаров извлечены из PDF-каталога.
22 июля 2026Живой учёт склада
Синхронизацию с МойСклад добавили на следующий день; домен, аналитику и основу для поиска доделали в течение недели.
23–28 июля 2026Инцидент с квотой и правки
Сигнал о превышении квоты хранилища 2 августа привёл к записи только изменений; структурированные данные и коды категорий исправили 6–7 августа.
2–7 августа 2026Честные ограничения
Дистрибьютор сам решил скрыть 76 из 112 позиций, поэтому публичный ассортимент меньше каталога. Ранние цены были иллюстративными, пока не подключились реальные. Отзывов покупателей пока нет, поэтому разметка рейтинга оставлена пустой, а не выдумана. У нескольких тем контента есть показы, но мало кликов — нужно переписать сниппеты, а не добавлять страницы. Доставка покрывает один город, а торговая площадка не умеет таргетировать по городу, поэтому это указано в тексте страницы.
Частые вопросы
Почему не Shopify или маркетплейс?
В прайс-листе были B2B-уровни, два языка и уже используемая складская система. Готовая платформа означала бы второй каталог на поддержке. Здесь МойСклад остаётся единственным источником, а сайт следует за ним.
Могут ли покупатели заказывать на сайте?
Витрина показывает актуальные наличие и цены; приём заказов в МойСклад — следующий поток, он описан на странице решения по заказам в ERP.
Как остатки остаются точными без перегрузки API?
Чтением по расписанию и записью только при изменении. Три уровня отслеживания изменений удерживают операции хранения в пределах квоты, а остатки — не старше 15 минут от склада.
Работает ли это с 1С вместо МойСклад?
Да. 1С отдаёт остатки и каталог через OData или HTTP-сервисы; схема «чтение — сравнение — публикация» та же самая.
Как выглядел поиск после запуска?
499 показов и средняя позиция около 10 за первые девять дней, 79% из Казахстана и 89% с мобильных. Кликов было мало, что указывает на формулировки сниппетов — это следующее, что нужно исправить.
Похожий поток в вашем бизнесе?
Расскажите, какие документы или обращения съедают часы. Бесплатный аудит, фиксированная цена пилота, без обязательств.
Получить бесплатный аудит