SEP 28, 2026 · UPDATED OCT 5, 2026 · 8 MIN READ
The replatform decision, made with evidence
Most replatform conversations start from a mood, not a constraint. Before scoping a migration, name the specific thing the current platform cannot do, because in a growing number of cases, it already can.
Replatform when a named, specific constraint is blocking revenue or growth and the current platform genuinely cannot remove it, not because the team is frustrated with it. Write the constraint down as one sentence: "we cannot do X on our current platform, and X is worth $Y." If that sentence cannot be completed, there is no migration case yet, only a symptom that a theme rebuild, an app cull or a new agency might fix at a fraction of the cost. Some constraints that used to force a genuine migration decision have since been solved on the platform itself (Shopify's product variant limit and its checkout customization model both changed materially in the last two years) so the first step in any replatform conversation is checking whether the reason still holds, not assuming it does.
IN SHORT
- Replatforming is justified by a specific, named constraint the current platform cannot remove, not by a general sense that things feel slow or dated.
- Before scoping a migration around a limit, check whether it has already been lifted: Shopify raised its per-product variant cap from 100 to 2,048 in October 2025, which used to be a real reason to leave and usually is not any more.
- Checkout customization moved from editing checkout.liquid directly to a dedicated checkout and accounts editor built on UI extensions, which addresses within Shopify a constraint that drove real replatform decisions a few years ago.
- A theme or app problem dressed up as a platform problem is the single most common misdiagnosis behind an unnecessary migration.
- Price both sides of the decision: the measurable cost of migrating (the cutover window, the redirect risk, every integration rebuilt) against the value of the constraint you are actually trying to remove, not against how tired the team is of the current setup.
- Constraints that still justify a migration tend to be architectural (a data or entity model the platform cannot represent, an integration pattern outside its object model) not a performance complaint an audit would explain.
- If you cannot finish the sentence "we cannot do X here, and X is worth $Y", the decision is not ready to be made yet.
Start with the constraint, not the mood
Almost every replatform conversation we are brought into starts the same way: something feels wrong. The site feels slow, the theme feels dated, the last three campaigns felt harder to ship than they should have, the current agency feels unresponsive. All of that might be true, and none of it is a reason to migrate, because none of it names a thing the current platform cannot do.
The test that separates a real migration case from a mood is whether you can finish one sentence: "we cannot do X on our current platform, and X is worth $Y." Not "we would prefer to", not "it would be nicer if". Cannot, as in blocked. If the sentence does not finish, the conversation is not really about the platform, and it is worth finding out what it is actually about before a six-figure migration gets scoped to fix it.
This matters because the alternative diagnosis is usually cheaper and faster to fix. A slow site is very often an app problem, not a platform one. A theme that cannot support a new merchandising idea is a theme problem, fixable by extending it rather than replacing what it sits on. An unresponsive agency is a vendor problem with an obvious, non-destructive fix. Replatforming solves exactly one class of problem: a genuine, named limit in the platform itself.
Constraints that used to justify a migration, and do not any more
Some of the reasons merchants replatformed two or three years ago have since been addressed on the platform they were leaving, which makes them worth checking before anyone builds a business case on them.
The clearest example is the product variant limit. For years, a catalog that needed more than 100 variants on a single product (a large size and color matrix, a made-to-order configuration with many option combinations) was a documented, hard reason a specific class of merchant looked elsewhere. Shopify raised that limit to 2,048 variants per product for all merchants in October 2025, which removes the constraint for the great majority of catalogs that hit the old cap. A three-option limit and some throttling on very large catalogs still apply, so it is worth checking your specific numbers against the current limits rather than the old ones, but "we have too many variants for Shopify" is no longer true for most of the merchants who used to say it.
Checkout customization is the second example. Editing checkout.liquid directly used to be the only way to make anything beyond cosmetic changes to Shopify's checkout, which was a real constraint for merchants with specific checkout requirements. Shopify now provides a dedicated checkout and accounts editor built on UI extensions and Checkout Blocks, separate from the theme editor, for customizing branding, content and functionality on checkout, the thank-you page, the order status page and customer accounts. It is not identical to unrestricted code (some things that were possible in checkout.liquid are not possible the same way) so the sensible step is to check your specific requirement against what the current editor and available extensions support, rather than assuming the old ceiling is still there.
The pattern in both cases is the same: a specific, well-known constraint gets cited as the reason for a migration years after the platform vendor addressed it. Checking the current state of the constraint costs an afternoon. Scoping a migration around a constraint that no longer exists costs the whole project.
Scoping a migration around a constraint that no longer exists costs the whole project.
Constraints that still justify one
None of this means replatforming is never the right call. It means the bar is a named architectural limit, not a feeling, and the genuine cases tend to share a shape: something about how the business is structured does not fit the object model of the platform it is on, and no amount of app or theme work changes that.
A catalog and order model that genuinely needs to be split and governed as separate legal entities, currencies or tax jurisdictions in ways the current platform cannot represent is an architectural constraint. An integration pattern where the source-of-truth system needs a data relationship (a custom entity, a workflow state, a rule engine) that has no equivalent object on the current platform is an architectural constraint. A specific, checked requirement that neither the current checkout customization tools nor any available app can meet, after you have actually gone looking, is an architectural constraint.
What distinguishes these from the previous section is that they do not resolve by reading a changelog. Nobody is going to ship a feature that makes two separate legal entities sharing a catalog not a hard problem, because it is a genuinely different shape of business than the platform assumes. That is the test: would a plausible product update from the vendor make this constraint disappear? If yes, wait and check; if no, it is a real migration driver.
Price both sides, not just one
Once a constraint is confirmed real, the decision is a comparison, and both sides need a number attached, not just the side that is easy to measure.
The cost of migrating is the more visible one: the build, the cutover window and everything that has to be rehearsed before it, every integration rebuilt against a new platform, the redirect and SEO risk on the URL map, and the weeks of reduced velocity on everything else while the team is heads-down on the move. All of that is knowable in advance to within a reasonable range, and it should be priced before a decision is made, not discovered during the project.
The other side is the actual value of removing the constraint: the revenue a data model makes possible, the deals a missing capability is costing, the operational cost of a workaround the business has been living with. This side gets skipped constantly, because it takes more effort to quantify than "the migration will cost about this much." A constraint worth $40,000 a year does not justify a $250,000 migration with a six-month disruption. The same constraint attached to a $2m opportunity might. The number, not the discomfort, is what should decide it.
Run the theme-and-app diagnosis before anyone scopes a migration
Because a platform problem and an app or theme problem present identically to a frustrated merchandising team, the cheap step that should happen before any migration conversation is a proper audit of what is actually installed and running.
An app audit (what every installed app costs in performance, in maintenance, in overlapping functionality) resolves a surprising share of "the site feels slow and clunky" complaints on its own, at a fraction of a migration's cost and with none of its risk. A theme audit does the same for "we cannot build the pages we need." Only after both come back clean, and the actual limit is still standing, does a platform-level constraint deserve the conversation a migration requires.
What we would talk you out of
Replatforming to fix a slow site, before an app audit has ruled out the more common and much cheaper cause. Most performance complaints are app or theme problems wearing a platform costume.
Replatforming because a limit you read about two years ago is still assumed to apply. Check the current documentation for your specific number before it becomes a line item in a business case. The variant limit and checkout customization examples above are exactly the kind of assumption that goes stale.
Replatforming to solve a relationship problem with an agency or an internal team. Change the agency or the team; it is reversible and it is a fraction of the cost of a migration that was never really about the platform.
Scoping a migration before the value side of the equation has a number on it. A cost estimate for the move without an equally rigorous estimate of what the constraint is actually costing is half a business case, and it is always the easier half.
Questions this raises
How do you decide whether to replatform an ecommerce store?
Name the specific constraint the current platform cannot remove and price what it is costing. If you cannot finish the sentence "we cannot do X here, and X is worth $Y", there is no migration case yet, only a symptom, which an app audit, a theme rebuild or a new agency usually fixes for far less.
Does the Shopify product variant limit still force a migration?
Usually not any more. Shopify raised the per-product variant limit from 100 to 2,048 for all merchants in October 2025. A catalog that hit the old cap should check its actual numbers against the current limit before assuming it still applies. The three-option limit and some upload throttling on very large catalogs remain, but the 100-variant ceiling that used to drive real migration decisions is gone.
Can Shopify checkout be customized without leaving the platform?
More than it could a few years ago. Shopify provides a dedicated checkout and accounts editor built on UI extensions and Checkout Blocks, separate from the theme editor, replacing direct `checkout.liquid` edits. It is not a like-for-like replacement for unrestricted code, so check your specific requirement against what the current editor and available extensions support before assuming it is still a blocker.
What is the real cost of replatforming?
More than the build quote. Price the cutover window and the trading disruption it causes, every integration that has to be rebuilt against the new platform, the SEO and redirect risk on the URL map, and the weeks of reduced velocity elsewhere in the business while the team is focused on the move. All of it is estimable before the project starts, and it should be, rather than discovered partway through.
How do we tell whether slow performance is a platform limit or an app problem?
Run an app audit before assuming the platform is the constraint. Most performance and flexibility complaints trace to installed apps competing for the same page, or to theme debt, rather than to anything the platform itself is preventing. It is a fraction of the cost of a migration and it resolves the majority of complaints that get blamed on the platform.
When is a plan upgrade the answer instead of a migration?
When the constraint is about scale, checkout customization depth, multiple storefronts or B2B functionality rather than the underlying data model itself. Those are usually plan or tooling decisions within the same platform, and they are worth ruling out before a migration is scoped, since they carry none of a migration's cutover risk.
Read next
General information, not legal, tax or financial advice. Rates, limits and deadlines come from the vendors and authorities named, and they change: check the linked source before relying on one.
PART OF OUR SERVICE
Move to Shopify with your URLs, data and revenue intact
Magento, WooCommerce, Salesforce and legacy Shopify
NEXT STEP
Free store audit
A senior Shopify engineer reviews your storefront, theme performance and checkout, then sends a prioritized list of fixes.




