What a store migration actually costs
The quote is not driven by how many products you have. It is driven by how many places your content lives, and how much organic traffic you would lose by getting the redirects wrong.

Migration quotes vary by a factor of ten for stores that look similar from the outside, and the reason is almost never catalog size. Importing 5,000 products costs about the same as importing 500 once the mapping is written. What moves the number is how many separate systems your storefront is assembled from, how much of it has no export path, and how much organic traffic is at risk if the URL map is wrong. Our own work starts at $1,999 for a straightforward setup and $4,500 for a branded build, with genuinely complex migrations quoted only after an audit — and this page explains which side of that line a store usually lands on, so you can estimate before anyone talks to you.
The four variables that actually move a quote
Ask any prospective partner to price these four separately, because a single number hides which one is expensive. Content format: block markup extracts in days, Elementor JSON in a week or two, WPBakery shortcodes depend entirely on how many distinct tags your site registers. Configuration with no export: theme options panels, header builders, hook-injected fragments — all transcribed by hand. Plugin surface: every plugin touching the storefront needs a decision, and the ones writing to custom database tables are the expensive ones. Traffic at risk: a store with 40 indexed pages needs a spreadsheet, a store with 12,000 needs a mapped, tested and monitored redirect programme.
- Content format — the single biggest driver of extraction cost
- Configuration outside content exports — always manual, always underestimated
- Plugin count and what each one touches
- Indexed URLs with impressions — this drives QA, not development
Why catalog size matters less than people expect
Once the field mapping between two systems is written, running it against 500 or 15,000 products costs roughly the same. What does scale with catalog size is reconciliation: checking that prices, stock levels and variant relationships came across correctly. At a few hundred products a person can eyeball it. Past a few thousand you need scripted comparison against the source system, and that is real work — but it is measured in days, not in proportion to your SKU count. A quote that scales linearly with product count deserves one question before signing: what exactly happens per product? The honest answer rarely justifies the slope.
The line items missing from most quotes
Four costs land after the invoice and belong in the budget from the start. Hosting, because leaving a SaaS platform means buying what it was absorbing — expect a real figure, not $5/month shared hosting, or the performance argument for migrating collapses. Ongoing maintenance: plugin updates, PHP versions, backups and monitoring, which is why we quote a Care Plan from $150/month rather than pretending it is free. Content re-entry for anything that had no export path. And parallel running, because keeping the old system live read-only for a month is the cheapest insurance in the project.
- Hosting at a real specification, not the cheapest tier
- Maintenance from about $150/month, or a developer on call
- Manual content re-entry for unexportable configuration
- A month of parallel hosting for the old system
What the cheap quote is not doing
A migration quoted well below market is usually skipping the same three things, and they are the three that determine whether the project succeeds. It is running an automated import without reconciling the result against the source. It is generating redirects from the sitemap rather than from Search Console impressions, which means every URL that earned traffic but is not in the sitemap silently 404s. And it is not testing checkout end to end with real payment methods before launch. You will not see any of these omissions in the proposal. You will see them six weeks after launch when organic traffic is down 40% and nobody can say which URLs used to rank.
How to compare two quotes honestly
Do not compare totals. Ask both parties for the same four numbers — extraction, configuration transcription, redirect mapping, QA — then ask each how they build the redirect map and what they reconcile the catalog against. Those two answers separate a real migration from an import script.
When the honest answer is not to spend the money
Three cases where we say no, and you should hear them from anyone you ask. Green CrUX vitals with a complaint about a lab score sitting on top of them: there is nothing here to sell you. If the slowness traces to database queries or oversubscribed hosting, migrating carries the problem across unchanged and a $200 hosting move fixes more than a $15,000 rebuild. And if nobody will own maintenance afterwards, the migration converts a working store into a decaying one — that is not a saving, it is deferred cost with interest.
A rough shape, stated as ranges not promises
For a store on a block-based theme with clean URLs and under 500 products, a straightforward storefront setup starts around $1,999 and runs one to two weeks. Add a branded design, custom sections and a deeper SEO migration plan and it starts around $4,500. Past that — a large catalog, a builder-heavy site with thousands of indexed URLs, or a plugin stack with several custom integrations — the honest answer is that a fixed number before an audit would be a guess, which is why that tier is quoted individually. If a firm price is offered without anyone seeing your Search Console and your plugin list, treat it as a number someone will need to revise rather than a commitment.
Frequently asked questions
Does a bigger catalog mean a bigger migration bill?
Much less than people expect. Once field mapping is written, importing 15,000 products costs about the same as 500. What scales is reconciliation, and that is measured in days rather than per product.
What makes one migration ten times another?
Content format, configuration that has no export path, plugin surface, and how many indexed URLs carry traffic. Ask for those four priced separately — a single total hides which one is expensive.
What do cheap quotes leave out?
Usually three things: reconciling the import against the source, building redirects from Search Console impressions rather than the sitemap, and testing checkout end to end with real payment methods.
What does it cost to run afterwards?
Hosting at a real specification plus maintenance — we quote a Care Plan from $150/month. A migration budget that excludes both is understating the true cost of the decision.
Redesign cost
What an ecommerce website redesign actually costs: the real price drivers, three scope tiers, why cheap quotes get expensive later, and how to compare bids.
Cost to build a store
Three honest routes to a first online store, the line items nobody quotes you, and the running costs that decide whether year two is affordable.
Headless WooCommerce migration
Move WooCommerce to a fast Next.js storefront without losing WordPress operations, hybrid checkout, SEO URLs or plugin control.
See how many sales your store is losing
Start with a free speed audit. You'll get your store's real numbers and an honest recommendation — even if it's "you don't need us".