wp maintenance-mode activate
Overview
Put WordPress into maintenance mode immediately, showing a "Briefly unavailable for scheduled maintenance" page to all visitors. Run this before performing updates, database migrations, or any operation that could cause a broken state.
What It Does
wp maintenance-mode activate creates a .maintenance file in the WordPress root with a $upgrading timestamp. WordPress reads this file on every request and redirects non-admin visitors to the maintenance screen.
Syntax
wp maintenance-mode activate
Output:
Enabling Maintenance mode...
Success: Activated Maintenance mode.
Basic Usage
wp maintenance-mode activate
Real-World Scenarios
Scenario 1: Safe plugin update workflow
#!/bin/bash
# safe-update.sh
echo "Activating maintenance mode..."
wp maintenance-mode activate
echo "Updating plugins..."
wp plugin update --all
echo "Flushing cache..."
wp cache flush
echo "Deactivating maintenance mode..."
wp maintenance-mode deactivate
echo "Done — site is live."
Scenario 2: Database migration with downtime window
wp maintenance-mode activate
wp db export pre-migration-backup.sql
wp db import new-production.sql
wp search-replace 'https://staging.example.com' 'https://example.com' --skip-columns=guid
wp cache flush
wp rewrite flush
wp maintenance-mode deactivate
Scenario 3: Security incident response
# Immediately lock the site after detecting a compromise
wp maintenance-mode activate
# Investigate and remediate...
wp core verify-checksums
wp core download --force
wp plugin verify-checksums --all
# Re-open after confirming clean
wp maintenance-mode deactivate
Scenario 4: Multi-site — activate on all subsites
for url in $(wp site list --field=url); do
wp maintenance-mode activate --url="$url"
echo "Maintenance activated: $url"
done
Best Practices
- Always activate before database imports — an in-progress import can serve broken pages to visitors.
- Combine with backup — create a database backup before the maintenance window.
- Deactivate immediately when done — the
.maintenancefile has a 10-minute auto-expiry in WordPress, but a stale file can cause issues. - Test the maintenance page by opening the site in a browser (logged-out) after activation.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| Site still accessible after activation | Admin cookie bypasses maintenance | Test in incognito/logged-out browser |
.maintenance file already exists | Previous session left it | Run wp maintenance-mode deactivate to clean up |
Error: Permission denied | File system permissions issue | Check WordPress root directory write permissions |
Quick Reference
wp maintenance-mode activate # Enable
wp maintenance-mode status # Check state
wp maintenance-mode deactivate # Disable
Next Steps
wp maintenance-mode deactivate— bring the site back online.wp maintenance-mode status— check current state.wp cache flush— flush cache after maintenance.