Fixes worth
writing down.
Short, specific, tested. Written from live-site work, not recycled from the WordPress support forum.
WordPress white screen of death — the 5-minute fix
Every WSOD I've ever fixed comes down to one of four causes. Here's the diagnostic ladder that gets you back online without touching a database.
WooCommerce checkout stuck on 'Processing' — the 3 real causes
Not the answer WordPress forums give you. From 60+ live-store recoveries: the three failures that account for almost every stuck checkout.
How to remove malware from a WordPress site without losing rankings
Cleaning malware is easy. Cleaning it without collapsing your Google rankings is the actual job. The 7-step playbook I use on live sites.
18 best speaker websites of 2026 — what makes them book
A curated tour of the speaker sites that actually convert event planners — pulled apart page by page. Hero, one-sheet, topic pages, schema, the lot.
The 12-point checklist for inheriting a WordPress site
The previous developer disappeared. The agency went under. You've been handed a WordPress site nobody's touched in two years. Here's what to check, in order, before you touch anything.
Migrating from Elementor to Gutenberg — when it's worth it, when it isn't
The honest tradeoff. Not every Elementor site needs to move. Here's the decision framework I use with clients, plus the migration playbook when the answer is yes.
Wix to WordPress without losing SEO — the migration playbook
The hardest platform to migrate off — because Wix gives you nothing. Every URL, every image, every ranking preserved. The 7-step process I follow.
WordPress INP optimization — the 2026 field guide
INP replaced FID in March 2024 and most WordPress sites now fail it. Here's what INP actually measures, why cache plugins don't fix it, and the four fixes that do.
WordPress plugin conflicts — the 15-minute diagnostic method
Something broke after you activated a plugin. Or after an update. Or without you touching anything. The systematic diagnostic that finds the culprit in 15 minutes.