Overview
Sometimes automatic updates fail or the wp-admin UI is unreachable. SSH access lets you replace core files or use WP-CLI for safe, scriptable upgrades.
Always back up the database and wp-content before upgrading.
Implementation
With WP-CLI: wp core update, wp plugin update --all, wp theme update --all. Without WP-CLI, download the latest zip, extract, and copy files excluding wp-content.
Run database upgrade by visiting /wp-admin/upgrade.php or wp core update-db.
When implementing guidance from Update WordPress Manually using SSH, start in a controlled environment that mirrors production versions of operating systems, runtimes, and network policies. Capture a baseline before changes: export configs, snapshot VMs, or tag releases in source control so rollback stays straightforward if behavior regresses.
Document prerequisites, expected outcomes, and verification steps in a short runbook. Automated checks—smoke tests, health endpoints, or query validations—catch regressions early when platforms receive patches. Security belongs in every workflow: apply least privilege, rotate secrets, and review audit logs after deployment.
If results differ across machines, compare environment variables, permission models, time zones, and regional settings. Intermittent issues often trace to caching layers, stale DNS, or duplicated services bound to the same port.
Example
cd /var/www/html
wp core verify-checksums
wp core update
wp plugin update --all
wp cache flush
Tips
- Put site in maintenance mode during manual file copies.
- Check PHP version compatibility first.
- Use staging to test plugin conflicts.
- Set correct file ownership (www-data).
- Re-verify after reboots, certificate renewals, or failover exercises.
- Align monitoring and alerts with the failure modes described in this guide.
- Keep vendor documentation links handy for breaking changes between versions.
- Pair automation with a manual spot check during initial production rollout.