Engineering4 min read
Migrating a Shopify store to Online Store 2.0
What 2.0 actually changes, why the migration is a theme rebuild rather than an upgrade, and what it is worth doing at the same time.
Shopify's Online Store 2.0 has been available since 2021, and plenty of stores are still on a theme that predates it. The reason is usually not ignorance. It is that nobody has been able to say, in a sentence a finance director accepts, what the migration buys.
Here is that sentence. On a vintage theme, every change to a page that is not the home page goes through a developer. On 2.0, most of them do not.
Everything below is what that actually involves, taken from migrating and redesigning Completedworks, a London jewellery and homeware brand with over a thousand products, which we have supported for more than two years.
What 2.0 actually changes
Four things matter, and only four.
Sections everywhere. On a vintage theme, sections were a home page feature. Product pages, collection pages and the rest were fixed Liquid templates. On 2.0 every template is JSON, and the merchant can add, reorder and remove sections on any of them.
Section groups. The header and footer become sections too, editable in the theme editor rather than hardcoded. This arrived later than the rest of 2.0 and is the piece most half-done migrations skip.
App blocks. Apps can install into a section without editing theme code. This is the quiet one, and it is the one that saves you. On a vintage theme, every app that touched the storefront left Liquid behind in your templates, and removing that app a year later meant finding the fragments by hand.
Metafields and metaobjects. Structured content with real fields, defined once and rendered anywhere. A material, a care instruction, a designer bio, a size guide: all of it stops being hand-written HTML inside a product description.
Why this is a rebuild, not an upgrade
There is no migration path. You cannot convert a vintage theme to 2.0.
What actually happens is that every Liquid template is rewritten as a set of sections with schema, every piece of content hardcoded in those templates becomes either a section setting or a metafield, and every app integration is re-done as an app block or a snippet you control. The visual result can be identical and the theme underneath is new.
That is why the migration is the moment to do the redesign. You are paying for the rebuild either way, and doing both at once costs noticeably less than doing them in sequence. On Completedworks the two shipped together, which is why the section names in the live theme still carry the redesign prefix they were written with.
What breaks, and what to check before you start
Apps with Liquid in your templates. Inventory every app before you begin. Some have a 2.0 app block and the swap is clean. Some do not, and you will be writing that integration yourself. Finding this out mid-migration is how timelines slip.
Speed. Sections everywhere makes it easy to stack sections on a page, and a page with twenty sections will be slower than the template it replaced. The flexibility you are buying is also a way to make the store worse. Agree on a performance budget at the start and keep measuring against it.
URLs. A redesign is where rankings get lost. Handles, collection URLs and redirects need a mapping before anything ships, not after someone notices the traffic.
Scale. With over a thousand products and several hundred collections, any decision about how a product page is built is a decision taken a thousand times. Template-level changes that would be a nuisance on a 50-product store are a project on a large catalogue.
What it is worth doing at the same time
Put the theme in Git. Shopify connects a theme to a GitHub branch directly. Without it you are editing production in a browser with no review and no history, and a theme is a codebase. This is the single change that most reduces the chance of a bad week.
Model the content properly. Migrating hardcoded content into metaobjects is the part teams defer and then never do. Do it while you are already touching every template.
Fix the structured data. Product, breadcrumb and organisation schema are cheap to get right during a rebuild and awkward to retrofit. They are also what AI assistants read when a shopper asks them for a recommendation, which is a growing share of how a store gets found. Shopify has started publishing an agent discovery file of its own for the same reason.
What this is worth to the merchant
The honest answer is not a conversion-rate number. It is that the marketing team stops filing tickets for things that should never have needed a developer: a new landing page, a seasonal section, a reordered product page, a campaign block on a collection.
The developer time that used to go on those requests goes on work that is actually worth a developer. That is the whole case, and it is enough.
If you are weighing a 2.0 migration, or sitting on a theme that has been patched for five years, tell us what you are running and we will tell you plainly whether it is worth the rebuild.