Book 34 · Patriola’s Guide to Claude
Escape WordPress
Migrate off WordPress with full control over the result. A complete inventory-to-cutover migration from a real project — a Montessori school's site rebuilt as plugin-free PHP on shared hosting, with Claude classifying plugins, generating schema, and reviewing every handler.
You inherited the site. You didn’t inherit a map of it
The gallery plugin stopped working on a Tuesday — no error, no 500, just images silently gone from the public site while the admin UI showed them as published. A WP core update three days earlier had changed an internal API the plugin relied on, and the plugin author hadn’t shipped a fix. That’s the real cost of an inherited WordPress site: not knowing what it does without reading two plugin readmes and a database table you didn’t know existed.
Escape WordPress documents a complete migration built from a real project: a Montessori school’s WordPress site, moved to a direct PHP site on the same DreamHost shared host, with a database-backed gallery, parental-consent photo flagging, and signup forms replacing what plugins used to do. No chapter is theory. The audit runs over SSH. The extraction uses WP-CLI to pull actual database content, not the lossy XML export. The gallery is a schema you designed, not a plugin you picked from a marketplace.
Scope is deliberate: single-site WordPress on shared hosting with a standard plugin stack (a gallery plugin with a custom table, two SEO plugins, a droppable cookie consent plugin, a caching plugin with its own deactivation sequence). WooCommerce and multisite are out of scope — both introduce dependencies that change the problem.
What you’ll learnInventory through cutover, in order
- The inventory — SSH into the live site, run WP-CLI, find every plugin, table, and media count before touching anything. Claude classifies each plugin as data-owning, content-owning, functional, or cosmetic to scope the migration.
- Extraction — Full database dump plus targeted table extractions, page content, and the media directory. Claude maps extraction dependencies and catches what a manual checklist misses.
- Assessing what you have — Turning extracted data into concrete migration decisions instead of guesses about what the site actually needs.
- Designing the replacement schema — A schema derived from the actual SEO export columns and gallery data model, reviewed against the real extraction artifacts before use.
- Building the PHP site — Page handlers with PDO prepared statements throughout, and a security review pass that confirms it.
- Gallery and consent management — A boolean consent-flag column you control directly, replacing an opaque plugin capability.
- Migrating content — Moving page content out of Gutenberg block format into the new structure.
- Redirect rules — Generating `.htaccess` rewrites from the URL inventory so every existing link keeps working and search ranking survives the move.
- Cutover — A staged cutover with a post-cutover verification checklist generated from the same extraction checklist built in Chapter 2.
A preview
The migration described in this book produces a replacement that fits on a single directory of PHP files and a MySQL database you can describe completely. SEO data is in one table with columns you named. Gallery consent flags are a boolean column you put there explicitly. No cookie consent plugin exists because you decided what the cookie policy is and wrote it directly into the page footer.
Technical operators stuck maintaining someone else’s stack
This book is for readers comfortable with SSH, basic PHP and MySQL, and running Python scripts. It does not explain what WordPress is or how web hosting works — it picks up where that knowledge ends, starting from a live WP-CLI inventory of a real site. By the end you have a complete, repeatable method for turning an inherited WordPress install into a plugin-free PHP site you can describe in full.
A longer excerpt is available to newsletter subscribers.
More from Patriola
New books in this series
One short email per book launch.