Переезд с MODX на 1С-Битрикс: полный разбор процесса
Мы часто берём проекты, где MODX перестаёт справляться с ростом бизнеса. Типичная ситуация: клиент жалуется на медленную интеграцию с 1С (через сторонние компоненты), отсутствие встроенной CRM и ограниченный функционал интернет-магазина — при каталоге в 10 000 товаров miniShop2 начинает тормозить. Переход на 1С-Битрикс решает эти задачи, но требует чёткого плана и глубокого понимания обеих систем. Миграция под ключ включает аудит, полный перенос данных, настройку 301-редиректов и обучение команды. Сроки — от 7 до 11 рабочих дней, точная стоимость рассчитывается после аудита.
Полный процесс переноса данных с MODX Revolution на 1С-Битрикс предусматривает сохранение всех позиций и данных. Грамотная миграция сокращает время на разработку типового функционала на 40–60% благодаря готовым интеграциям через CommerceML.
Модель данных MODX Revolution
MODX хранит контент в таблицах с префиксом modx_. Ключевые таблицы:
-
modx_site_content — все ресурсы: страницы, статьи, папки. Поля: id, pagetitle, longtitle, alias, content, introtext, parent, template, published, publishedon, createdby, createdon, menutitle, description, content_type, uri.
-
modx_site_tmplvar_contentvalues — значения TV-переменных для ресурсов: tmplvarid, contentid, value.
-
modx_site_tmplvars — определения TV-переменных: name, caption, type, elements, default_text.
-
modx_site_templates — шаблоны.
-
modx_users, modx_user_attributes — пользователи.
-
modx_categories — категории сниппетов/чанков.
Для магазинов на miniShop2 добавляются таблицы msProduct, msProductOption, msCategory, msOrder, msOrderProduct. Понимание этой схемы — основа для корректного маппинга в инфоблоки Битрикс.
Дерево страниц MODX → структура Битрикс
MODX строит сайт как дерево ресурсов. В Битрикс структура определяется физическими файлами в директориях плюс административная часть. Статические страницы (корпоративный сайт, «О компании», «Контакты») переносятся двумя способами:
-
Страницами Битрикс — создаём PHP-файлы в нужных папках, контент прописываем через
$APPLICATION->SetPageProperty() и компоненты.
-
Элементами инфоблока — если страниц много и они однотипные (блог, новости).
TV-переменные → свойства инфоблока
TV-переменные (Template Variables) — аналог свойств инфоблока. Маппинг типов:
| TV-тип MODX |
Свойство Битрикс |
| text |
Строка |
| textarea / richtext |
HTML/текст |
| image |
Файл (изображение) |
| file |
Файл |
| listbox-multiple / checkbox |
Список (множественное) |
| date |
Дата/время |
| number |
Число |
На типовом проекте бывает до 50 TV-переменных. Мы автоматически читаем их определения и создаём соответствующие свойства инфоблока.
Процесс переноса контента
Скрипт на PHP последовательно обрабатывает ресурсы MODX:
- Определяет раздел инфоблока по
parent (рекурсивно строится дерево разделов).
- Собирает TV-значения через JOIN таблиц
modx_site_tmplvar_contentvalues и modx_site_tmplvars.
- Создаёт элемент инфоблока через
CIBlockElement::Add().
Поле uri в MODX — готовый ЧПУ-адрес. Сохраняем его как CODE элемента и формируем 301-редиректы.
Изображения. В TV-переменных типа image хранятся пути вида /assets/images/photo.jpg. Копируем файлы на сервер Битрикс и регистрируем через CFile::MakeFileArray().
miniShop2 → Битрикс Каталог
Если на MODX установлен miniShop2:
-
msProduct (JOIN к modx_site_content) → элементы инфоблока каталога.
-
msProductOption — опции товара (цвет, размер) → торговые предложения.
-
msCategory → разделы инфоблока.
-
msOrder / msOrderProduct → b_sale_order / b_sale_basket.
- Цены из
msProduct.price → b_catalog_price с нужным типом цены.
Битрикс выигрывает у MODX в интеграциях с 1С в 3–5 раз быстрее за счёт штатных механизмов CommerceML.
Преимущества миграции на Битрикс
Битрикс предоставляет готовую CRM, бизнес-процессы, интеграцию с 1С и маркетплейсами. MODX таких возможностей не имеет — их приходится реализовывать сторонними решениями. Переход на Битрикс сокращает время на разработку типового функционала на 40–60%.
Чанки, сниппеты и шаблоны
Чанки (modx_site_htmlsnippets) и сниппеты (modx_site_snippets) — это код шаблонизатора MODX (Smarty/Twig или нативный PHP). Они не переносятся автоматически. Весь функционал реализуется заново через компоненты Битрикс. Это самый трудоёмкий этап, если сайт использовал сложные сниппеты (pdoMenu, pdoPage, FormLister).
Пример маппинга структуры
Допустим, в MODX есть TV gallery типа image. В Битрикс мы создаём свойство GALLERY типа «Файл (множественное)». Скрипт читает все значения, копирует изображения и прикрепляет к элементу инфоблока.
SEO-редиректы
MODX при включённых friendly_urls строит URL по полю uri. Если использовался AliasListing — URL мог включать полный путь из дерева. Мы собираем маппинг old_uri → new_url и прописываем редиректы. Согласно документации 1С-Битрикс, модуль «Поисковая оптимизация» позволяет управлять редиректами без программирования.
Что входит в работу
- Полный аудит структуры MODX: ресурсы, TV, расширения, miniShop2.
- Проектирование инфоблоков и маппинг полей.
- Разработка скрипта миграции: контент, TV, изображения, заказы.
- Перенос и настройка торговых предложений (если применимо).
- Настройка 301-редиректов и проверка индексации.
- Обучение команды работе в Битрикс.
- Поддержка в течение 30 дней после запуска.
Сроки ориентировочно
| Этап |
Типовые сроки |
| Аудит структуры MODX, TV, расширений |
1 день |
| Проектирование инфоблоков и маппинг TV |
1 день |
| Разработка скрипта миграции контента |
2–3 дня |
| miniShop2 (при наличии) |
2–4 дня |
| Изображения и медиафайлы |
1 день |
| Редиректы и SEO |
1 день |
| Тестирование |
1 день |
| Итого |
7–11 рабочих дней |
Без miniShop2 миграция с MODX достаточно быстрая — структура данных понятная, TV хорошо маппятся на свойства инфоблока. Оценим ваш проект бесплатно — свяжитесь с нами для консультации.
Миграция сайтов на 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 и поддержку устаревшего кода. Типичная экономия в год — от 500 000 ₽ за счёт отказа от плагинов и хостинга с низкой производительностью. Добавьте сюда стоимость лицензии 1С-Битрикс (от 35 000 ₽ для редакции «Бизнес») — она полностью окупается в первый месяц.
Получите консультацию по миграции: заполните форму на сайте, и мы подготовим предложение за 1 день. Оценим ваш проект бесплатно — напишите нам для расчёта.