Updates that stop halfway are often timeouts, not WordPress bugs. This guide covers where timeouts live and how to raise them so updates can finish—and what to do when WordPress is stuck in maintenance mode afterward.
Symptoms
- Updates hang or fail silently
- WordPress gets stuck in maintenance mode (
.maintenancefile left behind)
Where timeouts live
- PHP execution time (
max_execution_time) - PHP-FPM request timeouts (pool config)
- Web server or proxy timeouts (if the request is proxied)
Fix pattern
- Increase limits where appropriate (pool or php.ini for the PHP version that serves the site)
- Remove
.maintenanceif the update failed (see fixing WordPress stuck in maintenance mode) - Retry the update
FAQ
Which timeout is usually the problem?
For long-running plugin/theme updates, max_execution_time and PHP-FPM’s request_terminate_timeout (if set) are the usual suspects. Increase for the pool that serves the site, then restart PHP-FPM.
Update failed and the site is in maintenance mode.
Delete (or rename) the .maintenance file in the WordPress root, fix the underlying cause (timeout, permissions, or disk), then retry the update. See fixing WordPress stuck in maintenance mode.
Related
- Fixing WordPress stuck in maintenance mode — recover when update fails mid-flight