БонусБесплатный первый месяц абонентской поддержки при заказе разработки «под ключ»

Типичные ошибки при разработке магазина на 1С-Битрикс

Типичные ошибки при разработке интернет-магазина на 1С-Битрикс и способы их избежать

Магазин на 1С-Битрикс редко «падает» сразу. Чаще он тихо накапливает технический долг: сначала каталог начинает подтормаживать, потом обмен с 1С дублирует товары, а через год выясняется, что сайт нельзя обновить, потому что кто-то правил ядро. Каждая из этих проблем родом со стадии разработки — и каждая была предотвратима.

В этой статье — разбор самых частых и дорогих ошибок при разработке магазина на 1С-Битрикс: от выбора редакции до тестирования перед запуском. По каждой ошибке — чем она грозит и как её не допустить. Материал основан на нашей практике приёмки и аудита чужих проектов, где мы регулярно видим один и тот же набор граблей.

Коротко

  • Самая дорогая ошибка — правки в ядре: такой сайт нельзя обновлять, он гниёт годами и опасен.
  • Обмен с 1С и структуру свойств инфоблоков проектируют заранее, а не «как получится» на живом магазине.
  • Каталог без кэширования тормозит уже на первых тысячах товаров — кэш обязателен с самого начала.
  • Редакцию и архитектуру выбирают под рост на год-два вперёд, а не только под запуск.

Почему магазины на 1С-Битрикс ломаются

1С-Битрикс — мощная и гибкая платформа, но именно гибкость её и подводит в неумелых руках. Систему можно расширять правильно — через события, свои модули и папку /local/ — а можно «быстро подправить» прямо в системных файлах. Второй путь короче на старте и катастрофичен в перспективе.

Большинство проблемных магазинов объединяет одно: их делали с горизонтом «лишь бы запустить», без мысли о том, что будет через год. Обмен настроили на текущую номенклатуру, свойства завели как попало, обновления отключили, чтобы «не сломалось». Каждое такое решение экономит день сейчас и стоит недель потом. Ниже — конкретные ошибки, которые встречаются чаще всего.

Ошибка 1. Неверная редакция и лицензия

Всё начинается с выбора редакции, и здесь легко ошибиться в обе стороны. Берут младшую редакцию ради экономии — и через полгода упираются в отсутствие торгового каталога, скидочных правил или многосайтовости. Или наоборот, покупают старшую «на всякий случай» и переплачивают за функции, которыми не пользуются.

Правильно — выбирать редакцию под дорожную карту бизнеса: какие функции понадобятся не только на старте, но и на горизонте развития. Апгрейд редакции технически возможен, но переделка логики под него стоит денег, поэтому дешевле подумать заранее.

Обмен данными сайта с 1С Сайткаталог, заказы1Стовары, заказыОбменочередь / APIДанные идут в обе стороны по расписанию или по событию
Схема: сайт и 1С обмениваются данными в обе стороны — по расписанию или по событию. Товары и остатки приходят на сайт, заказы уходят обратно.

Ошибка 2. Правки в ядре системы

Это чемпион по стоимости последствий. Чтобы быстро закрыть задачу, подрядчик правит файлы в /bitrix/modules/ — прямо в коде штатных модулей или ядра. Работает сразу, но создаёт мину замедленного действия.

Проблема в том, что такой магазин нельзя обновлять. Очередное обновление платформы либо затрёт правки (и функция отвалится), либо конфликтует с ними (и сайт ломается). В итоге компания годами сидит на устаревшей версии с известными уязвимостями, потому что боится нажать «Обновить».

Как надо: любую кастомную логику выносят в собственный модуль или в папку /local/, а поведение штатных компонентов меняют через обработчики событий, а не правкой их файлов. Тогда сайт обновляется без страха. О правильной структуре кастомного кода — в статье про разработку модуля для 1С-Битрикс.

Если ядро уже правили, это лечится рефакторингом: логику достают из системных файлов и переносят в модуль. Это наша типовая задача при аудите и оптимизации 1С — вернуть сайту способность обновляться.

Ошибка 3. Кривой обмен с 1С

Обмен CommerceML недооценивают на старте, а потом он становится главной болью. Ошибка — воспринимать его как разовую настройку «загрузили каталог и забыли». На деле это живой процесс: номенклатура меняется, свойства добавляются, цены и остатки грузятся постоянно.

Типичные симптомы плохо спроектированного обмена:

Правильный обмен проектируют заранее: стабильные идентификаторы, продуманное сопоставление свойств, обмен по расписанию в фоне без блокировки витрины. Настроить это на пустом проекте гораздо дешевле, чем чинить на живом магазине с заказами. Это одна из ключевых частей нашей автоматизации продаж и склада на 1С.

Ошибка 4. Хаос в свойствах инфоблоков

Каталог 1С-Битрикс строится на инфоблоках и их свойствах, и от того, как заведены свойства, зависит буквально всё: фильтр, поиск, обмен, SEO. Частая ошибка — заводить свойства как попало, по мере поступления товаров, без единой структуры.

К чему это приводит:

Свойства проектируют один раз и системно: единый справочник характеристик, списки вместо свободного текста там, где нужен фильтр, продуманные типы. Это фундамент, на котором потом стоят фильтр, поиск и SEO — переделывать его на наполненном каталоге очень дорого.

Ошибка 5. Медленный каталог без кэша

1С-Битрикс без кэширования медленный — это надо принять как данность и работать с этим с первого дня. Ошибка новичков — отдавать каталог «вживую», собирая каждую страницу запросами к базе. На сотне товаров незаметно, на десятках тысяч сайт встаёт.

Как держать каталог быстрым:

Ошибка бывает и обратной: включить композит бездумно и закэшировать персональные данные — тогда покупатель видит чужую корзину. Лечится это грамотной разметкой динамических блоков. Подробнее об архитектуре скорости — в материале про хостинг и BitrixVM.

Ошибка 6. Тяжёлый и сломанный UX корзины

Технически исправный магазин может терять деньги на пути к оплате. Корзина и оформление заказа — самое денежное место, и ошибки здесь бьют по выручке напрямую.

Каждый лишний шаг и каждая непонятная ошибка на чекауте — это брошенные корзины. Оформление проектируют коротким, с адаптивом, честными расчётами и понятными подсказками об ошибках. Это прямая работа на конверсию, а не «косметика».

Ошибка 7. Игнор безопасности и обновлений

Отключить обновления, «чтобы не сломалось», — распространённое, но опасное решение. Оно почти всегда идёт в паре с правками ядра: сайт нельзя обновить, поэтому обновления и не ставят. Результат — накопление известных уязвимостей.

Что игнорируют чаще всего:

Безопасность магазина — это деньги и данные клиентов, а не абстрактная угроза. Про защиту точек интеграции мы подробно писали в статье про безопасность REST и вебхуков в 1С-Битрикс.

Ошибка 8. Нет тестирования перед запуском

На тестировании экономят чаще всего, а магазин — это как раз то место, где экономить на нём нельзя. Ошибка в расчёте доставки, скидки или в оформлении заказа напрямую бьёт по выручке и репутации в первые же дни.

Что обязательно проверять перед запуском:

Пропущенный тест оборачивается потерянными заказами тогда, когда их больше всего, — в дни запуска и рекламных кампаний. Тестирование дешевле любой из этих потерь.

Ошибка 9. Разработка без учёта роста

Последняя по списку, но не по важности ошибка — делать магазин «под сегодня». Архитектуру закладывают под текущий каталог и трафик, не думая о том, что через год товаров станет в десять раз больше, добавится второй регион или маркетплейс.

Признаки близорукой архитектуры: жёстко зашитые категории, отсутствие API для будущих интеграций, монолитная логика без модульности, обмен, рассчитанный на текущий объём. Всё это работает на старте и начинает трещать при росте. Заложить расширяемость сразу почти ничего не стоит; переделывать растущий магазин — дорого и рискованно, ведь он уже приносит деньги. Как проектировать под интеграции и рост — в статье про CI/CD и деплой в 1С-Битрикс.

Сводная таблица ошибок и последствий

ОшибкаПоследствиеКак избежать
Неверная редакцияАпгрейд и переделка логикиВыбор под дорожную карту
Правки ядраСайт нельзя обновлятьСвой модуль и /local/, события
Кривой обмен с 1СДубли, потеря привязокСтабильные коды, обмен в фоне
Хаос в свойствахФильтр и поиск не работаютЕдиный справочник характеристик
Нет кэшаМедленный каталогКэш и композит с первого дня
Сломанный чекаутБрошенные корзиныКороткое оформление, адаптив
Игнор обновленийУязвимости, взломыРегулярные обновления, защита
Нет тестовПотерянные заказыТест всего пути и обмена

Как исправить уже запущенный магазин

Хорошая новость: почти всё это лечится без остановки продаж. Подход зависит от глубины проблем, но начинается всегда с одного.

  1. Аудит. Проверяем целостность ядра, обмен, свойства, скорость и безопасность — получаем карту проблем.
  2. Приоритизация. Сначала то, что теряет деньги и данные прямо сейчас: скорость, чекаут, уязвимости.
  3. Возврат обновляемости. Кастомную логику выносим из ядра в модуль и /local/ — сайт снова можно обновлять.
  4. Чистка обмена и свойств. Убираем дубли, стабилизируем коды, приводим свойства к единой структуре.
  5. Оптимизация скорости. Кэш, композит, индексы, тяжёлые запросы на D7.
  6. Регресс-тест. Прогоняем весь путь покупателя и обмен на боевых данных.

Медленный каталог, кривой обмен и проблемы UX правятся точечно. Правки ядра требуют рефакторинга, но и он делается поэтапно. Всё это — предмет нашей автоматизации на 1С и аудита.

Чек-лист приёмки проекта

  1. Ядро чистое. Проверка целостности не показывает изменённых системных файлов, кастом лежит в /local/ и своих модулях.
  2. Сайт обновляется. Обновления платформы ставятся без поломок.
  3. Обмен стабилен. Нет дублей, коды не плавают, обмен идёт в фоне без блокировки витрины.
  4. Свойства унифицированы. Единый справочник характеристик, фильтр собирается корректно.
  5. Каталог быстрый. Кэш и композит настроены, персональные данные не кэшируются.
  6. Чекаут короткий. Оформление адаптивно, расчёты верны, ошибки подсвечены.
  7. Безопасность включена. Проактивная защита, актуальные обновления, защищённые API.
  8. Всё протестировано. Полный путь покупателя и обмен проверены на боевых данных.

Вывод

Почти все дорогие проблемы магазинов на 1С-Битрикс закладываются на стадии разработки и объединены одной причиной — горизонтом «лишь бы запустить». Правки ядра лишают сайт обновлений, недооценённый обмен плодит дубли, хаос в свойствах ломает фильтр, отсутствие кэша тормозит каталог. Каждая ошибка экономит день на старте и стоит недель потом.

Профилактика проста и почти бесплатна: выбирать редакцию под рост, держать кастомный код вне ядра, проектировать обмен и свойства заранее, включать кэш с первого дня и тестировать весь путь покупателя перед запуском. Если магазин уже собрал этот набор граблей — он лечится, и начинается лечение с честного аудита. Инженерная культура на старте всегда дешевле, чем разбор завалов потом.

Частые вопросы

Какая ошибка при разработке на 1С-Битрикс обходится дороже всего?

Правки в ядре системы и в файлах штатных модулей. Такой магазин невозможно обновить без потери изменений: очередное обновление платформы либо затрёт правки, либо сломает сайт. В итоге компания годами сидит на устаревшей версии с дырами в безопасности, потому что боится обновляться. Исправление стоит дороже, чем разработка с нуля по правилам, поэтому это самая дорогая ошибка из всех.

Как понять, что предыдущий подрядчик правил ядро?

Прямой признак — сайт не обновляется годами, а на попытку обновления всё ломается. Технически это проверяется проверкой целостности файлов ядра штатными средствами и сравнением с эталонными дистрибутивами: система показывает изменённые системные файлы. Ещё сигнал — кастомная логика лежит прямо в папках /bitrix/modules/ штатных модулей, а не в отдельном своём модуле или в /local/. Такой аудит мы проводим в первую очередь при приёмке чужого проекта.

Правда ли, что можно сэкономить на младшей редакции 1С-Битрикс?

Только если вы точно знаете, что не понадобятся функции старших редакций. Частая ошибка — взять «Старт» или «Стандарт» ради экономии, а через полгода упереться в отсутствие торгового каталога, скидок или многосайтовости и переплатить за апгрейд и переделку. Редакцию выбирают под дорожную карту бизнеса на год-два вперёд, а не только под запуск. Апгрейд редакции возможен, но переделка логики под него стоит денег.

Почему обмен с 1С часто становится главной болью магазина?

Потому что его недооценивают на старте и делают «как получится». Обмен CommerceML — это не разовая настройка, а живой процесс: номенклатура меняется, свойства добавляются, остатки и цены грузятся постоянно. Если структуру свойств и сопоставление не продумали заранее, обмен начинает дублировать товары, терять привязки и грузить каталог часами. Чинить это на живом магазине с заказами гораздо тяжелее, чем спроектировать правильно сразу.

Обязательно ли включать композитный сайт и кэширование сразу?

Кэширование — да, оно обязательно с самого начала, иначе каталог будет тормозить уже на первых тысячах товаров. Композитный сайт — сильный инструмент ускорения, но его включают осознанно: он требует аккуратной работы с динамическими блоками (корзина, цена клиента, наличие). Ошибка — либо не использовать кэш вообще, либо включить композит бездумно и получить показ чужой корзины из кэша. И то и другое лечится грамотной настройкой.

Насколько критично тестировать магазин перед запуском?

Критично, и именно на этом чаще всего экономят. Магазин — это деньги: ошибка в расчёте доставки, скидки или в оформлении заказа напрямую бьёт по выручке и репутации. Нужно проверять полный путь покупателя на реальных данных: разные способы оплаты и доставки, граничные случаи корзины, работу под нагрузкой. Отдельно тестируют обмен с 1С на боевой номенклатуре. Пропущенный тест оборачивается потерянными заказами в первые же дни.

Можно ли исправить уже запущенный магазин с этими ошибками?

Да, но подход зависит от глубины проблем. Медленный каталог, кривой обмен или проблемы UX лечатся точечной оптимизацией без остановки продаж. Правки ядра требуют более серьёзной работы: кастомную логику выносят из ядра в отдельный модуль или /local/, после чего сайт снова можно обновлять. Начинают всегда с аудита: он показывает, что можно поправить точечно, а что требует рефакторинга.

Как выбрать подрядчика, чтобы не собрать этот набор ошибок?

Смотрите не на красивые макеты, а на инженерную культуру: спрашивайте, как они работают с обновлениями ядра, где хранят кастомный код, как проектируют обмен с 1С и как тестируют. Попросите показать, как устроен код на прошлых проектах и обновляются ли те сайты. Хороший признак — команда сама заводит разговор про редакцию, кэширование и структуру свойств до того, как рисовать дизайн.

Поделиться:

Сомневаетесь в качестве своего магазина на 1С-Битрикс?

Проведём аудит: проверим ядро, обмен, свойства, скорость и безопасность, покажем накопленные ошибки и дадим план исправления без остановки продаж.

Аудит и оптимизация 1С

Редакция B2Bsite

Команда B2Bsite. С 2014 года разрабатываем и приводим в порядок интернет-магазины на 1С-Битрикс: возвращаем сайтам обновляемость, чиним обмен с 1С и ускоряем каталоги.

← Все статьи блога