Магазин на Битрикс, который переживёт обновление коробки
Магазины на коробке ломаются не в день запуска, а на первом обновлении — и причина почти всегда в том, как их собрали: свойства заводили по ходу, обмен написали вместо штатного, витрину правили в файлах платформы. Поэтому мы начинаем не с дизайна, а с того, что приезжает из учётной системы: пока не понятно, какие характеристики есть у товара и что считается его вариантом, собирать карточку и фильтр не из чего.
- Обмен с 1С по штатному протоколу, а не самописной выгрузкой
- Свойства и торговые предложения проектируются до первой загрузки
- Фильтр и каталог собираются под кеш, а не оптимизируются потом
Три решения, после которых магазин нельзя обновить
Мы разбираем чужие магазины на коробке регулярно, и картина повторяется. Ни одна из трёх ошибок не видна на приёмке: сайт работает, заказы идут, всё хорошо. Каждая из них проявляется через год — в момент, когда платформу надо обновить, а обновлять её нельзя.
Своей статистики по разобранным магазинам мы не приводим: раскрытых проектов по этой работе у студии нет, а называть долю «в скольких процентах случаев встречается» без источника мы не будем. Что мы называем — это три проверки, которые ваш разработчик может сделать сегодня, не спрашивая нас.
Почему фильтр начинает тормозить
Вопрос кажется техническим, а решается он не техникой, а разметкой каталога — и решается один раз, на старте. Разобраться стоит до сметы: от ответа зависит и объём работы, и то, во сколько обойдётся любое изменение каталога через год.
У товара в коробке есть три разных способа хранить отличие, и путают их постоянно. От того, каким способом описан ваш каталог, зависит, будет фильтр мгновенным или будет собираться на каждый заход заново.
- Свойство — это характеристика, по которой выбирают материал, мощность, производитель. Такие вещи заводятся списком со справочником значений, а не текстом: только по списку можно построить фильтр и только список не расползается на «белый», «Белый» и «белый глянец». Текстовое свойство годится для описания и не годится для выбора
- Торговое предложение — это вариант одного товара размер, цвет, объём упаковки. У каждого варианта свои артикул, цена и остаток, но карточка в каталоге одна. Если варианты заведены отдельными товарами, каталог раздувается в разы, одна и та же вещь конкурирует сама с собой, а остатки перестают сходиться с учётом
- Раздел — это не характеристика самая частая подмена. Когда «для дома» и «для улицы» сделаны разделами, а не свойством, товар, годящийся и туда и туда, приходится заводить дважды. Разделами описывают то, по чему ходят, свойствами — то, по чему отсеивают; и почти всегда разделов нужно меньше, чем кажется вначале
Отсюда и ответ про скорость. Фильтр работает мгновенно тогда, когда он построен по свойствам-спискам и его результаты можно закешировать; фильтр по текстовым полям и по разделам кешировать нечем, и каждый щелчок покупателя превращается в тяжёлый запрос к базе. Переразметить каталог на живом магазине можно, но это отдельная работа с остановкой обмена и сверкой остатков — дороже, чем разметить его правильно до первой загрузки. Поэтому список свойств мы согласуем не с дизайнером, а с тем, кто ведёт каталог в учётной системе.
Спросить про свой каталог
Не знаете, готов ли ваш каталог к переезду на витрину?Напишите, сколько примерно позиций, в чём они ведутся и есть ли у товаров варианты. Ответим, что придётся привести в порядок на вашей стороне до начала работ, — это самая частая причина, по которой магазины выходят позже срока.
Спросить в Telegram Магазин без коробкиСемь проверок каталога, которые вы сделаете сами
Все семь делаются внутри вашей учётной системы, минут за двадцать, и никакого доступа к сайту для них не нужно. Они не заменяют разбор, но показывают, во что упрётся срок: почти всегда магазин выходит позже не из-за вёрстки, а из-за данных. Вердикт считается от числа несошедшихся пунктов, отметки остаются в этом браузере.
Вердикт появится, как только отметите первый пункт. Ничего никуда не уходит: это проверка для вас, а не заявка.
Сходится 0 из 7
Непройденный пункт — это не повод не начинать, а строка в плане работ и в календаре. Плохо не то, что каталог не готов: плохо, когда это выясняется на третьей неделе, а срок был назван на первой. Поэтому приводить данные в порядок мы предлагаем параллельно с дизайном, а не после него.
Как идёт работа
Пять шагов, и порядок в них обратный привычному: обмен идёт раньше витрины. Так делают реже, чем следовало бы, потому что дизайн хочется увидеть первым. Но карточка, нарисованная до того, как стало понятно, какие характеристики вообще приезжают, переделывается целиком — и переделывается за ваш счёт.
-
01
Разбор каталога в вашей учётной системе
Смотрим то же, что в проверке выше, только вместе с вами и на ваших данных: артикулы, характеристики, варианты, типы цен, склады, картинки. На выходе — список того, что нужно привести в порядок на вашей стороне, и он появляется до договора, а не в середине проекта.
-
02
Схема каталога и обмен на тестовой порции
Согласуем список свойств и то, что считается вариантом товара, и заводим обмен по штатному протоколу. Первая выгрузка — намеренно маленькая: десяток позиций из разных разделов. Смотрим, что доехало и в каком виде, правим сопоставление полей и только потом грузим каталог целиком.
-
03
Витрина: каталог, фильтр, карточка
Только теперь рисуется и собирается то, что видит покупатель, — и рисуется по реальным данным, а не по придуманным. Карточка проверяется на товаре без фотографии, на товаре с названием в четыре строки и на товаре с двумя заполненными характеристиками из двадцати: такие в каталоге есть всегда.
-
04
Заказ до конца и обратно в учёт
Корзина, оформление, оплата, доставка и статусы. Проверяется это не на словах, а живыми заказами по каждому способу оплаты: тестовый заказ должен доехать до учётной системы и вернуться оттуда со статусом. Отдельно проверяется, что происходит при ошибке оплаты — это самый частый непроверенный сценарий.
-
05
Кеш, нагрузка и передача
Кеширование настраивается по каждому типу страниц, каталог проверяется на телефоне и на медленной сети, а не на ноутбуке с оптоволокном. В конце вы получаете опись: что настроено, что дописано, как накатывать обновления и что проверить после каждого.
Своего срока у этого формата мы не называем. Срок направления считается от запуска сайта с нуля, а здесь календарь задаёт не наша работа, а состояние данных на вашей стороне и скорость, с которой их приводят в порядок. Пока не посмотрели каталог — это вилка, а не дата, и любой, кто называет дату до разбора каталога, называет её наугад.
Сколько стоит и от чего зависит
Торговая часть считается по третьей смете направления — от 280 000 ₽. Состав всех трёх открыт на странице направления, своей отдельной цены у формата нет. Дальше — пять вещей, которые двигают объём внутри этой ступени, и все пять решаются на вашей стороне, а не на нашей.
| Что смотрим на разборе | Как двигает объём | Как двигает календарь |
|---|---|---|
| Состояние данных в учётной системе | Сильно: привести каталог в порядок иногда дороже, чем собрать витрину, и эта работа бывает не нашей | Сильно: это единственная часть проекта, которую мы не можем ускорить своими руками |
| Есть ли варианты товара и сколько характеристик | Сильно: варианты меняют и обмен, и карточку, и корзину — это не «ещё одно поле» | Умеренно: согласование списка свойств идёт дольше, чем его настройка |
| Сколько способов оплаты и доставки | Прямо: каждый способ — это подключение, правила расчёта и свой сценарий ошибки | Сильно: подключение платёжного сервиса зависит от вашего банка, а не от нас |
| Нужны ли цены под разных покупателей | Умеренно: опт и розница на одном сайте — это вход, роли и своя витрина для каждого типа | Слабо: настраивается быстро, решается долго |
| Переезжает ли магазин с существующего сайта | Сильно и отдельной строкой: у переезда свой счёт и своя работа — перенос на Битрикс | Сильно: адреса карточек и разделов решаются раньше всего остального |
Что входит в смету, а что оплачивается отдельно
Правая колонка важнее левой, и читать её стоит первой. Магазин — единственный формат направления, где расходов «мимо студии» набирается заметно, и почти все они всплывают уже после запуска. Мы называем их здесь, чтобы бюджет считался целиком, а не по одной строке.
- Схема каталога: свойства, справочники значений, варианты товара
- Обмен с учётной системой по штатному протоколу и его проверка на тестовой порции
- Витрина: каталог, фильтр, карточка, корзина, оформление заказа
- Подключение оплаты и доставки к уже открытым у вас договорам
- Настройка кеширования по типам страниц и проверка каталога на медленной сети
- Опись: что настроено, что дописано, как обновлять и что проверять после
- Лицензия вендора и её продление. Счёт на ваше юрлицо, в смету не входит ни при каком объёме. Её стоимость мы не называем — подробнее на странице про платформу
- Эквайринг. Договор заключается между вами и банком, комиссия платится банку, деньги покупателей через студию не проходят
- Фотографии и описания товаров. Съёмка и тексты — отдельная работа; если их нет, каталог выйдет с пустыми карточками, и это видно сразу
- Приведение данных в порядок на вашей стороне. Иногда делаем мы и считаем часами, иногда быстрее и дешевле ваш человек в учёте
- Платные модули из маркетплейса, если для вашего случая без них никак. Стараемся обходиться без них: каждый тянет своё продление
Разбор каталога до сметы
Не готовы обсуждать смету — начните с разбора каталогаСмотрим ваши данные в учётной системе и отвечаем на три вопроса: что из характеристик станет фильтром, что придётся приводить в порядок до загрузки и чьими руками это дешевле сделать. Бесплатно, письменным списком, до договора. Если окажется, что магазин вам сейчас не нужен, — скажем и это.
Условия, при которых мы сами предложим остановиться
Магазин — самый длинный проект направления, и остановиться в середине дороже всего именно здесь. Поэтому условия выхода описаны заранее и в обе стороны: не только «когда мы не беремся», но и «когда мы предложим прерваться, уже начав».
| Этап | Что должно случиться к концу | При чём идём дальше | При чём останавливаемся |
|---|---|---|---|
| Разбор каталога | Понятно, какие характеристики станут фильтром и что считается вариантом товара | Список работ на вашей стороне назван, и есть человек, который их сделает | В учёте нет ни артикулов, ни характеристик, и привести их в порядок некому. Витрину собирать не из чего |
| Тестовая выгрузка | Десяток позиций из разных разделов доехал целиком, включая цены и картинки | Расхождения объяснимы и устранимы настройкой сопоставления полей | Учётная система не отдаёт данные и не может их отдать без доработки на своей стороне, а её никто не планирует |
| Витрина | Каталог, фильтр и карточка работают на полном объёме реальных данных | Каталог открывается быстро на телефоне и на медленной сети | Выясняется, что нужного поведения нельзя добиться без правок в файлах платформы. Тогда честнее пересобрать решение, а не ломать обновляемость |
| Заказ и оплата | Живой заказ доехал до учётной системы и вернулся оттуда со статусом | Все способы оплаты и доставки проверены заказами, включая ошибку оплаты | Договор эквайринга не открыт и открывать его пока не планируют. Запускать магазин без оплаты можно, но это уже витрина, а не магазин |
Отдельно и коротко, чтобы не повторять сказанное соседями: типовой магазин на коробке дешевле у тех, кто их штампует, и мы за такие заказы не беремся. Почему именно — разобрано на странице интернет-магазина, там эта мысль раскрыта целиком.
Эта страница — часть направления «Разработка сайтов»
Здесь разобрана только торговая часть на коробке: каталог, обмен и то, что с ними происходит при обновлении. Состав работ, процесс, гарантии и три сметы живут на странице направления, и повторять их тут было бы пересказом. Там же калькулятор, который считает объём по вашим ответам, — второго на форматах нет намеренно.
Что стоит посмотреть рядом
Четыре соседние страницы, каждая — про другой ответ на слово «магазин». Одна и та же задача решается коробкой, своей сборкой, приложением в мессенджере или вовсе витриной без оплаты, и выбор между ними делается раньше, чем выбор подрядчика.
Обмен, про который эта страница, — это обмен между сайтом и учётной системой: каталог, цены, остатки, заказы. Обмен между корпоративным порталом и учётом — соседняя и другая работа: там предметом идут сделки и документы, а не витрина. Она разобрана на интеграции Битрикс24 с 1С
Когда магазин на коробке вам не нужен
Четыре ситуации, в которых мы отговариваем. Третья смета — самая дорогая ступень направления, и заходить в неё стоит только тогда, когда торговая часть действительно нужна. Довольно часто выясняется, что нужна витрина, а не магазин, и это дешевле ровно на то, чего в ней нет.
-
Если позиций немного и они почти не меняются
Обмен, свойства и варианты товара — это механика для каталога, который живёт своей жизнью в учётной системе. Два десятка позиций, которые правит человек раз в квартал, прекрасно существуют на обычных страницах, и коробка тут ничего не добавляет. Смотрите в сторону сайта-каталога: заказ идёт через менеджера, а витрина дешевле.
-
Если у вас нет учётной системы и не планируется
Главный аргумент за коробку в магазине — штатный обмен. Без него вы получаете каталог, который ведут руками в админке, и платите за платформу, созданную ради обмена. В этом случае честнее собрать магазин на своей сборке под вашу логику заказа — это соседняя страница, и деньги там устроены иначе.
-
Если магазин уже есть и просто работает плохо
Новый магазин — самое дорогое из решений и почти никогда не самое верное. Каталог тормозит — обычно дело в фильтре по текстовым полям и выключенном кеше. Обмен отваливается — обычно он написан мимо штатного. Оба случая чинятся на существующем сайте и считаются часами: это доработка, и ревизия до договора бесплатна.
-
Если продажи идут в переписке, а не на сайте
Когда покупатель привык выбирать и платить в мессенджере, сайт для него — лишний переход, и магазин на нём будет стоять пустым. В таком случае каталог и оплату уместнее поставить туда, где человек уже находится: магазин в Telegram. Это другое направление и другие деньги, и оно неплохо живёт рядом с обычной витриной.
Интернет-магазин на Битрикс: что стоит знать до заказа
Почему обмен с 1С настраивают раньше дизайна
Потому что карточка товара — это не макет, а способ показать данные, которые приезжают из учётной системы. Пока не известно, какие характеристики у товара вообще есть, в каком виде они хранятся и что считается вариантом одной позиции, рисовать карточку можно только наугад. Нарисованная наугад, она переделывается целиком, когда данные приезжают, — и переделывается за счёт заказчика, потому что формально макет был согласован.
Обмен на коробке делается штатным протоколом, который поддерживает сам вендор. Это принципиально: штатный механизм не ломается собственными обновлениями платформы, а самописная выгрузка живёт до ближайшего изменения на любой из двух сторон. Своё пишется только поверх штатного и только там, где его действительно не хватает, — например, когда цены зависят от типа покупателя или остатки надо складывать по нескольким складам.
Первая выгрузка всегда маленькая, на десяток позиций из разных разделов. Смысл пробы не в скорости, а в том, чтобы не переносить каталог дважды: на маленькой порции видно, что доехало, в каком виде и какие поля сопоставлены неправильно. После этого грузится весь каталог, и только потом собирается витрина.
Свойства, торговые предложения и скорость каталога
Скорость фильтра задаётся не железом, а тем, как описан каталог. Свойство-список со справочником значений можно закешировать и отфильтровать мгновенно; текстовое поле, которое заполняют руками, кешировать нечем, и каждый щелчок покупателя превращается в тяжёлый запрос к базе. Поэтому характеристики, по которым выбирают, заводятся списками, а не текстом, и решается это один раз — до первой загрузки каталога.
Торговое предложение — это вариант одного товара: размер, цвет, объём. У каждого свои артикул, цена и остаток, но карточка в каталоге одна. Если варианты заведены отдельными позициями, каталог раздувается в разы, одна и та же вещь конкурирует сама с собой в поиске по сайту, а остатки перестают сходиться с учётом. Переразметить каталог на живом магазине можно, но это работа с остановкой обмена и сверкой остатков.
Третья частая ошибка — описывать разделами то, что должно быть свойством. Разделами задают то, по чему ходят, свойствами — то, по чему отсеивают. Когда назначение товара сделано разделом, вещь, годящаяся в два назначения, заводится дважды, и дальше расходятся её цена, остаток и описание.
Что происходит с магазином при обновлении коробки
Ничего — при одном условии: файлы платформы не правились. Весь свой код живёт отдельным слоем, шаблоны и компоненты копируются в свой каталог и правятся там, изменения схемы базы идут миграциями. Тогда обновление остаётся штатной операцией на полчаса, а не проектом. Проверить это можно без подрядчика: файлы платформы в репозитории должны совпадать с тем, что отдаёт вендор.
Если ядро правили до вас, обновления обычно встают насовсем — сначала их откладывают, потом перестают делать вовсе. Магазин при этом продолжает работать и постепенно теряет совместимость с окружением: с версией языка на хостинге, с протоколами оплаты, с обменом. Чинится это выносом правок в свой слой, и такая работа считается часами, а не новым проектом.
Отдельно стоят платные модули из маркетплейса. Каждый выглядит дешевле разработки ровно до того, как их становится больше трёх: дальше они конфликтуют между собой, каждый тянет своё продление, а понять, какой отвечает за конкретное поведение магазина, можно только перебором. Мы стараемся обходиться без них и, когда разбираем чужой магазин, начинаем с ревизии того, что из установленного действительно используется.
Сколько стоит магазин на Битрикс
Торговая часть считается по третьей смете направления — от 280 000 ₽. Своей отдельной цены у формата нет: коробка не делает работу дороже сама по себе. Дороже её делают варианты товара, число способов оплаты и доставки, цены под разных покупателей и состояние данных в учётной системе — последнее чаще всего и оказывается самой тяжёлой строкой, причём работа эта бывает не нашей.
Отдельно от сметы оплачиваются лицензия вендора и её ежегодное продление, эквайринг по договору между вами и банком, фотографии и описания товаров. Своего срока у формата мы не называем: срок направления считается от запуска сайта с нуля, а здесь календарь задаёт состояние каталога на вашей стороне. Пока каталог не посмотрели — это вилка, а не дата.
Вопросы про магазин на коробке
Шесть вопросов, которые задают именно про торговую часть. Общее про платформу — редакции, лицензия, обновления — разобрано на странице про Битрикс, общее про разработку — на странице направления. Ответы должны жить в одном месте, иначе со временем разойдутся.
Остался вопрос?
Написать в Telegram, отвечаем за 30 минутЧисла мы здесь не называем, и причина не в осторожности: предел задаётся не количеством позиций, а тем, как описан каталог и настроен ли кеш. Каталог на текстовых свойствах начинает тормозить на объёме, который каталог на свойствах-списках держит без усилий. Поэтому правильный вопрос звучит не «сколько выдержит», а «как разметить, чтобы держал» — и ответ на него даёт разбор каталога, а не строчка в прайсе. Любой подрядчик, называющий предел в товарах не глядя на ваши данные, называет его наугад.
Нет, и решать это надо на старте. Чаще всего в сторону сайта едут товары, характеристики, цены и остатки, а обратно уходят заказы — этого хватает большинству. Обратный обмен статусами (заказ собран, отгружен, доставлен) добавляется тогда, когда покупатель должен видеть, что с его заказом. Двусторонний обмен по каждому полю нужен редко и стоит заметно дороже: у каждого поля должен быть один хозяин, иначе две системы начинают переписывать друг друга по кругу.
Зависит не от названия, а от того, что система умеет отдавать. Штатный протокол обмена рассчитан на определённый формат: если ваша система умеет его выгружать, обмен настраивается тем же способом. Если не умеет — пишется прослойка, которая превращает её выгрузку в понятный платформе формат, и это отдельная работа со своим объёмом. Назовите систему на разборе, и мы скажем, какой из двух случаев ваш, до того как назовём цену.
Можно, и решается это адресами, а не данными. Накопленный поиском вес привязан к конкретному адресу карточки или раздела, поэтому перед переездом составляется реестр всех работающих адресов, и каждый получает решение: остаётся прежним, переезжает с постоянным перенаправлением или закрывается осознанно. Тема эта большая и разобрана целиком на отдельной странице — перенос сайта на Битрикс. Здесь мы её не повторяем намеренно: у неё свой счёт и своя работа.
К вашему. Договор эквайринга заключается между вами и банком или платёжным сервисом, комиссия платится им, деньги покупателей через студию не проходят никогда. Наша часть — подключить уже открытый договор к магазину, проверить живыми заказами каждый способ оплаты и отдельно проверить, что происходит при неудачной оплате. Этот сценарий чаще всего оказывается непроверенным, а видит его как раз покупатель, у которого не прошла карта.
Учётная система — там, где каталог и так живёт. В этом и смысл обмена: новая позиция появляется в учёте и приезжает на сайт сама, а не заводится дважды. Руками в админке остаются вещи, которых в учёте нет: описания для покупателя, подборки, баннеры, тексты разделов. Под них выдаётся отдельная роль с правами только на эти разделы — как устроено разграничение прав на коробке, разобрано на соседней странице
Пришлите выгрузку каталога — скажем, что станет фильтром
- Скажем, какие характеристики станут фильтром, а какие останутся описанием
- Назовём, что придётся привести в порядок в учёте до начала работ и чьими руками
- Если вам хватит витрины без корзины — скажем прямо, это заметно дешевле
Заявка принята
Посмотрим каталог и вернёмся в течение рабочего дня со списком того, что стоит привести в порядок. Если срочно — напишите в Telegram.
Или напишите сразу:
Telegram · отвечаем лично за 30 минут