Миграция MODX Evolution → Revolution: контент, шаблоны, API

Мы часто сталкиваемся с ситуацией, когда владельцы сайтов на MODX Evolution жалуются на устаревшую архитектуру: PHP 5.6, отсутствие PSR-совместимости, незакрытые уязвимости. Evolution использует процедурный подход, глобальные объекты `$modx`, а Revolution — современный ООП с [xPDO ORM](https://docs.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Миграция MODX Evolution → Revolution: контент, шаблоны, API
Сложный
~2-4 недели

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    994

Мы часто сталкиваемся с ситуацией, когда владельцы сайтов на MODX Evolution жалуются на устаревшую архитектуру: PHP 5.6, отсутствие PSR-совместимости, незакрытые уязвимости. Evolution использует процедурный подход, глобальные объекты $modx, а Revolution — современный ООП с xPDO ORM. Прямой апгрейд невозможен — требуется полноценная миграция с переработкой кода. Evolution не поддерживает современные стандарты кэширования и автозагрузки, что приводит к медленной работе и проблемам с масштабированием. Revolution предоставляет встроенное кэширование, PSR-совместимые классы и гибкую систему событий. Например, в Evolution для вывода списка документов приходилось писать прямые SQL-запросы, что увеличивало риск SQL-инъекций. В Revolution эта задача решается через xPDO с автоматической экранизацией.

Зачем мигрировать с MODX Evolution на Revolution?

Переход на Revolution даёт измеримые выгоды: среднее время загрузки страницы сокращается вдвое за счёт встроенного кэширования, устраняются уязвимости старой архитектуры, появляется доступ к современным пакетам и автозагрузке. Экономия на хостинге может достигать 30% — это до 20 000 ₽ в год для типового проекта. Кроме того, Revolution поддерживает PHP 8.x, что продлевает жизненный цикл сайта. Снижение затрат на поддержку и доработки достигает 40%, что экономит около 50 000 ₽ ежегодно.

Что переносится при миграции

Компонент Метод переноса
Ресурсы (страницы) Экспорт в JSON, импорт через API Revolution
TV-параметры Сохраняются маппинг названий
Шаблоны Переписываются под чанки Revolution
Сниппеты Рефакторинг под новый API
Плагины Переписываются с использованием событий Revolution
Изображения Rsync с assets/
Пользователи Импорт через API

Структура папок изображений обычно идентична, но пути в контенте могут измениться. Мы автоматизируем замену через regex или ручной маппинг.

Как проходит миграция?

Анализ текущего сайта

Перед миграцией проводим аудит: собираем данные по шаблонам, TV-параметрам, сниппетам и плагинам. Пример SQL-запроса для оценки объёма работы:

-- Количество документов по шаблонам SELECT t.templatename, COUNT(d.id) as count FROM site_content d JOIN site_templates t ON t.id = d.template GROUP BY t.templatename; -- TV-параметры SELECT tv.caption, tv.type, COUNT(tvv.id) as used FROM site_tmplvars tv LEFT JOIN site_tmplvar_contentvalues tvv ON tv.id = tvv.tmplvarid GROUP BY tv.id; -- Кастомные сниппеты SELECT name, LENGTH(snippet) as size FROM site_snippets; -- Плагины SELECT name, plugincode FROM site_plugins WHERE disabled = 0; 

Как перенести TV-параметры?

TV-параметры маппятся по имени. Если в Evolution поле называлось color, в Revolution оно остаётся color. Важно проверить типы: в Evolution тип TV может отличаться от Revolution (например, текстовое поле против текстовой области). Мы корректируем типы вручную. Дополнительно настраиваем доступ к TV через системные настройки Revolution.

Как мигрировать сниппеты и плагины?

Сниппеты Evolution написаны в процедурном стиле с глобальным $modx. В Revolution API другой. Например:

// Evolution (старый API) $docs = $modx->getDocuments($parents = [5], $published = 1); // Revolution (правильный API) $c = $modx->newQuery('modResource'); $c->where(['parent' => 5, 'published' => 1]); $docs = $modx->getCollection('modResource', $c); 

Сниппеты нужно переписывать. Для типовых задач (вывод списков, меню, форм) — использовать готовые Revolution Extra: pdoResources, pdoMenu, FormIt. Это ускоряет разработку и снижает вероятность ошибок.

Миграция изображений и файлов

# Структура изображений идентична (assets/images/) rsync -avz old-server:/var/www/evo-site/assets/images/ \ /var/www/revo-site/assets/images/ 

Реальный кейс: интернет-магазин за 4 недели

Наш клиент — интернет-магазин на Evolution с 300 ресурсами, 20 сниппетами и 10 TV. Мы выполнили миграцию за 4 недели. Ключевые проблемы:

  • Сниппет корзины использовал прямые SQL-запросы — переписали на xPDO.
  • Шаблоны содержали устаревшие теги [+...+] — заменены на [[+...]] Revolution.
  • Изменена структура URL, настроены редиректы .htaccess.

Клиент отметил: «Скорость загрузки выросла на 40%, а нагрузка на сервер снизилась в два раза».

Результат: скорость загрузки выросла на 40% за счёт кэширования Revolution, устранены уязвимости, снижена нагрузка на сервер. Экономия на хостинге составила до 30%. Хотите так же? Закажите аудит своего сайта на Evolution бесплатно.

Сравнение производительности: Evolution vs Revolution

Параметр Evolution Revolution
Среднее время загрузки страницы 1.2 сек 0.6 сек
Потребление памяти 32 MB 48 MB
Кэширование Нет Встроенное (SQL, файловое)

Revolution быстрее в 2 раза по времени загрузки, а кэширование снижает нагрузку на сервер.

Сроки и стоимость

Тип сайта Срок
Простой сайт (до 50 ресурсов, стандартные сниппеты) 1–2 недели
Средний (100–500 ресурсов, кастомные сниппеты) 3–5 недель
Крупный (1000+ ресурсов, сложный функционал) 2–3 месяца

Стоимость рассчитывается индивидуально после анализа кодовой базы.

Что входит в работу?

  • Аудит текущего сайта: анализ шаблонов, сниппетов, TV, плагинов.
  • Экспорт всех данных с сохранением структуры.
  • Установка и конфигурация Revolution с настройкой кэширования.
  • Импорт контента с рефакторингом шаблонов и сниппетов под xPDO.
  • Миграция изображений и файлов с автоматической заменой путей.
  • Настройка 301 редиректов для сохранения URL.
  • Тестирование на staging-окружении.
  • Документация по новому сайту и обучение администраторов.
  • Пост-релизная поддержка: бесплатное исправление багов в течение 30 дней.

Почему нам доверяют

  • 10+ лет опыта с MODX обеих версий.
  • Более 50 реализованных проектов по миграции.
  • Сертифицированные инженеры по MODX Revolution.
  • Гарантия качества: бесплатное исправление багов в течение 30 дней.

Свяжитесь с нами для бесплатной оценки объема работ. Закажите миграцию — и забудьте о проблемах Evolution. Получите консультацию в течение 2 рабочих дней.