Перейти к основному содержимому

CDN для MODX Revolution

Проверено на MODX Revolution 2.8.9-pl и 3.2.4-pl, PHP 8.3. Минимум PHP модуля — 7.4, но MODX 3 требует более новую версию PHP. MODX Evolution не поддерживается.

ВеткаПакет 0.1.0
Revolution 2.8zorkacdn2-0.1.0-pl.transport.zip · SHA-256
Revolution 3.xzorkacdn3-0.1.0-pl.transport.zip · SHA-256

Установка​

  1. Подключите источник CDN и получите адрес для своего сайта.
  2. Скопируйте пакет своей ветки в core/packages/ через файловый менеджер хостинга. В менеджере MODX откройте Extras / Приложения → Installer / Установщик, выполните поиск локальных пакетов и установите Zorka CDN. Архив не нужно распаковывать вручную.
  3. В системных настройках выберите пространство имён zorkacdn. Укажите zorkacdn.origin — основной URL сайта с подкаталогом и завершающим /, например https://example.com/. Укажите zorkacdn.cdn — выданный HTTPS CDN URL, включая /s/site_id.
  4. В zorkacdn.include перечислите публичные папки, по одной /папке/ на строку. По умолчанию /assets/. В zorkacdn.exclude перечислите приватные каталоги; по умолчанию исключён /assets/private/. Для установки в подкаталоге нужны полные пути от корня домена.
  5. Проверьте реальную картинку через CDN, установите zorkacdn.enabled в «Да» и очистите кэш MODX и всех кэширующих страниц посредников.

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

Работа и контексты​

Плагин использует OnWebPagePrerender: обрабатывает итоговый HTML публичной страницы, включая srcset, lazy-loading и inline CSS. Проверена повторная выдача кэшированной страницы. Ресурсы, шаблоны и изображения в базе/на диске не изменяются.

Для каждого контекста можно переопределить zorkacdn.origin, zorkacdn.cdn, zorkacdn.include, zorkacdn.exclude и zorkacdn.enabled через настройки контекста. У каждого источника должен быть соответствующий выданный CDN URL. Менеджер, вошедшие в текущий контекст или менеджер пользователи, не-HTML, POST и скачиваемые ресурсы пропускаются.

Если шаблон содержит <base href>, он должен точно совпадать с zorkacdn.origin, включая завершающий /. Неизвестный base приводит к пропуску всей страницы. Отдельная AJAX/JSON-выдача и произвольные строки JavaScript не переписываются.

Отключение​

Выключите zorkacdn.enabled либо плагин Zorka CDN и очистите кэш. При удалении пакета через менеджер удаляются установленные им плагин, событие и системные настройки; настройки контекстов, добавленные вручную, удалите отдельно. Оригинальные ресурсы и картинки сохраняются. Если до установки уже существовали одноимённые объекты, менеджер пакетов MODX может сохранить их при удалении.

Общие ограничения и проверка.