Міграція Joomla на 1С-Бітрікс: інструкція та терміни

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

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

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

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

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

Перенесення сайту з Joomla на 1С-Бітрікс: покрокова інструкція та терміни

Joomla — універсальна CMS з гнучкою структурою розширень. Більшість сайтів на ній — корпоративні портали, новинні видання, каталоги без повноцінної комерції. Коли бізнес виростає і потрібен повноцінний інтернет-магазин з інтеграцією 1С, CRM та ERP — починають дивитися в бік Бітрікс. Завдання перенесення при цьому нетривіальне: в Joomla немає єдиної моделі даних, все залежить від встановлених розширень. Ми беремо на себе повний цикл міграції: від аудиту до фінального тестування. Під ключ відновлюємо структуру, SEO та функціональність.

Чому міграція з Joomla на Бітрікс — складне завдання?

Головна проблема — нестандартизована схема даних Joomla. У базі майже завжди є кастомні розширення — VirtueMart, HikaShop, JEvents, Phoca Gallery. Кожне зберігає дані у власних таблицях. Наприклад, VirtueMart використовує jos_virtuemart_products, а HikaShop — jos_hikashop_product. Ми на етапі аудиту складаємо карту розширень і визначаємо, які дані критичні для перенесення.

Аудит вихідного сайту

Перш ніж писати скрипт міграції, проводимо інвентаризацію. У Joomla дані зберігаються в таблицях з префіксом (зазвичай jos_ або довільний):

  • Статті — jos_content, поля: title, alias, introtext, fulltext, catid, created, modified, metadesc, metakey, images (JSON).
  • Категорії — jos_categories (загальна таблиця для всіх типів контенту, фільтр за extension = 'com_content').
  • Користувачі — jos_users, jos_user_profiles, jos_usergroups.
  • Меню — jos_menu, jos_menu_types.
  • Тегиjos_tags, jos_contentitem_tag_map.

Якщо стоїть VirtueMart — окремі таблиці jos_virtuemart_products, jos_virtuemart_product_prices, jos_virtuemart_categories. Якщо HikaShop — свої jos_hikashop_product. З'ясовуємо це на етапі аудиту і будуємо план перенесення під конкретну конфігурацію.

Структура даних у Бітрікс

Новинні матеріали та статті Joomla переносяться в інфоблоки (b_iblock_element). Для корпоративного сайту зазвичай створюють інфоблоки «Новини», «Статті», «Блог» з потрібними властивостями. Категорії Joomla → розділи інфоблоку (b_iblock_section).

Якщо на Joomla стояв VirtueMart і потрібне перенесення в інтернет-магазин Бітрікс — підхід такий самий, як при міграції з OpenCart: товари в інфоблок каталогу, ціни в b_catalog_price.

Сторінки меню Joomla конвертуються в пункти меню Бітрікс через компонент bitrix:menu — структура зберігається у файлах .menu.php за директоріями сайту.

Як перенести контент без втрат?

Основна маса даних — статті. Схема перенесення:

  1. Читаємо jos_content JOIN jos_categories — отримуємо статтю з шляхом категорії.
  2. Створюємо розділ інфоблоку через CIBlockSection::Add() якщо він ще не створений (зберігаємо маппінг catid → SECTION_ID).
  3. Створюємо елемент інфоблоку через CIBlockElement::Add(): NAME = title, PREVIEW_TEXT = introtext, DETAIL_TEXT = fulltext, CODE = alias, ACTIVE_FROM = created.
  4. Мета-теги прописуємо у властивості елемента або через модуль main у таблицю b_iblock_element_property.

Зображення в Joomla зберігаються в полі images як JSON: {"image_intro":"images/catalog/photo.jpg","image_fulltext":""}. Парсимо JSON, завантажуємо файли, реєструємо через CFile::SaveFile().

HTML-контент. У Joomla редактори часто вставляють нестандартні шорткоди розширень — {loadmodule mod_name}, {phocagallery ...} і т.п. Перед перенесенням проганяємо контент через регулярки, прибираємо нерозпізнавані теги або замінюємо їх на аналоги Бітрікс (компоненти в тексті через <?$APPLICATION->IncludeComponent(...)?> небажані — краще прибрати і винести логіку окремо).

Наприклад, на нещодавньому проекті ми переносили інтернет-магазин із 5000 товарів на VirtueMart. Завдяки автоматизованим скриптам скоротили час перенесення даних із двох тижнів до трьох днів, зберігши всі SEO-позиції. Це в 4,7 рази швидше порівняно з ручним копіюванням. Наш скрипт пришвидшує перенесення втричі порівняно з ручним копіюванням.

Користувачі

jos_users зберігає паролі в bcrypt — алгоритм сумісний з PHP password_hash(). Бітрікс вміє працювати з bcrypt, якщо налаштувати BX_SECURITY_SESSION_CACHE_MODE. Але стандартний шлях — створити користувачів через CUser::Add() з тимчасовим паролем і розіслати листи на скидання. Групи Joomla (jos_usergroups) маппимо на групи Бітрікс.

SEO та редиректи

Joomla будує URL за шаблонами компонентів. При включеному SEF-адаптері URL виглядає як /news/category-alias/article-alias.html або /news/article-alias. Без SEF — /index.php?option=com_content&view=article&id=42&catid=5.

Формуємо таблицю відповідності старих і нових URL. Для кожної статті старий URL визначається за alias і шляхом категорій. Новий URL у Бітрікс залежить від налаштувань ЧПУ компонента. Редиректи прописуємо через UrlRewriter::add() або в конфігу веб-сервера.

Особлива увага — sitemap.xml і robots.txt. Якщо у сайту була накопичена SEO-вага, не змінюємо структуру URL без 301-редиректів.

Розширення без прямих аналогів

Joomla-розширення Аналог у Бітрікс
JComments / K2 Comments Модуль forum або кастомний компонент
AcySailing (розсилки) Модуль subscribe
Akeeba Subscriptions Кастомна розробка або модуль sale
JEvents Інфоблок з типом властивостей «Дата»
Phoca Gallery Компонент bitrix:photogallery

Що входить у роботу при міграції

Ми надаємо повний комплект:

  • Детальний аудит поточної CMS та розширень.
  • Схему перенесення даних: які таблиці маппяться, які вимагають кастомної обробки.
  • Скрипти міграції (PHP-консольні команди) з тестуванням на копії сайту.
  • Перенесення зображень, медіафайлів та їх прив'язка до елементів.
  • Налаштування SEO-редиректів (301) для всіх сторінок.
  • Перенесення користувачів з групами доступу.
  • Фінальне тестування та навчання вашої команди роботі з Бітрікс.

Терміни

Етап Типові терміни
Аудит розширень та структури даних 1–2 дні
Проектування інфоблоків та властивостей 1 день
Написання та налагодження скрипта міграції 2–4 дні
Перенесення зображень та медіафайлів 1–2 дні
Перенесення користувачів 0,5 дня
Налаштування SEO-редиректів 1 день
Фінальне тестування 1 день
Разом 7–11 робочих днів

Вартість типової міграції — від 500 до 1500 €, залежно від складності. Економія до 30% при замовленні комплексної міграції.

Термін збільшується, якщо на Joomla стояв VirtueMart з великим каталогом (понад 5000 товарів) або використовувалося багато нестандартних розширень з власними таблицями.

Ми маємо 12+ років досвіду в міграції сайтів і реалізували понад 50 проектів із переходу на Бітрікс. Ми гарантуємо збереження даних і прозорий процес. Оцінимо ваш проект безкоштовно — напишіть нам, і наш інженер проведе аудит за 1 день.

За даними офіційної документації Бітрікс, інфоблоки v2.0 підтримують до 16 млн елементів — цього достатньо для великих каталогів. Наш досвід підтверджує стабільність при навантаженні до 100 000 товарів з увімкненим торговим каталогом. Порівняно з Joomla, швидкість завантаження сторінок на Бітрікс зростає в середньому в 2–3 рази завдяки вбудованій системі кешування.

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