# 05 — Content Migration Map extracted Divi content into AM HTML templates. This is the build phase. Follow `01-project-structure.md` for directory layout and `03-build-pipeline.md` for JSON + template stamping. ## Source files After running Phase 2-4 scripts, `.planning/data/` contains: ``` .planning/data/ ├── pages.json ← all published pages (from analyze_db.py) ├── site-info.json ← domain, plugin list, Divi version ├── design-system.json ← colors, fonts, spacing tokens └── content/ ├── home.json ← parsed sections for home page ├── about.json ← parsed sections for about page ├── services.json └── ... ← one file per published page ``` ## Information architecture for yoga sites Standard AM structure for a yoga studio / wellness site: ``` / home (hero, classes preview, testimonials, CTA) /about/ about / story / instructors /classes/ class schedule index /classes/{slug}.html one page per class type (hatha, vinyasa, yin, etc.) /private-sessions/ 1:1 session offerings /workshops/ workshops + retreats index /contact/ contact + booking form /blog/ optional blog index /blog/{slug}.html individual blog posts /404.html /500.html /robots.txt /sitemap.xml ``` Map every WP page slug to this structure first. Some WP slugs may need to be consolidated, renamed, or dropped. Document the redirect map in `.planning/redirect-map.txt` (old slug → new path). ## Build order Build in this sequence. Each page uses the previous as a reference: 1. `src/assets/css/main.css` — design tokens, reset, typography, layout grid 2. `src/assets/css/components.css` — header, footer, hero, cards, forms, nav 3. `src/components/header.html` — navigation 4. `src/components/footer.html` — footer links, contact info 5. `src/assets/js/components.js` — fetch + inject header/footer 6. `src/assets/js/main.js` — scroll animations, intersection observer 7. `src/index.html` — home page (this IS the design system in working form) 8. `src/about/index.html` 9. `src/classes/index.html` + individual class pages (from JSON template if 4+) 10. `src/contact/index.html` + AM form 11. `src/blog/index.html` + individual posts 12. `src/robots.txt`, `src/sitemap.xml`, `src/404.html`, `src/500.html` ## HTML page skeleton Every page uses the same skeleton. Copy from 06-seo-meta.md for the full `
` requirements. Shell: ```htmlFrom first-timers to advanced practitioners.
"..."
...
", "duration": "60 min", "level": "All levels", "schedule": "Mon, Wed, Fri — 9:00 AM", "instructor": "Sarah M.", "faqs": [ { "q": "Do I need prior experience?", "a": "No." } ] } ] ``` ## Events Manager → static schedule The site uses Events Manager plugin. For static migration: - Extract recurring class schedule from the database (`wp_em_events` table) - Convert to a static schedule table / cards in `src/classes/index.html` - Do NOT recreate a dynamic booking system unless explicitly requested - Link the "Book" button to the contact form or an external booking URL ## Image remapping Every `
`
Always include `width`, `height`, `loading="lazy"`, and `alt` on every `