Core update stopped partway: HTTP 500 on the homepage and the login page
What the site owner saw
A WordPress core auto-update stopped before it finished. The homepage and the login page returned HTTP 500 and wp-admin could not be opened. A plain file (/license.txt) still returned 200.
Source (public forum thread): https://wordpress.org/support/topic/wordpress-http-500-error-website-and-admin-login-unavailable/
Test setup and what we observed after the failure
Test site: WordPress 7.1, PHP 8.3. The table shows the HTTP status of the homepage and the login page after the recipe recreated the failure.
| Server setup | Homepage | Login page | Note |
|---|---|---|---|
| nginx + PHP-FPM | 500 | 500 | /license.txt returned 200. |
Outcome of each run
| Date (UTC) | Server setup | Connection mode | Outcome | Product version | Note |
|---|---|---|---|---|---|
| 2026-11-03 | nginx + PHP-FPM | SSH | Recovered | 2.1.422 | The health check also listed a URL-setting problem that the recipe had not introduced (see gaps). |
| 2026-11-04 | nginx + PHP-FPM | SSH | Recovered | 2.1.427 | Re-test after the change below: the URL-setting line no longer appeared. |
Gaps and the version that fixed them
Every run that did not end in "recovered" is listed here: what we changed, the version it shipped in, and the re-test date and outcome.
| Found | Server setup | Connection mode | What we changed | Fixed in | Re-test |
|---|---|---|---|---|---|
| 2026-11-03 | nginx + PHP-FPM | SSH | With the core files missing, the health check listed a URL-setting problem the site did not have. The check no longer lists it in this state. | 2.1.427 | 2026-11-04 · Recovered |
Problem types this case covers
Related error articles
Notes
The recipe removes two files under wp-includes and leaves a stale maintenance marker, which is how the forum poster described the site after the interrupted update.
These are records from our test servers, for a given product version on a given day. They are not a promise about the result on any site. Other hosts, PHP versions, and WordPress versions can behave differently.