
- MODX 3
- PHP 8.2


За 10 минут: установить зависимости, настроить cron, получить первый <picture> на витрине.
Перед ImageOptimizer установите на сайте:
Без VueTools админка покажет сообщение vuetools_required.
Откройте Пакеты → ImageOptimizer в менеджере MODX.

Откройте Пакеты → ImageOptimizer → вкладка Server.
На карточках WebP хотя бы один энкодер в статусе Доступен (GD, Imagick или cwebp). Если все «Не найдены», см. Решение проблем.

По умолчанию уже включены:
imageoptimizer_enabledimageoptimizer_inject_frontendimageoptimizer_convert_on_uploadWorker не стартует сам после upload. Добавьте в crontab:
*/10 * * * * php /path/to/site/core/components/imageoptimizer/cron/convert.php >> /var/log/imageoptimizer-cron.log 2>&1Замените /path/to/site на корень MODX. Раз в сутки для очистки старых записей очереди:
0 3 * * * php /path/to/site/core/components/imageoptimizer/cron/prune.phpКоманду для cron можно скопировать на вкладке Server. Подробнее: CLI и cron.
Загрузите JPEG или PNG в File Manager. В ImageOptimizer → Очередь появятся задачи со статусом pending.
Нажмите Обработать очередь или дождитесь cron. С 1.0.4 одна кнопка обрабатывает батчи до pending = 0 (можно Остановить). После done на диске лежат файлы вида photo.768.webp, photo.jpg.webp.

1 (Filesystem)assets/images/catalog или images/resources для MS3
Через CLI:
php core/components/imageoptimizer/cli/convert.php --source=1 --scan --path=assets/images --limit=200На странице с обычным тегом:
<img src="assets/images/hero.jpg" alt="Hero">откройте исходный код. После обработки очереди и сброса кэша MODX вы увидите <picture> с <source type="image/webp"> и srcset.
Если <picture> нет, пройдите чеклист.
data-imageoptimizer-skip, LCP, sizes