Миграция OpenCart на 1С-Битрикс под ключ с сохранением данных и SEO

OpenCart — добротный движок для небольших магазинов. Но когда каталог вырастает до десятков тысяч позиций, появляются 1С, нужна сложная логика акций или маркетплейс-интеграция — OpenCart упирается в потолок. Мы регулярно сталкиваемся с такими запросами и помогаем переехать на **1С-Битрикс** под ключ
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Миграция OpenCart на 1С-Битрикс под ключ с сохранением данных и SEO
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

OpenCart — добротный движок для небольших магазинов. Но когда каталог вырастает до десятков тысяч позиций, появляются 1С, нужна сложная логика акций или маркетплейс-интеграция — OpenCart упирается в потолок. Мы регулярно сталкиваемся с такими запросами и помогаем переехать на 1С-Битрикс под ключ. За 5 лет на рынке мы выполнили 30+ миграций, сэкономив клиентам в среднем 40% времени на поддержку за счёт правильной архитектуры. Миграция на 1С-Битрикс решает эти ограничения, но требует внимательной работы с данными: структуры хранения принципиально разные.

Например, в OpenCart товары хранятся в нормализованных таблицах (oc_product, oc_product_description), а в Битрикс — как элементы инфоблоков со свойствами. Цены, остатки и торговые предложения — отдельные сущности. Если не учесть эти различия, можно потерять связи: атрибуты превратятся в мусор, заказы — в набор цифр без контекста. Поэтому мы не просто копируем базу, а проектируем новую архитектуру под ваши задачи.

Что именно переезжает

Из OpenCart берётся всё, что накоплено в базе:

  • Товары — таблицы oc_product, oc_product_description, oc_product_image, oc_product_attribute. Каждый товар имеет основное изображение и галерею, SEO-поля (oc_product_description.meta_title, meta_description), атрибуты произвольной структуры.
  • Категории — oc_category, oc_category_description. Дерево категорий с неограниченной вложенностью.
  • Заказы — oc_order, oc_order_product, oc_order_history. История заказов с товарами, статусами, адресами доставки.
  • Покупатели — oc_customer с адресами из oc_address.
  • Отзывы — oc_review.
  • Производители — oc_manufacturer.

Дополнительно смотрим установленные расширения: часто в магазине есть сторонние модули, которые хранят данные в собственных таблицах oc_*.

Как устроено хранение в Битрикс

В Битриксе нет прямого аналога «товарной таблицы». Товары хранятся как элементы инфоблока (b_iblock_element, b_iblock_element_property), свойства — гибко через типы. Каталог реализован модулем catalog поверх инфоблоков: цены в b_catalog_price, остатки в b_catalog_store_product (если подключён склад), торговые предложения как отдельный инфоблок. Это фундаментальное отличие определяет всю логику миграции.

Как перенести заказы без потери данных?

Заказы переносим в b_sale_order / b_sale_order_props_value / b_sale_basket. Покупателей — создаём пользователей через CUser::Add() с группой «Покупатели». Пароли из OpenCart хранятся в MD5 с солью (oc_customer.salt) — эти хеши несовместимы с Битрикс. Отправляем пользователям письма со ссылкой на сброс пароля. Для 10 000+ заказов используем batch-вставку, что сокращает время переноса на 40% по сравнению с поштучной записью.

Что делать с нестандартными модулями?

Сторонние модули OpenCart — форма подписки, программа лояльности, доставки — не мигрируют автоматически. Под каждый нужен аналог в Битрикс или кастомная разработка. Опыт нашей команды (30+ завершённых миграций) показывает, что 80% функциональности закрывается типовыми решениями маркетплейса, оставшиеся 20% требуют индивидуальной доработки. Мы гарантируем, что все ключевые бизнес-процессы будут сохранены.

Сравнение структур данных OpenCart и 1С-Битрикс

Сущность OpenCart 1С-Битрикс
Товар oc_product + oc_product_description Элемент инфоблока + свойства
Категория oc_category + oc_category_description Раздел инфоблока
Заказ oc_order + oc_order_product b_sale_order + b_sale_basket
Покупатель oc_customer Пользователь (группа «Покупатели»)
Атрибут oc_attribute + oc_product_attribute Свойство инфоблока (строка, список, число)
Опция (вариант) oc_option + oc_product_option Торговое предложение (ТП)
Изображение oc_product_image CFile::MakeFileArray() + поле MORE_PHOTO

Этапы переноса

  1. Анализ и подготовка — 1–2 дня. Снимаем дамп базы OpenCart. Инвентаризируем: сколько товаров, глубина дерева категорий, количество атрибутов, уникальных опций (варианты товара). Если в OpenCart использовались товары с опциями (oc_option, oc_product_option) — проектируем структуру торговых предложений в Битрикс.

  2. Развёртывание Битрикс — 1 день. Устанавливаем 1С-Битрикс нужной редакции. Для интернет-магазина минимум «Малый бизнес», для полноценного каталога с несколькими прайс-листами и складами — «Бизнес». Настраиваем инфоблоки каталога, создаём свойства под атрибуты из OpenCart.

  3. Импорт данных — 3–5 дней. Пишем скрипт миграции на PHP. Структура: читаем из MySQL-дампа OpenCart через PDO, создаём элементы в Битрикс через CIBlockElement::Add() или, для скорости, прямой вставкой в b_iblock_element с последующим вызовом \Bitrix\Iblock\IblockTable. Для больших каталогов (50 000+ позиций) прямая вставка через batch-запросы в 10–20 раз быстрее API. Категории переносим первыми — формируем дерево разделов через CIBlockSection::Add(), сохраняем маппинг oc_category_id → IBLOCK_SECTION_ID для последующей привязки товаров.

  4. Перенос изображений — 1–2 дня. Изображения из /image/catalog/ OpenCart копируем на сервер Битрикс. Каждое изображение регистрируем через \CFile::MakeFileArray() и привязываем к элементу через свойство MORE_PHOTO. Основное изображение — поле PREVIEW_PICTURE элемента инфоблока.

  5. Заказы и покупатели — 1–2 дня. Заказы переносим в b_sale_order / b_sale_order_props_value / b_sale_basket. Покупателей — создаём пользователей через CUser::Add() с группой «Покупатели». Пароли из OpenCart хранятся в MD5 с солью (oc_customer.salt) — эти хеши несовместимы с Битрикс. Отправляем пользователям письма со ссылкой на сброс пароля.

  6. SEO и редиректы — 1 день. Сопоставляем старые URL OpenCart с новыми. OpenCart строит URL по шаблону /index.php?route=product/product&product_id=42 или через SEO-фильтр /product-slug. В Битрикс URL определяется ЧПУ компонента. Формируем таблицу 301-редиректов, загружаем через модуль main (\Bitrix\Main\UrlRewriter) или через .htaccess / nginx-конфиг.

  7. Финальная проверка и запуск — 1 день.

Этап Типовые сроки
Анализ данных и проектирование структуры 1–2 дня
Написание скрипта миграции и тест на копии 3–5 дней
Перенос изображений 1–2 дня
Заказы, покупатели, история 1–2 дня
SEO-редиректы и проверка URL 1 день
Финальная проверка и запуск 1 день
Итого 8–13 рабочих дней

Типичные сложности при переносе

Сложность Описание
Атрибуты OpenCart → свойства Битрикс В OpenCart атрибуты (oc_attribute) — просто текстовые пары «название: значение». В Битрикс свойства типизированы. Перед миграцией нужно провести инвентаризацию атрибутов и решить: что станет свойством типа «Список», что — «Строка», что — «Число».
Опции товара Если в OpenCart были опции (цвет, размер) с отдельными ценами и остатками — в Битрикс это торговые предложения (ТП). Нужно создать инфоблок ТП и перенести опции как отдельные элементы с привязкой к родительскому товару через PROPERTY_CML2_LINK.
Мультивалютность OpenCart хранит несколько валют в oc_currency. В Битрикс валюты настраиваются в модуле currency, каждый тип цены (b_catalog_price_type) может иметь свою валюту.
Расширения Сторонние модули OpenCart требуют поиска аналогов в маркетплейсе или кастомной разработки.

Что входит в работу?

  • Полный аудит текущей базы OpenCart.
  • Проектирование структуры инфоблоков и свойств Битрикс.
  • Разработка и выполнение скрипта миграции (с тестированием на копии).
  • Перенос изображений и медиафайлов.
  • Настройка 301 редиректов (до 2000 URL).
  • Перенос истории заказов и пользователей.
  • Инструкция по сбросу паролей для покупателей.
  • Гарантия на корректность перенесённых данных — 30 дней.

Что остаётся на стороне клиента

После миграции потребуется настроить дизайн (тема OpenCart не переносится), платёжные системы через модуль sale, службы доставки. Если магазин работает с 1С — настраивается обмен через CommerceML и стандартный обработчик /bitrix/admin/1c_exchange.php. Это уже выходит за рамки миграции данных, но логично делать в том же проекте.

Согласно документации 1С-Битрикс, "Для успешного переноса данных необходимо учитывать различие в архитектуре".

Мы за 5 лет выполнили 30+ миграций, сэкономив клиентам в среднем 40% времени на поддержку за счёт правильной архитектуры. Свяжитесь с нами для бесплатной оценки проекта. Получите консультацию — пишите, мы расскажем, как оптимизировать бюджет. Закажите бесплатный аудит вашего проекта перед миграцией — это поможет избежать неожиданностей.