The Upgrade That Redefined How Shopify Stores Are Built
When Shopify announced Online Store 2.0 at Unite 2021, it wasn't a minor version bump. It was a fundamental rethinking of how themes work — from how templates are structured to how merchants add content to how apps integrate with storefronts. Five years later, many merchants are still running 1.0 themes and wondering whether upgrading is worth the effort.
The short answer: for the vast majority of stores, OS 2.0 is objectively better. But "better" doesn't always mean "you should migrate right now." The right decision depends on your current theme investment, your customization needs, and whether your store relies on code-level modifications that might break during a migration.
This guide compares Shopify 1.0 vs 2.0 themes on every dimension that matters — architecture, customization, performance, app compatibility, SEO, and developer experience. If you're still on a vintage theme or evaluating whether to invest in a migration, you'll leave with a clear answer. The Talk Shop community includes merchants and developers on both architectures, and the analysis here reflects real-world experience building and maintaining stores at every scale.
Architecture: How 1.0 and 2.0 Themes Are Fundamentally Different
The difference between OS 1.0 and 2.0 isn't cosmetic. It's structural. The entire file system, template rendering pipeline, and content management paradigm changed.
OS 1.0: Liquid Templates as Monoliths
In the original architecture, templates are .liquid files that contain HTML, Liquid logic, and section references directly in the markup. A product template might look like this:
{% section 'product-main' %}
{% section 'product-recommendations' %}The key limitation: these section references are hardcoded. Merchants can't add, remove, or reorder sections on product pages, collection pages, or any page other than the homepage. The homepage is the only template that supports dynamic sections — the rest are frozen in place by the developer's original code.
OS 2.0: JSON Templates as Configuration
Online Store 2.0 replaced .liquid template files with .json files. Instead of containing markup, these templates contain a data structure that lists which sections to render and their settings:
{
"sections": {
"main": {
"type": "main-product",
"settings": {}
},
"recommendations": {
"type": "product-recommendations",
"settings": {}
}
},
"order": ["main", "recommendations"]
}Because the template is data rather than code, the theme editor can modify it at runtime. Merchants add sections, remove them, reorder them, and configure settings — on every page, not just the homepage. This is what Shopify calls Sections Everywhere, and it's the single biggest reason to upgrade.
Architecture Comparison at a Glance
| Feature | OS 1.0 (Vintage) | OS 2.0 |
|---|---|---|
| Template format | .liquid files | .json files |
| Section support | Homepage only | Every page type |
| Section limit per page | Varies | 25 sections, 50 blocks each |
| Content management | Code edits required | Theme editor for everything |
| File structure | Flat templates | Modular sections + JSON configs |
| CLI support | Theme Kit | Shopify CLI (Theme Kit deprecated) |
According to Shopify's JSON templates documentation, each JSON template can render up to 25 sections, and each section supports up to 50 blocks. That's more than enough architectural headroom for even the most complex page layouts.
Sections Everywhere: The Feature That Changes Everything

If you've ever tried to add a testimonial carousel below your product details, or a trust-badge section above your collection grid, you know the pain of OS 1.0. The homepage was flexible. Everything else was rigid.
What "Sections Everywhere" Actually Means
In OS 2.0, every page type — product, collection, blog, article, cart, even 404 pages — supports the same drag-and-drop section management that was previously limited to the homepage. Merchants can:
- Add promotional banners to product pages without touching code
- Insert FAQ sections below collection grids
- Place upsell blocks on cart pages
- Create unique layouts for individual products using alternate templates
- Reorder content on any page from the theme editor
This matters enormously for conversion optimization. When you can A/B test different section layouts on product pages without filing a developer ticket, your iteration speed increases by an order of magnitude. Stores that take conversion rate optimization seriously need this level of flexibility.
Alternate Templates: The Underrated Power Feature
OS 2.0 also introduced alternate templates — the ability to create multiple JSON template files for the same page type. You might have product.json for your default layout and product.landing.json for a long-form sales page. Merchants assign templates to individual products from the admin, no code required.
This is transformative for stores with diverse product catalogs. A store selling both simple accessories and complex electronics can give each product type a perfectly tailored page layout — different sections, different ordering, different information hierarchy.
Metafields and Dynamic Sources: Native Content Without Apps

OS 1.0 had metafields, but they were a developer tool. You needed custom Liquid code, third-party apps, or API calls to create, populate, and display them. Most merchants never touched metafields because the barrier to entry was too high.
How OS 2.0 Changed Metafields
Online Store 2.0 brought metafields into the theme editor through dynamic sources. Merchants can now:
- Define metafield types directly in the Shopify admin (no apps needed)
- Connect metafields to section settings using the "Connect dynamic source" button in the theme editor
- Display custom data — size charts, care instructions, ingredient lists, spec sheets — without writing a single line of code
This eliminated an entire category of paid apps. Where merchants once installed a $10/month app to display product tabs with custom content, they can now use a native metafield connected to a built-in section.
Metafield Comparison
| Capability | OS 1.0 | OS 2.0 |
|---|---|---|
| Create metafield definitions | API or app only | Admin UI native |
| Display on storefront | Custom Liquid required | Theme editor dynamic sources |
| Connect to section settings | Not possible | One-click connection |
| Supported types | Text, integer, JSON | 20+ types including files, URLs, dates, colors |
| Metaobjects (relational data) | Not available | Native support |
For merchants selling products with rich, varied attributes — supplements with ingredient lists, electronics with spec tables, clothing with fabric details — dynamic metafields alone justify the upgrade.
App Integration: Theme App Extensions and App Blocks

How apps integrate with your theme is one of the most consequential differences between OS 1.0 and 2.0. In the old architecture, apps modified your theme code directly. In the new architecture, they don't touch your code at all.
The OS 1.0 Problem: Code Injection
When you installed an app on a 1.0 theme, it typically injected Liquid snippets and JavaScript into your theme.liquid layout file or individual templates. This created several problems:
- Uninstalling the app often left orphaned code behind
- Multiple apps editing the same files caused conflicts
- Theme updates could break app integrations
- Debugging performance issues meant untangling code from several sources
If you've ever opened your theme.liquid and found 15 different app scripts loaded in the <head>, you've experienced this firsthand.
OS 2.0 Solution: Theme App Extensions
Online Store 2.0 introduced theme app extensions, a framework that lets apps provide modular "app blocks" that merchants manage through the theme editor. According to Shopify's developer documentation, apps built with theme app extensions don't edit theme code at all — they package functionality into blocks that merchants can add, position, and remove just like native sections.
This is a game changer for store reliability. When you uninstall an app, its blocks disappear cleanly. No orphaned code, no broken references, no leftover scripts dragging down your Core Web Vitals scores.
App Compatibility Matrix
| Integration Aspect | OS 1.0 | OS 2.0 |
|---|---|---|
| App installation method | Code injection into theme files | App blocks via theme editor |
| Uninstall cleanup | Manual code removal often needed | Automatic, clean removal |
| Positioning control | Fixed by code placement | Drag-and-drop in editor |
| Theme update safety | Risk of breaking integrations | Fully isolated from theme code |
| Multiple app conflicts | Common | Rare |
The Shopify Theme Store now requires all new themes to support Online Store 2.0 features including app blocks. This means the ecosystem is moving decisively toward 2.0, and apps that still rely on code injection are increasingly being left behind.
Performance: Does OS 2.0 Actually Load Faster?
Performance was a central design goal for Online Store 2.0. Shopify built Dawn — the reference theme for 2.0 — specifically to demonstrate what's possible when you build with modern web standards from the ground up.
Dawn vs. Debut: The Benchmark
Dawn, the first OS 2.0 default theme, is 35% faster than Debut, the previous OS 1.0 default. Shopify achieved this by building Dawn with minimal JavaScript, modern CSS, native lazy loading, and responsive image handling using srcset and the <picture> element.
But it's important to understand what this benchmark actually measures. Dawn is faster than Debut because of how it was built, not because JSON templates are inherently faster than Liquid templates. The performance gain comes from:
- Minimal JavaScript: Dawn uses vanilla JS sparingly instead of jQuery
- Modern image handling: Native lazy loading, WebP format, responsive srcsets
- CSS-first interactions: Accordions, dropdowns, and carousels built with CSS where possible
- Reduced third-party dependencies: No embedded libraries or frameworks
Does Upgrading Your Theme Automatically Improve Performance?
Not automatically. If you migrate a bloated 1.0 theme to 2.0 JSON templates but keep the same JavaScript-heavy components, asset pipeline, and render-blocking resources, your performance won't magically improve. The architecture change enables better performance, but you still have to build (or choose) a theme that takes advantage of it.
That said, the OS 2.0 ecosystem strongly favors performance-optimized themes. Premium themes from developers like Out of the Sandbox have rebuilt their entire lineup — Turbo, Flex, Parallax, Retina — for OS 2.0, and each rebuild included significant performance improvements as part of the migration.
What Actually Moves Performance Numbers
| Performance Factor | OS 1.0 Typical | OS 2.0 Best Practice |
|---|---|---|
| Default JavaScript approach | jQuery + plugins | Vanilla JS, minimal |
| Image loading strategy | Eager load all | Native lazy loading + srcset |
| CSS architecture | Monolithic stylesheet | Per-section CSS loading |
| App script loading | Injected into <head> | Isolated app blocks |
| Lighthouse score (default theme) | 40-60 (Debut) | 70-95 (Dawn) |
If performance is a primary concern — and it should be, since page speed directly impacts conversion rates and SEO rankings — then the OS 2.0 ecosystem gives you dramatically better starting points and more tools to maintain fast load times. According to SplitBase's guide to Shopify 2.0, CRO agencies consistently see improved Lighthouse scores after migrating clients to well-built 2.0 themes.
Developer Experience: Building and Maintaining Themes

For developers and agencies, the OS 2.0 architecture represents a significant improvement in how themes are built, tested, and maintained. If you're doing Shopify theme development professionally, this matters.
Tooling Changes
OS 1.0 themes were built with Theme Kit, a command-line tool that could push and pull theme files. It worked, but it was limited — no local development server, no hot reload, no Git integration.
OS 2.0 introduced Shopify CLI for themes, which provides:
- A local development server with hot module reloading
- Git-friendly file structure (JSON templates diff cleanly)
- Development themes that don't count against your theme limit
- Built-in theme check for linting and best practices
Theme Kit is officially deprecated. According to Liquify's architecture comparison, the tooling shift from Theme Kit to Shopify CLI is one of the most impactful changes for development teams, as it unlocks local development workflows that weren't possible before.
Code Organization Benefits
JSON templates encourage better code organization. When templates are data files rather than code files, all presentation logic lives in sections. This naturally pushes developers toward smaller, more modular, more reusable components. A section that works on a product page also works on a collection page or a custom landing page — because the template doesn't dictate its context.
For agencies managing multiple stores, this modularity means you can build a section library once and deploy it across client themes. The section doesn't care which JSON template references it.
Collaboration Improvements
The JSON template structure also improves collaboration between developers and merchants. In OS 1.0, a merchant requesting a layout change often needed a developer to edit template files. In OS 2.0, the developer creates sections with the right settings, and the merchant handles layout composition in the theme editor. The division of labor is cleaner: developers build components, merchants arrange them.
When to Stay on OS 1.0 (Yes, There Are Valid Reasons)
Despite everything above, migrating isn't always the right call. Here are legitimate reasons to stay on your current 1.0 theme.
Your Theme Is Heavily Customized and Working
If your store runs a deeply customized 1.0 theme with extensive Liquid modifications, custom sections, and third-party integrations that are all functioning well — and your conversion rate is healthy — the risk-reward calculus of migration may not favor upgrading. Breaking a working system to gain features you don't need is not a good trade.
You're Planning a Full Redesign Soon
If a complete store redesign is 3-6 months away, investing in a migration now only to rebuild again soon doesn't make sense. Instead, build your next design on a 2.0 theme from the start.
Your Store Has Minimal Content Needs
Stores with a simple catalog and few content pages may not benefit from Sections Everywhere. If your product page layout never changes and you don't add custom content frequently, the flexibility of 2.0 is a nice-to-have rather than a necessity.
You Rely on Apps That Haven't Adopted Theme App Extensions
Some older apps still rely on code injection and haven't built theme app extensions. If your critical revenue-driving apps only work via code injection, you may lose functionality in a 2.0 theme until those apps update. Check each app's documentation before committing to a migration.
Step-by-Step Migration Guide: Moving From 1.0 to 2.0

If you've decided to upgrade, here's the practical path forward. Shopify provides three migration approaches, and the right one depends on your situation.
Path 1: Switch to a New OS 2.0 Theme
Best for: Stores with minimal customizations, stores ready for a visual refresh.
This is the cleanest approach. Choose an OS 2.0 theme — either Dawn, a premium theme optimized for conversions, or a page-builder-friendly theme from providers like GemPages — and rebuild your content in the new structure.
Steps:
- Install the new theme as an unpublished theme in your admin
- Recreate your homepage layout using sections in the theme editor
- Configure product, collection, and other page templates
- Migrate metafield content and custom data
- Set up app blocks for each installed app that supports theme app extensions
- Test thoroughly on development preview
- Publish the new theme during a low-traffic window
Path 2: Update Your Existing Theme
Best for: Stores using a premium theme that has released an OS 2.0 version.
Many premium theme developers have shipped 2.0-compatible versions. According to the Shopify migration assessment guide, you should check whether your theme developer offers an updated version before attempting a manual migration.
Steps:
- Check your theme developer's changelog for an OS 2.0 version
- Download or install the updated version as an unpublished theme
- Reconfigure sections and settings (theme editor content won't carry over automatically)
- Verify all customizations and functionality
- Test app integrations in the new version
- Publish after thorough QA
Path 3: Manual Migration of Your Current Theme
Best for: Stores with heavily customized themes that need to preserve specific functionality.
This is the most complex approach. You convert your .liquid template files to .json template files, moving markup into sections. Shopify's migration guide walks through the process in detail.
Steps:
- Audit your current templates — list every
.liquidtemplate file and the sections/snippets it references - Create sections for any template-level markup that isn't already in a section
- Build
.jsontemplate files that reference your sections in the correct order - Move all template-level Liquid logic into sections
- Add schema settings to sections so merchants can configure them in the editor
- Test every page type: products, collections, blog posts, pages, cart, checkout
- Verify all apps still function correctly
Migration Effort Estimates
| Migration Path | Technical Skill | Time Investment | Risk Level |
|---|---|---|---|
| New theme | Low | 20-40 hours | Low |
| Theme update | Medium | 10-25 hours | Medium |
| Manual migration | High (Liquid + JSON) | 40-80+ hours | High |
Common Migration Pitfalls (and How to Avoid Them)
Having seen dozens of stores migrate from 1.0 to 2.0, these are the issues that catch merchants and developers most frequently.
Pitfall 1: Losing Theme Editor Customizations
When you install a new theme version or switch themes, your existing theme editor customizations — section content, settings, images — don't transfer. You have to manually recreate your homepage layout, navigation settings, and page-specific configurations. Document everything with screenshots before you start.
Pitfall 2: Orphaned App Code
If your 1.0 theme had apps that injected code, that code may reference Liquid variables, CSS classes, or JavaScript functions that don't exist in your new theme. Audit your current theme.liquid and template files for app-injected code before migrating. Contact each app's support team to confirm OS 2.0 compatibility.
Pitfall 3: Ignoring Alternate Template Assignments
If you've assigned alternate templates to specific products or pages in your 1.0 theme, those assignments reference .liquid template filenames. When you switch to .json templates, the filenames change and assignments break. You need to reassign templates after migration.
Pitfall 4: Forgetting Customer Account Templates
Customer account templates (customers/login.liquid, customers/account.liquid, etc.) still use Liquid, not JSON, in OS 2.0. Don't try to convert these to JSON — they're the exception to the Sections Everywhere model. Make sure any customizations to customer account pages are carried over as-is.
Pitfall 5: Rushing the QA Process
The single most common migration failure is insufficient testing. Test every page type, every product variant, every customer flow (account creation, checkout, order history), every app integration, and every responsive breakpoint. Test with real orders on a development store. This is where hiring a Shopify developer or agency pays for itself.
The Verdict: OS 2.0 Is Better, but Migration Timing Matters
Asking "shopify 1.0 vs 2.0 themes which is better" has a clear answer: OS 2.0 is the superior architecture by every meaningful measure. It provides more flexibility for merchants, better performance defaults, cleaner app integration, native metafield support, modern developer tooling, and a future-proof foundation that Shopify continues to invest in.
But "better" and "you should migrate today" are different statements. Here's the decision framework:
Migrate now if:
- Your current theme is underperforming (slow, inflexible, limiting your content strategy)
- You're paying for apps that metafields and dynamic sources would replace
- You need to make frequent layout changes and can't afford developer time for each one
- Your apps support theme app extensions
- You're planning any significant design work in the next 6 months
Wait if:
- Your store is performing well and your theme meets your needs
- A full redesign is imminent (build the new design on 2.0 from the start)
- Critical apps haven't built theme app extensions yet
- You don't have the budget or bandwidth for proper migration QA
Shopify hasn't announced any deprecation timeline for vintage themes, so there's no hard deadline forcing your hand. But the ecosystem — themes, apps, developer tools, documentation — is built around OS 2.0 now. Every month you wait, the gap between what your 1.0 theme can do and what the platform offers grows wider.
If you're ready to explore the upgrade, start with Shopify's migration assessment tool to evaluate your specific theme. And if you want to build custom sections that take full advantage of OS 2.0, read our guide on how to build custom Shopify sections — the skills you learn there will directly apply to your newly upgraded theme.

About Talk Shop
The Talk Shop team — insights from our community of Shopify developers, merchants, and experts.
Related Insights
The ecommerce newsletter that's actually useful.
Daily trends, teardowns, and tactics from the top 1% of ecommerce brands. Delivered every morning.
