Статья

Поддержка сайта на ModX: особенности сопровождения

20 июня 202614 мин чтения
Амиржан Тажин
Амиржан Тажин

Директор Точка KZ

ModX — CMS для тех, кому важен полный контроль над выводом кода и структурой сайта. Обратная сторона этой гибкости — почти вся функциональность пишется индивидуально, поэтому поддержка ModX сильно отличается от сопровождения «коробочных» CMS с готовыми плагинами. Разбираем ключевые нюансы.

Особенности сопровождения ModX

Поддержка держится на кастомном коде

Функциональность сайта на ModX часто реализована через чанки и сниппеты, написанные конкретным разработчиком — без документации в них сложно разобраться другому специалисту.

Меньше специалистов, чем по популярным CMS

ModX распространён точечно, в основном в русскоязычном сегменте — найти разработчика, который быстро разберётся в конкретном проекте, сложнее, чем для WordPress.

Два разных дистрибутива: Evolution и Revolution

Старые сайты на ModX Evolution требуют иного подхода к поддержке, чем актуальный ModX Revolution — это важно учитывать при оценке объёма работ.

Безопасность зависит от качества кастомного кода

У ModX нет такой обширной системы уведомлений об уязвимостях, как у крупных CMS — риски чаще связаны с качеством написанных под проект сниппетов, а не с самим ядром.

Нет автоматических обновлений, как в WordPress

Обновление ядра и системных пакетов обычно выполняется вручную — это требует внимания и проверки совместимости с кастомными доработками.

Остались вопросы?

Каждый проект имеет свои особенности. Напишите нам — разберём вашу ситуацию и подскажем, с чего лучше начать.

Задать вопрос

Плюсы и минусы поддержки на ModX

Плюсы

  • Гибкая архитектура упрощает поддержку нестандартных решений
  • Меньше сторонних зависимостей — меньше рисков от чужих плагинов
  • Чистый, предсказуемый код при аккуратной изначальной разработке

Минусы

  • Специалистов по ModX меньше, чем по популярным CMS
  • Качество поддержки сильно зависит от документации предыдущего разработчика
  • Нет крупной экосистемы готовых решений на все случаи

Если сайт на ModX ещё предстоит создать, особенности разработки на этой CMS разбираем в статье «Создание сайта на ModX».

Практические рекомендации

Требуйте документацию по чанкам и сниппетам

При смене подрядчика или начале сопровождения запрашивайте описание кастомной логики — без него диагностика занимает намного больше времени.

Тестируйте обновления системных пакетов

Перед обновлением ядра ModX проверяйте, что кастомные сниппеты продолжают работать корректно — автоматической проверки совместимости здесь нет.

Уточняйте версию дистрибутива

Перед началом сопровождения выясните, ModX Evolution это или Revolution — от этого зависят инструменты и подходы к поддержке.

Из чего состоит сайт на ModX и что в нём нужно обслуживать

ModX Revolution — гибкая система, в которой нет жёсткой привязки к готовым шаблонам. Сайт собирается из элементов, у каждого из которых своя зона ответственности. Понимание этой структуры помогает разобраться, за что именно платит заказчик при сопровождении.

Элементы сайта на ModX и что контролируется при сопровождении
Элементы сайта на ModX и что контролируется при сопровождении
ЭлементДля чего нуженЧто проверяем при обслуживании
РесурсыСтраницы и документы сайтаКорректность структуры, отсутствие дублей, ссылки
ШаблоныКаркас вывода страницСовместимость с версией ядра и PHP
ЧанкиПовторяющиеся фрагменты вёрсткиПравки через панель, история изменений
СниппетыPHP-код, выводящий данныеОшибки в журнале, производительность запросов
Дополнительные поля (TV)Структурированные данные страницыАктуальность и использование полей
Дополнения (пакеты)Готовые расширения из каталогаВерсии, совместимость, заброшенные пакеты

Структура типична для проектов на ModX Revolution.

Главная особенность: значительная часть логики хранится в базе данных, а не в файлах. Чанки и сниппеты редактируются прямо в панели управления, поэтому резервное копирование должно охватывать не только файлы сайта, но и базу.

Регламент сопровождения сайта на ModX

Регламент сопровождения сайта на ModX
Регламент сопровождения сайта на ModX
РаботаПериодичностьЧто фиксируем
Мониторинг доступностиКруглосуточно, проверка каждые 1–5 минутВремя ответа, коды ошибок, срок SSL
Резервное копирование файлов и базыРаз в неделю или ежедневноРазмер копии, успешность и возможность восстановления
Обновление дополненийРаз в месяцВерсии пакетов, отсутствие конфликтов
Обновление ядраПо выходу релизов безопасностиТестирование на копии перед установкой
Просмотр журнала ошибокРаз в неделюПовторяющиеся предупреждения и ошибки сниппетов
Очистка кэша и проверка скоростиРаз в кварталРазмер кэша, время генерации страниц
Ревизия пользователей и правРаз в полгодаНеактивные учётные записи, лишние права

Периодичность зависит от тарифа и критичности сайта.

Обновления ядра на ModX всегда проверяются на тестовой копии. Чаще всего проблемы возникают из-за сторонних пакетов, которые не успели адаптировать под новую версию.

Ветки 2.x и 3.x: как работать с версиями

Долгое время ModX Revolution развивался в ветке 2.x, затем вышла версия 3 с современной структурой кода и поддержкой актуальных версий PHP. Для сопровождения это означает две разные ситуации.

Сайт на ветке 2.x

Такие сайты работают стабильно, пока сервер использует поддерживаемую версию PHP. Основной риск — когда хостинг прекращает поддержку старых версий языка, и сайт приходится срочно адаптировать. Поэтому подрядчик должен заранее проверять совместимость с планируемыми обновлениями сервера.

Переход на ветку 3.x

Переход — отдельный проект, а не обычное обновление. Нужно проверить каждый установленный пакет, адаптировать собственные сниппеты и протестировать все сценарии. На небольшом сайте это занимает от нескольких дней до пары недель, на крупном порталe — больше.

Безопасность сайта на ModX

Рекомендации по безопасности сайта на ModX
Рекомендации по безопасности сайта на ModX
ПараметрРекомендацияЗачем это нужно
Адрес панели управленияСменить стандартный путьСнижает число автоматических попыток входа
Каталог ядраВынести за пределы публичной папкиИсключает прямой доступ к служебным файлам
Права на файлы и папкиМинимально необходимыеОграничивают возможности вредоносного кода
Учётные записиОтдельный логин для каждого редактораПрозрачная история изменений
ПаролиОт 12 символовЗащита от подбора
Резервные копииХранение вне сервера, 30 днейВозможность отката после взлома

Рекомендации универсальны и подходят для большинства проектов.

Отдельное внимание — сниппетам, которые обрабатывают данные из форм. Они должны проверять и очищать любые вводимые значения, иначе сайт становится уязвимым для внедрения вредоносных запросов.

Производительность: как ускорить сайт на ModX

ModX известен хорошей скоростью при правильной настройке кэширования. Но неудачно написанные сниппеты способны свести это преимущество на нет.

  • Включить кэширование ресурсов и вызывать сниппеты в кэшируемом режиме там, где данные не меняются каждую секунду.
  • Убрать тяжёлые запросы к базе из часто открываемых страниц или кэшировать результат.
  • Сжимать изображения и использовать современные форматы.
  • Отключать неиспользуемые пакеты и плагины, срабатывающие на каждый запрос.
  • Следить за размером кэша и регулярно его очищать.
Целевые показатели скорости сайта на ModX
Целевые показатели скорости сайта на ModX
ПоказательЦелевое значение
Время генерации страницы на сервереДо 0,3–0,5 секунды
Время загрузки на мобильном соединенииДо 3 секунд
Число запросов к базе на страницеДо 30–50

Значения зависят от сложности страницы и мощности сервера.

Тарифы на сопровождение

Тарифы на сопровождение сайта на ModX
Тарифы на сопровождение сайта на ModX
ТарифСтоимостьРезервное копированиеПравки в месяцМониторинг
Базовыйот 30 000 ₸/мес1 раз в неделюДо 1 часа24/7
Стандартот 70 000 ₸/месЕжедневноДо 4 часов24/7
Премиумпо договоруБэкапы и мгновенное восстановлениеРасширенный объём24/7, выделенный специалист

Подробные условия — на странице услуги «Техническое сопровождение сайтов».

Сайты на ModX часто содержат уникальный код, поэтому оценка проводится индивидуально после аудита. Подробнее об услуге — на странице сопровождения сайтов.

Чек-лист передачи сайта на ModX на сопровождение

  1. Получите доступы к панели управления, хостингу, базе данных и домену.
  2. Сделайте полную копию сайта и проверьте, что она разворачивается на тестовом адресе.
  3. Составьте список установленных пакетов с версиями и авторами.
  4. Проверьте журнал ошибок и зафиксируйте текущие предупреждения.
  5. Выясните версию ядра и PHP и оцените, насколько актуальны обе.
  6. Согласуйте регламент, сроки реакции и канал для обращений.

Эта процедура занимает от нескольких часов до нескольких дней и позволяет сразу увидеть риски. Без неё подрядчик принимает сайт «вслепую», а проблемы вскрываются только после первой аварии.

Когда сайт на ModX стоит доработать или переделать

  • Сайт работает на устаревшей ветке ядра, а ключевые пакеты больше не обновляются.
  • Каждая правка занимает непропорционально много времени из-за неструктурированного кода.
  • Бизнесу нужны возможности, которые невозможно реализовать на текущей архитектуре.
  • Сайт медленно открывается, а оптимизация не даёт результата.

В большинстве случаев сначала проводится аудит, а уже потом принимается решение: доработка, переход на новую версию или создание нового сайта. Подробнее о разработке — в статье «Создание сайта на ModX».

Особенности резервного копирования сайта на ModX

Копирование сайта на ModX устроено сложнее, чем у систем с единой базой и папкой файлов. Во-первых, нужно сохранять и файлы, и базу данных, причём в одном временном срезе: если файлы скопированы утром, а база вечером, при восстановлении возможны расхождения. Во-вторых, ядро системы может лежать вне публичной папки, и многие автоматические копировщики его просто не видят.

Что должна включать полная резервная копия сайта на ModX
Что должна включать полная резервная копия сайта на ModX
КомпонентГде хранитсяЗачем копировать
Публичная папка сайтаКорень хостингаШаблоны, изображения, загруженные файлы
Каталог ядраВне публичной папки или внутри неёКод системы и подключённых пакетов
База данныхСервер баз данныхСтраницы, чанки, сниппеты, пользователи
Конфигурационные файлыПапки ядра и кореньПодключение к базе, пути, ключи
Серверные настройкиПанель хостингаВерсия PHP, расписание задач, почта

Копия без любого из этих компонентов не гарантирует полного восстановления.

Раз в квартал стоит проверять восстановление: развернуть копию на отдельном адресе и убедиться, что сайт открывается, формы работают, а панель управления доступна. Копия, которую ни разу не пытались восстановить, остаётся предположением, а не гарантией.

Работа с пакетами и дополнениями

Пакеты — основной способ расширять возможности ModX, и одновременно главный источник проблем при обновлениях. Обычно сайт использует 10–20 дополнений: выборки, формы, фильтры, редакторы, магазин. Каждое из них развивается независимо, и обновление одного может потребовать обновления другого.

Реестр пакетов

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

Порядок обновления

Пакеты обновляют по одному, начиная с тех, от которых зависят другие. После каждого шага проверяют ключевые страницы и журнал ошибок. Если что-то ломается, откат выполняется на уровне одного пакета, а не всего сайта.

Замена заброшенных пакетов

Если пакет не развивается и мешает обновлению ядра, его заменяют либо аналогом, либо небольшим собственным сниппетом. Решение принимают по трудоёмкости: иногда проще написать сто строк кода, чем тащить за собой устаревшее дополнение.

Что входит в отчёт по сопровождению

Хороший отчёт читается за пять минут и отвечает на три вопроса: что сделано, что найдено и что требуется от заказчика. Он нужен не для формальности, а чтобы руководитель компании видел, как работает сайт и за что он платит.

  • Список выполненных обновлений ядра и пакетов с указанием версий.
  • Результаты проверки доступности: процент времени работы и зафиксированные сбои.
  • Состояние резервных копий и дата последней проверки восстановления.
  • Найденные проблемы безопасности и принятые меры.
  • Рекомендации на следующий месяц с оценкой трудоёмкости.

Что запомнить

Сайты на ModX требуют внимания к пакетам, резервным копиям базы и конфигурации. Договоритесь с подрядчиком о регламенте, проверяйте восстановление из копий и ведите реестр установленных дополнений. Тогда обновления проходят без неожиданностей.

Частые вопросы

Чем поддержка ModX отличается от поддержки WordPress?

На ModX меньше готовых решений и автоматизации — функциональность обычно написана индивидуально под проект, поэтому поддержка требует изучения конкретного кода, а не типовых инструкций.

Сколько стоит поддержка сайта на ModX?

Стоимость зависит от объёма кастомной логики и наличия документации. Ориентир по тарифам — на странице услуги «Техническое сопровождение сайтов».

Можно ли передать сайт на ModX на поддержку другому подрядчику?

Да, но для этого важно иметь доступы, документацию и исходный код чанков и сниппетов — без них новому подрядчику придётся начинать с полного аудита сайта.

Поддержка сайта на ModX — это прежде всего работа с конкретным кастомным кодом, а не с типовыми настройками CMS. Если у сайта накопилось много недокументированной логики, поддержка ближе по духу к сопровождению самописного сайта, чем к обслуживанию WordPress или Joomla.

Нужен аудит или передача сайта на ModX на сопровождение? Подробнее — на странице услуги «Техническое сопровождение сайтов».

Бесплатная консультация

Расскажите о задаче — найдём решение

Ответим в течение 2 часов в рабочее время.