Pricing
- $8,000–$12,000 for catalogs under 500 SKUs with standard data structure
- $12,000–$18,000 for 500–2,000 SKUs or non-standard data (custom attributes, complex variants, B2B pricing tiers)
- $18,000–$25,000+ for large catalogs, multi-store setups, headless implementations, or significant custom functionality
- +$1,500–$3,000 for ERP / accounting integration (NetSuite, QuickBooks, Acumatica)
Migrations are scoped after a discovery call — a fixed quote that won't change unless you change the scope. Billing is staged: 25% to kick off, 25% at data parity, 25% at staging signoff, 25% at launch.
Everything Included
- Full data migration — products, variants, customers, order history, reviews, content pages, blog posts, customer groups, B2B pricing
- URL preservation and 301 redirects — every old URL maps to a new one. This is the single biggest reason migrations tank traffic, and most agencies do it badly.
- SEO continuity audit — meta titles, descriptions, image alt text, structured data, canonical tags, sitemap, robots.txt all carried forward correctly
- Theme rebuild — matching or upgrading your existing storefront design on the new platform
- Payment gateway re-integration — Stripe, PayPal, Authorize.Net, etc. tested end-to-end with real test transactions
- Shipping and tax re-configuration — carrier-calculated rates, weight-based logic, multi-state nexus rules ported correctly
- Integration rebuild — ERP, accounting, ESP (Klaviyo / Mailchimp), reviews, search, ad pixels, analytics, anything currently wired up
- Staging environment — full live-like environment for QA before cutover. You sign off before we go anywhere near production.
- Launch weekend coordination — DNS cutover scheduled around your traffic patterns, with rollback path if anything goes wrong
- 60 days of post-launch support — bug fixes, redirect fixes, search ranking monitoring, and "the new platform does X differently" questions
Not included — quoted separately if needed
- Net-new theme design (this is a migration, not a redesign — rebuilding your current look is included; new look is extra)
- Custom backend development beyond standard platform configuration
- Net-new content production or photography
- Paid ad account migration (Google Ads, Meta) — small extra; ask if you need it
- Ongoing management post-launch (see Monthly Management)
The Process
Migrations move through six phases. The whole thing takes 8–16 weeks of wall-clock time depending on catalog size and integration count. I work in stages so you can see and approve progress before anything goes irreversible.
- Phase 1 — Discovery and Audit (1–2 weeks). Full inventory of your current setup — catalog structure, integrations, custom code, traffic patterns, top-ranking URLs. The output is a fixed-scope quote and a written migration plan.
- Phase 2 — Data Mapping (1–2 weeks). Every field from the old system gets mapped to a destination on the new one. Product attributes, customer groups, B2B pricing tiers, order metadata. This is where most failed migrations actually fail.
- Phase 3 — Build and Migrate (3–6 weeks). Theme rebuild, integration setup, data dry-run, second dry-run, third dry-run. We don't go to production until the staging data matches reality.
- Phase 4 — QA and Signoff (1–2 weeks). You walk the staging site. Test orders. Test refunds. Test email triggers. Test the integrations. I fix what's broken. We go around the loop until it's clean.
- Phase 5 — Launch (1 week). Final delta migration of orders/customers placed since the last sync, DNS cutover at low-traffic time, redirects flipped on, sitemap submitted, search consoles updated.
- Phase 6 — Stabilization (60 days post-launch). Daily monitoring of search rankings, traffic, and conversion. Anything that drops gets investigated. Bug fixes included.
FAQ
Not if it's done right. Migrations tank traffic when URL structures change without proper 301 redirects, when meta tags get reset to defaults, or when structured data gets dropped. I plan the redirect map before any data moves, audit it twice, and watch search performance daily for 60 days post-launch. Some short-term flux is normal — but a competent migration shouldn't cost you rankings.
Zero downtime is the goal and the realistic outcome. The new site is built on a separate domain or staging URL. On launch night, DNS flips over and the new site picks up traffic immediately. Worst-case: a 15-minute window during DNS propagation where some users see one site and some see the other. Real downtime is essentially never required.
Customers come over — emails, addresses, order history, customer groups, B2B pricing tiers. Passwords don't, because they're hashed and the hashes aren't portable across platforms. The standard approach is a "password reset required" email blast at launch, framed as a security upgrade. Customer login experience stays smooth.
Yes — full order history including line items, payment status, fulfillment status, and customer notes. This is non-negotiable for businesses that need it for warranty claims, returns, or B2B reorder flows. Some platforms make this harder than others (looking at you, Shopify on legacy data) but it's always doable.
There's a rollback path written into the launch runbook. If something genuinely catastrophic comes up at cutover, DNS gets pointed back to the old store while we fix it. In practice this has never been needed on a properly-staged migration, but the plan exists.
Because it's an order of magnitude more work. A new-store setup is configuration; a migration is configuration plus data engineering plus regression testing plus a hard live-cutover window with real revenue on the line. The price reflects the risk — if something goes wrong on launch night, real money is at stake. Quoting low and missing details is how migrations turn into disasters.
Examples
I spent 12 months running a solo Magento 1 to BigCommerce migration for a $10M flooring operation in Indianapolis. About 1,500 SKUs, years of order history, dozens of B2B accounts with custom pricing tiers, integrated with NetSuite for ERP and Klaviyo for email. The site went from $300K/month to clearing $1M months within 18 months of launching on the new platform — the migration didn't cause the growth, but it stopped being the bottleneck that prevented it.
I run that operation today. I've also done smaller setups and rebuilds — including Titan Machine Service, a custom static site for a CNC repair company. Different size of project, same operational discipline.