Capability sweep (recipe r22): problem types introduced at the same time into a copy of an online store test site
What the site owner saw
The problem types in the item list were introduced at the same time into a copy of an online store test site. After that, the homepage returned HTTP 200, the login page returned HTTP 500, and the WordPress dashboard would not load.
Source: capability sweep (one or more problem types from the "What we fix" page planted on one test site); there is no single forum thread.
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 | 200 | 500 | |
| Apache + PHP-FPM | 200 | 500 | |
| Apache + php-cgi (mod_cgid) | 200 | 500 | |
| Apache + mod_php | 200 | 500 |
Outcome of each run
| Date (UTC) | Server setup | Connection mode | Outcome | Product version | Note | Result per problem type |
|---|---|---|---|---|---|---|
| 2026-11-08 | nginx + PHP-FPM | SSH | Not recovered | 2.1.438 | coreChecksum: Still presentphpSyntax: Still presentthemeHealth: Still presentcacheDropins: Still presentfilePerms: Still presenthtaccess: Still presentcronStuck: Still presentruntimeFatal: Still presentmemoryExhausted: Still presentstaleObjectCache: Still presentrestApi: Still presentsiteUrlMismatch: Still presentuploadPathWrong: Still presentdbSchemaPending: Still presenttransientBloat: Still presentcronBloat: Still presentcontentBloat: Still presentrolesCorrupted: Still presentloginLockout: Still present | |
| 2026-11-09 | Apache + PHP-FPM | FTP | Recovered | 2.1.443 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-09 | Apache + php-cgi (mod_cgid) | FTP | Recovered | 2.1.443 | The check after write-back covered only some of the problem types in this run; the others have no result for this run. | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: Cleared |
| 2026-11-09 | Apache + mod_php | FTP | Recovered | 2.1.443 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-09 | nginx + PHP-FPM | FTP | Recovered | 2.1.444 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-09 | Apache + PHP-FPM | SSH | Recovered | 2.1.444 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-09 | Apache + mod_php | SSH | Recovered | 2.1.447 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-09 | Apache + php-cgi (mod_cgid) | SSH | Recovered | 2.1.447 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-09 | Apache + PHP-FPM | FTP | Recovered | 2.1.447 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-10 | nginx + PHP-FPM | SSH | Recovered | 2.1.448 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-11 | nginx + PHP-FPM | FTP | Recovered | 2.1.455 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-11 | Apache + mod_php | FTP | Recovered | 2.1.455 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared | |
| 2026-11-11 | Apache + php-cgi (mod_cgid) | FTP | Recovered | 2.1.455 | coreChecksum: ClearedphpSyntax: ClearedthemeHealth: ClearedcacheDropins: ClearedfilePerms: Clearedhtaccess: ClearedcronStuck: ClearedruntimeFatal: ClearedmemoryExhausted: ClearedstaleObjectCache: ClearedrestApi: ClearedsiteUrlMismatch: CleareduploadPathWrong: CleareddbSchemaPending: ClearedtransientBloat: ClearedcronBloat: ClearedcontentBloat: ClearedrolesCorrupted: ClearedloginLockout: Cleared |
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-08 | nginx + PHP-FPM | SSH | The recovery stopped while some faults were still hiding others, so the case ended as not recovered. The recovery now runs more rounds before it stops. | 2.1.443 | 2026-11-10 · Recovered |
Problem types this case covers
- WordPress core files corrupted/tampered
- Plugin/theme syntax error causing white screen
- Broken theme
- Stale cache files causing errors
- File permission errors
- .htaccess corruption (404/500)
- Scheduled tasks piled up and not running (cleanup)
- White screen/500 fatal error (plugin conflicts, PHP incompatibility)
- Out-of-memory white screen
- Leftover object-cache config crashing the site
- Editor cannot save (REST API blocked or its response polluted)
- Broken URL settings (redirect loops / all images broken)
- Wrong upload path (broken media library images)
- Database schema version behind
- Expired transients piling up and slowing the site
- Bloated scheduler table slowing the whole site (duplicate/flood events; completed store jobs never purged)
- Database bloat (revision pileup / spam comments)
- Roles/permissions corrupted, admin login blocked
- Locked out of login by a security plugin
Notes
Only problem types listed on the What we fix page are shown. One of them, a database table collation mismatch, could not be created on the database servers used here, so it was not introduced and is not listed. Lifting the login lockout is one of the items ticked in the Recovery Authorization Consent Form before the recovery fee is paid; it was ticked in these runs. WP admin mode was not run in this series.
Changes to this record
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-09 — Added 1 run from the lab run log.
- 2026-11-10 — Added 1 run from the lab run log.
- 2026-11-11 — Added 1 run from the lab run log.
- 2026-11-11 — Added 1 run from the lab run log.
- 2026-11-11 — Added 1 run from the lab run log.
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.