82 lines
3.7 KiB
Markdown
82 lines
3.7 KiB
Markdown
# 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)
|
|
|
|
```bash
|
|
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, NOT `wp_`)
|
|
- Directory layout: flat — `uploads/`, `themes/`, `plugins/` at archive root (no `wp-content/` wrapper)
|
|
- Divi 5 stores theme settings in `et_divi` option 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
|