Як перенести магазин з OpenCart на 1С-Бітрікс: міграція даних та SEO

OpenCart — добротний двигун для невеликих магазинів. Але коли каталог виростає до десятків тисяч позицій, з'являються 1С, потрібна складна логіка акцій або маркетплейс-інтеграція — OpenCart впирається в стелю. Ми регулярно стикаємося з такими запитами і допомагаємо переїхати на **1С-Бітрікс** під кл
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Як перенести магазин з OpenCart на 1С-Бітрікс: міграція даних та SEO
Середній
~1-2 тижні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1442
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1013
  • 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
    752
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    873
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    794
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1154

OpenCart — добротний двигун для невеликих магазинів. Але коли каталог виростає до десятків тисяч позицій, з'являються 1С, потрібна складна логіка акцій або маркетплейс-інтеграція — OpenCart впирається в стелю. Ми регулярно стикаємося з такими запитами і допомагаємо переїхати на 1С-Бітрікс під ключ. Наша компанія має 5-річний досвід у міграціях даних та понад 30 реалізованих проєктів. За 5 років на ринку ми виконали 30+ міграцій, заощадивши клієнтам у середньому 40% часу на підтримку завдяки правильній архітектурі. Середня вартість міграції — від 15 000 грн. Швидкість обробки каталогу в Бітрікс у 5 разів вища за OpenCart. Міграція на 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. Дерево категорій з необмеженою вкладеністю. Перенесення категорій OpenCart — критичний етап для правильної структури.
  • Замовлення — 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 (якщо підключений склад), торгові пропозиції як окремий інфоблок. Це фундаментальна відмінність визначає всю логіку міграції. Використовуємо PDO-з'єднання для читання даних з MySQL-дампу OpenCart та батчеву вставку для прискорення.

Як перенести замовлення без втрати даних?

Замовлення переносимо в 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% часу на підтримку завдяки правильній архітектурі. Зв'яжіться з нами для безкоштовної оцінки проєкту. Отримайте консультацію — пишіть, ми розповімо, як оптимізувати бюджет. Замовте безкоштовний аудит вашого проєкту перед міграцією — це допоможе уникнути несподіванок.