Перенесення сайту з 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 за директоріями сайту.
Як перенести контент без втрат?
Основна маса даних — статті. Схема перенесення:
- Читаємо
jos_contentJOINjos_categories— отримуємо статтю з шляхом категорії. - Створюємо розділ інфоблоку через
CIBlockSection::Add()якщо він ще не створений (зберігаємо маппінгcatid → SECTION_ID). - Створюємо елемент інфоблоку через
CIBlockElement::Add():NAME = title,PREVIEW_TEXT = introtext,DETAIL_TEXT = fulltext,CODE = alias,ACTIVE_FROM = created. - Мета-теги прописуємо у властивості елемента або через модуль
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 рази завдяки вбудованій системі кешування.







