A migration is an operations project wearing a design costume

The storefront is the visible ten percent. Underneath it sits customer and order history, product data and variants, inventory locations, tax and shipping configuration, subscriptions, discount logic, ERP and 3PL connections, analytics history, and every URL that currently earns traffic.

When a migration is scoped as a build, those things become discoveries. When it's scoped as an operations project, they become line items.

You are not moving a website. You are moving the operating system of a business that has to keep selling while you do it.

Six failure modes

  • Data assumed rather than inspected. Product data is messier than anyone remembers. Variant structures, option names, metafields and legacy SKUs decide how much of the catalog can be automated.
  • Integrations discovered late. ERP, 3PL, subscriptions, loyalty, reviews and tax each have their own rebuild cost. Finding the fifth one two weeks before launch is what pushes dates.
  • Redirects treated as a task, not a workstream. Every indexed URL needs a mapped destination. Wildcards to the homepage are the single most common way to lose organic revenue.
  • Operational reality ignored. Warehouse staff, customer service and finance all have workflows built on the old system. Nobody trains them, so launch week becomes a support incident.
  • Feature parity confused with feature value. Rebuilding everything the old site did, including the parts nobody used, inflates scope and delays launch.
  • Launch timed badly. Migrating into peak season, a promotional period or a product launch removes all margin for the problems that always appear.

The SEO part nobody schedules

01

Inventory

Crawl the live site, export every indexed URL and rank by traffic and revenue.

02

Map

One-to-one destinations for everything that earns. No catch-alls, no chains.

03

Verify

Test redirects pre-launch on staging, then re-crawl within 48 hours of go-live.

Redirect work runs in parallel with the build, not after it.

Preserve titles, descriptions and structured data for pages that already perform. A migration is the wrong moment to also rewrite the content that ranks — change one variable at a time.

A sequence that works

  1. 01

    Inventory everything

    Systems, integrations, URLs, data structures, manual processes, reports. Written down, owned, dated.

  2. 02

    Decide what does not move

    Retire unused features, dead apps and abandoned collections deliberately, before they consume build time.

  3. 03

    Migrate data early and repeatedly

    Run the import more than once. The second and third passes are where the real data problems surface.

  4. 04

    Rehearse operations, not just the storefront

    Place test orders end to end: payment, fulfillment, ERP, returns, reporting. Train the people who will live with it.

  5. 05

    Launch in a quiet window, then watch

    Monitor errors, checkout completion, crawl status and redirect coverage daily for the first two weeks.

Migrations that go well are boring on launch day. That's the goal — all the excitement should have happened in rehearsal.