# WordPress PHP 8 migration checklist
## Volade — practical guide · June 2026

Print this page or check off as you go.

---

## Phase 0 — Inventory (before any scan)

- [ ] Note current server PHP version: __________
- [ ] List active plugins + versions (export or screenshot)
- [ ] Active theme + child + mu-plugins identified
- [ ] WordPress version: wp-admin footer or Tools → Site Health
- [ ] Full site + database backup
- [ ] Mirror staging available: yes / no

---

## Phase 1 — Compatibility scan (PCC)

- [ ] PHP Compatibility Checker installed and active
- [ ] PHP 8.3 preset (or host target) applied
- [ ] Plugins + theme scan run — report archived
- [ ] **Blocker** errors listed: __________ extensions
- [ ] JSON report export → client folder /php-migration/

---

## Phase 2 — Staging fixes

- [ ] Staging cloned on **current** PHP (not switched yet)
- [ ] Blocker plugins updated or replaced on staging
- [ ] Child theme / custom code fixed if needed
- [ ] Re-scan PCC on staging → 0 blocker errors
- [ ] Smoke tests: home, wp-admin, form, checkout (if WC)

---

## Phase 3 — Staging PHP switch

- [ ] Staging PHP moved to 8.3 (or target) via host panel
- [ ] `WP_DEBUG_LOG` enabled temporarily
- [ ] Full walkthrough: front, admin, cron, transactional emails
- [ ] `debug.log` reviewed — no fatal errors

---

## Phase 4 — Production

- [ ] Maintenance window scheduled: date/time __________
- [ ] Client notified (runbook email template)
- [ ] Prod backup taken **immediately before** PHP switch
- [ ] Production PHP switched — 48 h watch

---

## If something goes wrong

| Symptom | Lead |
|---------|------|
| White screen after switch | Restore previous PHP · read debug.log |
| Plugin says `Requires PHP 8.2` | Update extension or contact vendor |
| Staging checkout broken | Re-scan PCC · payment gateway often lags |
| PCC false positive | V+ whitelist or fix if real error |

---

volade.com/en/blog · PHP Compatibility Checker by Volade
