Custom Build to Shopify Migration
Bespoke stores have no export button, no migration tool and no documentation. What they have is a database shaped by years of decisions nobody wrote down. We extract the data, clean it, recover the business rules that only exist in code, and rebuild the store on Shopify — usually the messiest migration there is, and always doable.
Book a Free Technical Call
Why it matters
With a custom build, the migration isn't the hard part. The data is.
Every platform migration has a known shape — you know which tables exist, which fields are standard, which quirks to expect. A bespoke build has none of that. Product data may live across three tables and a legacy import script, prices may be calculated at render time rather than stored, and the same customer may appear four times because nothing ever enforced uniqueness. On top of that sit business rules that were never specified anywhere: a shipping surcharge triggered by a postcode range, a discount that only applies to accounts created before a certain date, a stock rule that quietly hides items. None of it is written down. All of it is load-bearing. That archaeology — not the import itself — is where the time goes, and it's the part cheap migration quotes always underestimate.
Sound familiar?
The trigger is almost always a person leaving, not a technical failure.
The store still works. That's what makes the decision hard — and one item below is a belief we'd talk you out of before quoting.
- The developer who built your store has moved on, and nobody left understands how it works.
- You can't hire for the stack, or the quotes you get assume months of reading the code first.
- Every small change — a new payment method, a tax rule — turns into a development project.
- Your checkout is bespoke, and PCI compliance is now a conversation you'd rather stop having.
- You assume your data is too messy to migrate, so you've kept postponing even asking.
- Nobody in the business can say with confidence what the pricing or shipping rules actually are.
What's included
What a custom build migration includes
Extraction written for your system, data cleaned before it lands, and a deliberate decision about what gets left behind.
Bespoke data extraction
There's no standard export, so we write one. Depending on what you have, that means direct read-only database access, your existing API, or a scraping pass over the live site where neither is available. We work against a copy, never your production database, and we hand you the extraction scripts at the end.
Data cleaning and deduplication
Duplicate customers, orphaned order lines, products with no images, prices stored in three formats, HTML descriptions carrying inline styles from a 2014 editor. All of it gets normalised before import. This is the largest single block of work in most custom migrations, and we scope it honestly rather than hiding it inside a fixed price.
Business rule recovery
We read the code to find the rules nobody documented — pricing logic, shipping conditions, stock behaviour, customer group entitlements — and write them down as a specification you own. Then we decide together which ones map to native Shopify behaviour, which need Shopify Functions, and which were bugs you've been living with.
Custom checkout to Shopify checkout
Your bespoke checkout gets replaced, not rebuilt. That means PCI scope, fraud analysis, Shop Pay and wallets come free — and it means some behaviour has to change, because Shopify's checkout is not fully rewritable. Custom fields, validation and delivery logic move to Checkout UI Extensions and Functions, with Shopify Plus needed for the deepest changes.
Admin tooling replacement
Bespoke builds usually have internal screens the team relies on daily — bulk pricing tools, fulfilment queues, reporting views. Most of that is covered by the Shopify admin. Whatever genuinely isn't gets built as a small embedded custom app, so your team keeps the workflow instead of inheriting a worse one.
URL mapping and 301 redirects
Custom builds have unpredictable URL structures — query strings, ID paths, category trees that changed twice. Every indexed URL is crawled and matched to its Shopify destination, with 301s in place at cutover. Migrating doesn't improve rankings; correct redirects are what stop you losing the ones you have.
How it runs
How a custom build migration actually runs.
Typically 6–12 weeks, and that range widens with data mess — a clean database lands at the bottom of it, while duplicate customers and undocumented pricing logic can push past the top.
- 01
Read the system
We take a database copy and a code read-through, then profile the data: row counts, null rates, duplicates, format inconsistencies. You get a written findings document, including the parts we think shouldn't be migrated at all.
- 02
Decide what not to port
Ten years of dead products, test orders, one-off features nobody uses and a customer table full of unconfirmed sign-ups. Porting all of it is expensive and pointless. We agree the cut-off lines before writing a single import script.
- 03
Extract, clean, import
Extraction scripts run against the copy, data is normalised and deduplicated, then imported into a development store. This runs as repeatable passes, so the final import at cutover is a rehearsed operation rather than a first attempt.
- 04
Rebuild and cut over
Storefront rebuilt on Online Store 2.0, checkout logic moved to Extensions and Functions, admin gaps closed with a custom app if needed. Redirects go live with DNS, then daily Search Console and log monitoring for the first fortnight.
6–12
Weeks typical
Wider if data is messy
DB / API
Extraction route
Written for your system
301
Redirect mapping
Every indexed URL
Rules
Documented
Recovered from the code
Straight answer
Custom to Shopify is the right move more often than owners expect — but not always.
A good fit if…
- Your build works, but the knowledge to maintain it has walked out of the business.
- Routine commerce changes now require a developer, and that developer is expensive or unavailable.
- You're maintaining infrastructure and PCI scope for a checkout Shopify would give you outright.
- Your differentiator is the product and the brand, not the ecommerce engine underneath.
Probably not, if…
- Your checkout genuinely needs steps Shopify can't express, even with Functions and UI Extensions.
- The custom build is the product — a marketplace, subscription engine or configurator platform in its own right.
- You have a healthy in-house engineering team who actively maintain and ship on the current stack.
- Nobody can give us read access to the database or code, and the original developer is unreachable.
Keep exploring
Migrating from somewhere else?
Custom Build to Shopify is one part of the platforms we migrate stores from. Here's the rest of the picture.
Shopify Migration
The complete service — audit, data, redirects and cutover, from any platform.
View the serviceClosely relatedSalesforce Commerce Cloud to Shopify
Enterprise replatform — heavily customised, similar archaeology, different licensing pain.
Read the guideClosely relatedMagento to Shopify
Where a custom build sits on top of Magento, this is usually the closer read.
Read the guideAll guides in this series
- WooCommerce to ShopifyEscape plugin sprawl and self-hosting without losing rankings or order history.
- BigCommerce to ShopifySaaS to SaaS — the cleanest migration there is, and the one most often rushed.
- Wix to ShopifyOutgrown the site builder — move to a platform built for selling, not pages.
- Squarespace to ShopifyBeautiful site, limited commerce. Keep the design language, gain the engine.
- PrestaShop to ShopifyAgeing open-source stack to managed hosting, with modules mapped to apps.
Beyond this service
Other things we do
Most stores need two or three of these working together. Book a call and we'll tell you which ones actually move your numbers.
- Shopify Theme DevelopmentCustom themes built from Figma to production Liquid on Online Store 2.0 — fast and merchant-editable.
- Shopify App DevelopmentCustom and public apps, Checkout UI Extensions and Shopify Functions built with React and Polaris.
- Shopify MigrationMove from WooCommerce, Magento or BigCommerce with a full 301 redirect map and zero downtime.
- Shopify SEOTechnical audits, Core Web Vitals, structured data and collection content built around buyer intent.
- Shopify Performance OptimizationFaster load times and green Core Web Vitals — theme refactors, image pipelines and app cleanup.
- Shopify A/B TestingHypothesis-led experiments on product pages and checkout, shipped as native theme code.
- Shopify Email Marketing & KlaviyoFlows, segmentation and campaigns — welcome, abandoned cart, winback and SMS, built and monitored.
- Shopify CRO & FunnelsValue-ladder, tripwire, quiz and post-purchase upsell funnels built to lift conversion and AOV.
- Shopify Maintenance & SupportRetainers covering uptime monitoring, security patching, bug fixes and proactive improvements.
Frequently asked questions
- Yes, and messy data is the norm rather than the exception — we've never opened a bespoke database that was clean. What varies is how much cleaning is needed, which is why we profile the data before quoting rather than after. Duplicates, inconsistent formats and orphaned records are all solvable. The only genuine blocker is data that doesn't exist: if historical orders were never stored, no migration recovers them.
Running a bespoke store?
Book a 30-minute technical call. We'll talk through your data, your checkout and your business rules, and tell you what a realistic migration looks like.
Book a free call