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

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Як перенести магазин з OpenCart на 1С-Бітрікс: міграція даних та SEO
Середній
~1-2 тижні
Часті запитання

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

Етапи розробки

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

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

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

Міграція сайтів на 1С-Бітрікс

Переїзд на нову CMS — завжди стрес для сайту. Якщо проігнорувати URL-структуру, через два тижні трафік падає на 50–80 %. WordPress генерує /product/item-name/, OpenCart — /index.php?route=product/product&product_id=123, а Бітрікс за замовчуванням хоче /catalog/section/element/. Без карти 301-редиректів пошуковики фіксують масові 404. Ми починаємо будь-яку міграцію зі сканування старого сайту через Screaming Frog і складаємо повну карту редиректів ще до першого рядка коду. Як сказано в документації 1С-Бітрікс: коректна міграція вимагає повного маппінгу URL.

За 7 років ми перенесли понад 50 проєктів — від лендінгів до каталогів на 300 000 товарів. Середній термін — 2–8 тижнів. Оцінку проєкту робимо безкоштовно за 1 день — зв'яжіться для попереднього розрахунку.

Які CMS ми переносимо на Бітрікс?

За роки роботи дані мігрували з десятків систем.

Блоги та корпоративні сайти: WordPress / WooCommerce → 1С-Бітрікс. Таблиці wp_posts, wp_postmeta, wp_wc_product_meta_lookup маппяться в інфоблоки та highload-блоки. Варіації товарів (WooCommerce Variable Product) стають торговими пропозиціями (b_catalog_product).

Інтернет-магазини: OpenCart / ocStore → 1С-Бітрікс. Структура oc_product, oc_product_description, oc_product_to_category переїжджає в ієрархію інфоблоків. Мультимовність OpenCart перетворюється на мовні версії властивостей. Joomla / VirtueMart, MODX Revolution (TV-змінні → властивості інфоблоків), Drupal, PrestaShop — аналогічно.

SaaS-платформи: Tilda, InSales, Shopify, Wix, Squarespace. Бізнес переріс конструктор — потрібні 1С-інтеграції та управління залишками.

Самописні двигуни: реверсимо БД і відновлюємо бізнес-логіку за вихідним кодом.

Що переноситься?

Контент: сторінки, статті, новини → інформаційні інфоблоки. Каталог: категорії → розділи, товари → елементи з прив'язкою до b_catalog_product, властивості → властивості інфоблоку або highload-довідники. Зображення, відгуки, FAQ.

E-commerce: товари з варіаціями (торгові пропозиції), ціни в b_catalog_price (мультивалютні через b_catalog_currency), залишки по складах b_catalog_store_product, знижки (b_sale_discount), історія замовлень (b_sale_order + b_sale_basket).

Користувачі: клієнтська база — b_user + UF-поля. Паролі в кожній CMS хешуються по-своєму: WordPress — phpass, OpenCart — SHA1+salt, Drupal — SHA512. Ми пишемо кастомний CUser::LoginByHash з fallback на старий алгоритм — клієнт вводить пароль один раз, система перехешує в bcrypt Бітрікса.

SEO-дані: мета-теги, alt-теги, URL-структура. Головне завдання — зберегти всі URL або проставити 301-редиректи.

Медіа: зображення, документи, відео — зі збереженням шляхів та оптимізацією через CFile::MakeFileArray().

Як відбувається міграція?

Етап Тривалість Що робимо
Аудит 1–3 дні Скануємо Screaming Frog: всі URL, статус-коди, мета-теги. Аналізуємо структуру БД, кастомні доробки, інтеграції. Складаємо карту перенесення.
Проектування архітектури 2–5 днів Маппінг: типи контенту → інфоблоки, поля → властивості, довідники → highload-блоки. Архітектура має бути зручною для адміністрування в Бітрікс.
Скрипти міграції 3–10 днів PHP-скрипти читають зі старої БД (або API), трансформують і пишуть через API Бітрікса (CIBlockElement::Add, \Bitrix\Sale\Order::create). Запускаємо повторно при тестуванні.
Staging 1–2 дні Повне перенесення на тестовий сервер. Перевіряємо цілісність: кількість товарів, властивості, URL, фільтри.
Дизайн / шаблони 1–4 тижні Редизайн або адаптація верстки під шаблонізатор Бітрікса (template.php, result_modifier.php).
301-редиректи 1–2 дні Повна карта в .htaccess або nginx.conf. Кожен проіндексований URL → відповідна сторінка нового сайту.
Фінальна міграція 1 день Дельта-імпорт свіжих даних, перемикання DNS, моніторинг.
Постміграційний контроль 2–4 тижні Моніторимо Google Search Console та Яндекс.Вебмастер: індексація, позиції, crawl errors.

Як зберегти SEO-позиції?

Втрата органічного трафіку — головний страх, і він обґрунтований. Ось як ми його уникаємо.

Маппінг URL 1:1 — де можливо, через CUrlRewriter та ЧПУ-налаштування інфоблоку зберігаємо точну структуру. Де не можна — 301. Автогенерація карти редиректів: парсимо експорт Screaming Frog, зіставляємо з slugs нових елементів, генеруємо конфіг nginx. Кожен редирект перевіряється curl -I після перемикання.

Перенесення мета-тегів: title, description, h1 переносяться як є у властивості ELEMENT_META_TITLE, ELEMENT_META_DESCRIPTION. Canonical: rel="canonical" через SEO-компонент Бітрікс. Дуби відсікаємо: www/без www, http/https, параметри сортування. Sitemap: нова sitemap.xml через модуль seo Бітрікса, подача в Search Console та Вебмастер одразу після перемикання.

Порівняння швидкості: Бітрікс у 3 рази швидше обробляє каталог із 100 000 товарів, ніж OpenCart, завдяки тегованому кешуванню та оптимізації запитів до b_catalog_product.

Що входить у роботу (deliverables)

Що отримує клієнт Опис
Документація Карта редиректів, опис маппінгу, схема БД
Доступи Адміністративна панель, FTP/SSH, API-ключі
Навчання Відеоуроки або консультація з роботи з Бітрікс
Підтримка 2 тижні постміграційного моніторингу та фіксу багів
Гарантія Повернення до старого сайту протягом 48 годин при форс-мажорі

Міграція інтеграцій

Зовнішні інтеграції — окремий пласт. Ми перепідключаємо:

  • Платіжні системи — sale.paysystem зі збереженням історії транзакцій.
  • Доставка — налаштування sale.delivery.handler (СДЕК, Укрпошта).
  • CRM — прив'язка до Бітрікс24 або збереження поточної через REST API.
  • 1С — налаштування обміну через CommerceML. Часто це головна причина міграції на Бітрікс.
  • Email-маркетинг — перенесення підписників, шаблонів, вебхуків.
  • Аналітика — e-commerce tracking під нову структуру dataLayer.

Типові помилки при міграції

Кожна з цих помилок призводила до втрати позицій і клієнтів.

Втрата URL без редиректів — найруйнівніший промах. /product/123 замість /catalog/item-name.html — без 301 це масові 404 та обвал трафіку. Ми генеруємо карту автоматично і перевіряємо кожен редирект після перемикання.

Дублювання контенту: один товар доступний з www і без, по HTTP і HTTPS, з GET-параметрами фільтрації — п'ять URL замість одного. SEO-вага розмивається. Налаштовуємо canonical, 301 для варіацій, robots.txt з Disallow для параметрів.

Биті зображення: абсолютні URL в контенті (src="https://old-site.ru/img/photo.jpg"), втрата якості при перетисканні. Замінюємо на відносні шляхи, переносимо зі збереженням структури, перевіряємо HTTP 200 для кожного файлу.

Втрата мета-тегів і мікророзмітки: title, description, Schema.org можуть не перенестися або перенестися криво. Робимо повний маппінг і перевірку на staging.

Відвалені форми та інтеграції: змінилися ID, API-ключі, вебхуки. Складаємо реєстр усіх інтеграцій до початку і перевіряємо кожну після.

Мобільна версія: старий m.site.ru → адаптивний Бітрікс. Без редиректу мобільних URL — 404 для мобільних користувачів. Враховуємо в карті редиректів.

Перед міграцією обов'язково: 1) повне сканування Screaming Frog / Sitebulb; 2) експорт SEO (title, description, h1, canonical, hreflang); 3) фіксація позицій за ключовими запитами; 4) бекап файлів і БД з перевіркою відновлення; 5) реєстр усіх інтеграцій; 6) карта редиректів для кожної проіндексованої сторінки; 7) тестова міграція на staging з повною перевіркою; 8) коректна мобільна версія та редиректи з m.site.ru; 9) нова sitemap.xml готова до подачі; 10) план відкату: DNS збережені, конфіг задокументовано, доступ до старого хостингу є.

Терміни та економія

Тип проєкту Терміни Коментар
Інформаційний сайт (до 500 стор.) 2–4 тижні Контент + дизайн + редиректи
Інтернет-магазин (до 10 000 товарів) 4–8 тижнів Каталог + замовлення + інтеграції
Великий магазин (100 000+ товарів) 2–4 місяці Кастомні скрипти + навантажувальне тестування

Економія: після міграції ви перестаєте платити за ліцензію старої CMS та підтримку застарілого коду. Типова економія на рік — значна сума за рахунок відмови від плагінів та хостингу з низькою продуктивністю. Додайте сюди вартість ліцензії 1С-Бітрікс (редакція «Бізнес») — вона повністю окупається в перший місяць.

Отримайте консультацію з міграції: заповніть форму на сайті, і ми підготуємо пропозицію за 1 день. Оцінимо ваш проєкт безкоштовно — напишіть нам для розрахунку.