OpsInventor WordPress to Edge Delivery Services Migration Plan

Overview

Migrate https://www.opsinventor.com/ (WordPress blog, ~243 posts dating from 2006-2026) to Adobe Edge Delivery Services. Posts will live under /en/ for future localization. No sidebar content or footers will be migrated. The homepage will be a post index with the 5 most recent posts featured at top.

Parameters & Constraints

Site Analysis

Source CMS
WordPress
Post count
~243 (sitemap-1.xml)
Date range
2006–2026
Categories
AEM/CQ, general tech, personal
Post template
Single layout: hero (featured image + title + date + author) → article body
Static pages
About, About Me, Combat Engineering
Sidebar widgets
Most Recent, Top Posts, Recent Comments, Flickr, Archives
Existing EDS blocks
blog-post-hero, card, columns, hero, header, footer, youtube, spotify, table, author-rows

Checklist

Phase 1: Site & Template Analysis

Phase 2: Design System

Phase 3: Navigation

Phase 4: Import Infrastructure

Phase 5: Content Import — Blog Posts

Phase 6: Static Pages

Phase 7: Homepage (Index)

Phase 8: Final Verification

Architecture Decisions

  1. Single blog-post template — The WordPress site uses one post layout consistently. One template with blog-post-hero + default content body covers all posts.
  2. /en/ subtree — All content lives under /en/ from day one, enabling future locale folders (/de/, /ja/, etc.) without restructuring.
  3. No sidebar blocks — Sidebar content (archives, Flickr, top posts) is excluded per requirements. The page transformer will strip the sidebar DOM before parsing.
  4. No footer migration — Footer will use the EDS default or a minimal custom footer.
  5. Homepage as post index — Uses EDS query index + a card/listing block to dynamically display posts sorted by date. Top 5 featured prominently, remainder in a compact list.
  6. Embedded media — YouTube and Spotify embeds already have corresponding blocks in the project. The import will auto-detect embed URLs and map them.

Risks & Mitigations

Some older posts may have broken images or dead links
Spot-check across date range; accept dead external links as-is
Post slugs may collide after /en/ prefix
Slugs are already unique on the source site
Embedded content (iframes, widgets) may not all parse cleanly
Handle YouTube/Spotify explicitly; flag other embeds during import for manual review
~243 posts is a large bulk import
Batch in groups; verify incrementally