MODX Core and Packages Update
MODX releases security updates and functional releases. Updating MODX is simpler than WordPress or Drupal — no Composer-dependencies in core, procedure is manual but clear.
Preparation
# Backup files
tar czf /backups/modx-$(date +%Y%m%d).tar.gz /var/www/yourdomain.com
# Backup DB
mysqldump -u root modx_db > /backups/modx-db-$(date +%Y%m%d).sql
Update Core
# Download new version
wget https://modx.com/download/current/ -O modx-new.zip
unzip modx-new.zip -d /tmp/modx-update
# Copy only changed core files (not custom Extra folders)
rsync -avz --exclude='core/components/' \
--exclude='assets/components/' \
--exclude='core/config/' \
/tmp/modx-update/modx-*/ \
/var/www/yourdomain.com/
After copying files go to yourdomain.com/setup/:
- Select "Update existing installation"
- Confirm version and parameters
- Run update
Setup checks compatibility, updates DB tables if needed, clears cache.
Update Packages (Extras)
System → Package Manager → Installed Packages → "Check Updates" button.
Or in interface: right-click package → Update.
Important: some popular packages (pdoTools, FormIt, Tickets) update very rarely — don't expect weekly updates.
Update via CLI (MODX 3)
# MODX 3.x supports CLI
php artisan modx:upgrade # if CLI configured
# Or via built-in script
php core/packages/upgrade.php
Check After Update
# Check error logs
tail -n 100 core/cache/logs/error.log
# Clear MODX cache
# System → Clear Cache
# Or: delete core/cache/ contents
find /var/www/yourdomain.com/core/cache/ -type f -name "*.php" -delete
If Update Broke Site
# Restore files from backup
rsync -avz /backups/modx-20240301.tar.gz /var/www/yourdomain.com/
# Unpack backup
# Restore DB
mysql -u root modx_db < /backups/modx-db-20240301.sql
Timeframes
MODX core update with backup and testing — 1–2 hours. Update of 10–15 Extras with functionality check — 2–4 hours.







