3.7 KiB
3.7 KiB
WP + Divi to AM Stack A Pipeline — SOP Index
End-to-end playbook for converting any WordPress / Divi site backup (.wpress) into an Arising Media Stack A deployment: PHP router + SQLite + vanilla JS/CSS.
Quick start (CLI launcher)
python3 scripts/migrate.py --wpress /path/to/backup.wpress --domain example.com
Runs phases 0-6 automatically (extract, analyze, nav, content, media, stage seed).
Prints agent breadcrumbs for phases 7-11. See 10-agent-breadcrumbs.md for the
complete ordered execution checklist.
SOPs in this folder
| File | Phase | Description |
|---|---|---|
00-overview.md |
— | Pipeline overview, philosophy, what to extract vs not replicate |
01-wpress-extraction.md |
1 | .wpress binary format, extraction script, verification |
02-database-analysis.md |
2 | MySQL dump parsing, page inventory, Divi version detection |
03-divi-content-extraction.md |
3 | Divi 4 shortcodes vs Divi 5 blocks, extraction scripts |
04-design-system-extraction.md |
4 | Colors, fonts, spacing → tokens.css |
05-content-migration.md |
5-6 | Section remapping, content staging, seed_databases.py |
06-media-assets.md |
5 | Upload migration, WebP conversion, media manifest |
07-seo-preservation.md |
7 | Redirect map, Rank Math extraction, schema.org |
08-run-order.md |
— | DEPRECATED — superseded by 10-agent-breadcrumbs.md |
09-stack-a-output.md |
— | SQLite schemas, sections_json spec, Divi→AM module mapping |
10-agent-breadcrumbs.md |
0-11 | Ordered agent execution checklist (.wpress → live Docker) |
Scripts in scripts/
| Script | Purpose |
|---|---|
migrate.py |
CLI launcher — runs phases 0-6, prints breadcrumbs for 7-11 |
run_pipeline.sh |
Legacy shell wrapper (pre-migrate.py) |
extract_wpress.py |
Unpack .wpress binary archive |
analyze_db.py |
Parse SQL dump → pages.json + design-system.json |
extract_divi5.py |
Parse Divi 5 blocks → per-page content JSON |
extract_nav.py |
Extract WordPress nav menus → nav.json |
stage_seed.py |
Map extracted JSON → seed_databases.py skeleton (Phase 6) |
Key facts about .wpress archives
- Format: Custom sequential binary (NOT zip/tar) — 4377-byte headers
- Table prefix in SQL dump:
SERVMASK_PREFIX_(placeholder, NOTwp_) - Directory layout: flat —
uploads/,themes/,plugins/at archive root (nowp-content/wrapper) - Divi 5 stores theme settings in
et_divioption as PHP-serialized array
vibrantyou.yoga — extracted data reference
Site: Vibrant You Yoga (instructor: Meghan) Domain: https://vibrantyou.yoga Divi version: 5.0.3 WP version: 6.9.4
Design system:
- Primary: #1a8a7a Dark: #0f5f53 Secondary: #2ea3f2
- Body: #5a6b68 Headings: #2d2d2d
- Body font: DM Sans 17px / 1.6 lh
- Heading font: DM Serif Display 600 / 36px / 1.2 lh
Pages to migrate (22 published):
- home, about, classes, schedule, instructors, contact, blog, faq
- book (private sessions), online-yoga, donate
- Drop: video-category, video-tag, search-videos, user-videos, player-embed, categories, tags, my-bookings (all plugin-generated archive pages)
Plugins requiring AM replacements:
- Gravity Forms + Stripe → AM HTML form + Python API + Resend
- Events Manager → static schedule table in /schedule/
- All-in-One Video Gallery → embed YouTube/Vimeo directly or drop
Related SOPs
../01-project-structure.md— AM deployment directory layout../02-wordpress-to-html-migration.md— Original 8-phase WP migration playbook../03-build-pipeline.md— JSON + template stamping for repeated pages../06-seo-meta.md— Full<head>requirements, schema.org per page type../tools/verify-protection.sh— Post-deploy security audit