Быстрый сайт — это довольные пользователи и высокие позиции в поисковиках. Вот 3 простых шага, чтобы ускорить ваш MODX. Включите кэширование, настройте быстрый PHP, уменьшите размер картинок и сократите количество запросов к базе данных. Используйте современные форматы изображений и уберите лишние тяжелые плагины.
1. Грамотно используйте кэширование
Включайте кэширование для всех тяжёлых сниппетов. Где это возможно, используйте некэшируемые вызовы "!сниппет" только тогда, когда контент действительно должен обновляться при каждом запросе. В остальных случаях применяйте обычный вызов "сниппет" — MODX сохранит результат в кэше и отдаст его мгновенно.
Также включите системное кэширование ресурсов и убедитесь, что кэш очищается только при реальных изменениях (через плагины или вручную), а не на каждом хите.
2. Оптимизируйте изображения
Сжимайте картинки перед загрузкой на сервер. Используйте современные форматы WebP и AVIF — они значительно легче JPEG и PNG при том же визуальном качестве.
Для уже загруженных изображений можно настроить автоматическую конвертацию через плагины или серверные инструменты (например, ImageMagick + .htaccess / nginx). Не забывайте про правильные размеры: не загружайте 4000px-фото, если в шаблоне оно выводится максимум на 800px.
3. Минимизируйте и объединяйте CSS и JS
Минимизируйте CSS и JS файлы. Объединяйте мелкие скрипты и стили в один-два файла, подключайте их в правильном порядке и, по возможности, используйте атрибуты defer или async для JavaScript.
Удалите неиспользуемые стили и библиотеки. Часто на сайте висят jQuery и несколько плагинов, которые уже давно можно заменить начистым JS или более лёгкими решениями.
4. Ускорьте PHP и сервер
- Используйте актуальную версию PHP (8.1–8.3) — она заметно быстрее старых веток.
- Включите OPcache.
- Настройте быстрый обработчик (PHP-FPM) и достаточное количество воркеров.
- Если есть возможность — используйте Redis или Memcached для хранения кэша MODX вместо файловой системы.
5. Сократите количество запросов к базе данных
Каждый лишний запрос к БД замедляет страницу.
- Кэшируйте результаты тяжёлых выборок.
- Избегайте вызовов getObject / getCollection внутри циклов.
- Используйте pdoTools (pdoResources, pdoMenu и т.д.) — они работают заметно быстрее стандартных сниппетов.
- Отключайте ненужные плагины, которые срабатывают на каждом запросе (OnWebPageInit, OnLoadWebDocument и подобные).
6. Уберите лишний «балласт»
Проверьте установленные пакеты и плагины. Всё, что не используется или используется редко — удалите. Особенно «тяжёлыми» часто оказываются:
- конструкторы форм с кучей скриптов,
- слайдеры и галереи,
- SEO-пакеты с избыточной функциональностью,
- системы комментариев и рейтингов, если они не критичны.
7. Дополнительные быстрые улучшения
- Включите Gzip/Brotli-сжатие на сервере.
- Настройте правильные заголовки кэширования для статики (Cache-Control, Expires).
- Подключите CDN для картинок, CSS и JS, если сайт ориентирован на аудиторию из разных регионов.
- Проверьте сайт через PageSpeed Insights, GTmetrix или WebPageTest и исправляйте самые критичные замечания.
Следуя этим шагам, вы можете сократить время загрузки страницы в 2–4 раза без серьёзной переработки вёрстки. Быстрый MODX — это не магия, а системная работа с кэшем, картинками, запросами к базе и чистотой кода.