If you've been around Shopify for a while, you've probably heard terms like "Online Store 1.0," "Online Store 2.0," and more recently, "theme blocks" or "blocks that go anywhere." These aren't just version numbers — they represent fundamental shifts in how Shopify stores are built, customized, and maintained. Each generation gave merchants more control over their storefronts and gave developers better tools to build with.

But if you're a merchant trying to make sense of it all — maybe you're evaluating themes, considering a migration, or just trying to understand what your current theme can actually do — the terminology can be confusing. What's the practical difference between these generations? What did each one unlock? And why should you care?

This guide walks through the evolution of Shopify theming from 1.0 to the present, in plain language. We'll explain what changed at each stage, what it means for the way you build and manage your store, and why the latest developments around theme blocks represent a genuinely meaningful step forward for merchants.

Online Store 1.0: where it all started

Shopify's original theme architecture — now referred to as Online Store 1.0 — was the foundation that powered hundreds of thousands of stores for years. And for its time, it worked well. But by today's standards, it was rigid in ways that created real friction for both merchants and developers.

How 1.0 themes worked

In a 1.0 theme, the layout of each page was defined entirely in code. Every template — your homepage, product page, collection page, cart page — was a Liquid file that determined exactly what appeared and in what order. If you wanted to change the structure of a page — move a section, add a new content area, remove something you didn't need — you had to edit the theme's code directly or hire a developer to do it.

The one exception was the homepage. Shopify introduced "sections" for the homepage in 2016, allowing merchants to add, remove, and rearrange content blocks on that single page through the visual customizer. But that flexibility ended at the homepage. Every other page in your store was locked to whatever structure the theme developer had coded into the templates.

What this meant for merchants

In practice, 1.0 meant that your theme was something you configured, not something you composed. You could change settings — colors, fonts, which collection to feature, what image to display — but you couldn't change the structure of your pages without touching code. Want to add a testimonial section to your product page? That's a developer job. Want to create a landing page with a unique layout? Developer job. Want to rearrange the order of elements on your collection page? You guessed it.

This created a dependency that slowed merchants down and made even small changes feel expensive. It also meant that themes were harder to differentiate through customization alone — most stores using the same theme ended up looking quite similar, because the structural options were so limited.

Still on a 1.0 theme? If your theme only allows section rearrangement on the homepage, you're likely running an Online Store 1.0 theme. Shopify still supports these themes, but they're missing significant functionality. Upgrading to a 2.0 theme is one of the highest-impact changes you can make for your store's flexibility and long-term maintainability.

Online Store 2.0: sections everywhere

In June 2021, Shopify announced Online Store 2.0 at its Unite conference, and it was the biggest architectural change to Shopify theming since sections were first introduced. The headline feature was straightforward but transformative: sections on every page.

What changed

With 2.0, the section system that had previously been limited to the homepage was extended to every template in the theme. Product pages, collection pages, blog posts, cart pages, standalone pages — all of them became fully customizable through the visual editor. Merchants could now add, remove, and rearrange sections on any page without touching code.

This was made possible by a new file structure in how themes were built. Instead of monolithic template files that hard-coded every element, 2.0 themes use JSON templates that reference sections. The template becomes a container, and the sections become modular pieces that the merchant controls. It's a subtle distinction technically, but the impact on the merchant experience was enormous.

App blocks

Online Store 2.0 also introduced app blocks — a way for third-party apps to integrate directly into your theme's sections through the customizer. Before 2.0, installing an app that added something to your product page — a reviews widget, a size chart, a wishlist button — typically required the app to inject code into your theme files. This was fragile. Apps could conflict with each other. Uninstalling an app sometimes left orphaned code behind. And the merchant had no control over where the app's content appeared on the page.

With app blocks, apps can register themselves as blocks that appear in the customizer's sidebar. You drag them into position just like any other section or block. You control the placement. Uninstalling is clean. And the risk of code conflicts drops significantly, because the app isn't modifying your theme files directly — it's participating in the section architecture the way it was designed to.

Metafields and dynamic sources

The 2.0 update also brought metafields into the customizer. A metafield is essentially a custom data field — extra information you can attach to products, collections, customers, or other objects in Shopify that isn't covered by the default fields. Things like a "care instructions" field on a product, a "designer bio" on a collection, or a "sustainability rating" you've created for your catalog.

Before 2.0, using metafields in your theme required custom Liquid code. With 2.0, theme sections can connect to metafields through the customizer using "dynamic sources." This means a text block in a section can pull its content directly from a product's metafield, automatically displaying different information on each product page without any code. It turned metafields from a developer-only feature into something merchants could actually use day to day.

Online Store 2.0 didn't just add features to Shopify theming. It changed who themes were for — shifting control from developers back to merchants.

What 2.0 meant for merchants

The practical impact of 2.0 was profound. Merchants gained the ability to create meaningfully different page layouts without writing code. A product page for a flagship item could have a completely different section layout than a standard product page. A landing page for a seasonal campaign could be built entirely in the customizer. The dependency on developers for structural changes — the biggest pain point of 1.0 — was largely eliminated.

It also meant that premium themes could offer dramatically more value. With 2.0, a theme's section library became its most important asset. The more section types a theme offered — and the more thoughtfully they were designed — the more a merchant could do without outside help. This raised the bar for what a good theme looked like, and it rewarded theme developers who invested in depth and flexibility.

Theme blocks: the next evolution

If Online Store 2.0 was about giving merchants control over which sections appear on a page, the theme blocks era is about giving merchants control over what goes inside those sections. It's a shift from rearranging pre-built modules to actually composing content from smaller, reusable pieces — and it's the most significant expansion of merchant-facing customization since 2.0 itself.

What are theme blocks?

In the 2.0 architecture, blocks existed but they were scoped to specific sections. A slideshow section had slide blocks. A multi-column section had column blocks. A testimonial section had testimonial blocks. Each block type was defined by the section it belonged to, and it couldn't be used anywhere else. If you wanted a heading block in a section that didn't include one, you were out of luck — unless the theme developer had specifically built it in.

Theme blocks change this by introducing blocks that are defined at the theme level rather than the section level. A heading block, an image block, a button block, a text block, a video block — these can now be created once and dropped into any compatible section across the entire theme. The blocks are universal. They go anywhere.

Why this matters

The practical impact is that sections become more like containers and less like finished components. Instead of a "hero banner" section that always has a heading, a subheading, an image, and a button in a fixed arrangement, you might have a flexible section that accepts any combination of theme blocks. You decide what goes inside. Maybe it's a heading and a video. Maybe it's two images and a button. Maybe it's a product card and a text block. The section provides the layout framework; the blocks provide the content.

This is a meaningful shift in how customization works. In the 2.0 model, you were choosing from a menu of pre-built configurations. With theme blocks, you're composing — assembling content from smaller, interchangeable pieces in ways the theme developer didn't have to explicitly anticipate. It's the difference between choosing from a set menu and ordering à la carte.

A practical example: Imagine a promotional section on your homepage. In a 2.0 theme without universal blocks, that section might accept a heading, subheading, image, and button — and that's it. With theme blocks, that same section could accept a heading block, then a product card block, then a countdown timer block, then a button block. You build the content you need from the pieces available, rather than being limited to what the section was pre-configured to hold.

Blocks can also be sections

One of the more powerful aspects of this evolution is that theme blocks can function as standalone sections as well. A block that works inside a multi-column layout can also be dropped directly onto a page as its own full-width section. This dual nature means fewer redundant components in the theme — a single well-built block serves double duty — and more flexibility for the merchant. You're not choosing between "use this as a block inside something" or "use this as a standalone section." You can do both, depending on what the page needs.

What this means for theme quality

Theme blocks raise the bar for what a well-built theme looks like. It's no longer enough for a theme to offer a large library of sections. The blocks within those sections need to be designed to work beautifully in multiple contexts — inside different sections, at different widths, in different color schemes, on different devices. A heading block that looks great inside a hero banner but breaks inside a sidebar needs more work. A product card block that functions in a grid section but looks awkward in a text-heavy editorial section isn't ready.

The best themes in this new era treat every block as a first-class citizen — styled, spaced, and responsive no matter where it lands. This is harder to build, but the result is a theme that feels less like a set of templates and more like a design system. For merchants, that translates to more expressive power with less friction.

Comparing the three generations

It helps to see these changes side by side — not as a feature checklist, but in terms of what each generation actually let merchants do.

Page customization

With 1.0, the homepage was the only page where you could rearrange sections through the customizer. Every other page was locked to its coded template. With 2.0, sections became available on every page — product, collection, blog, cart, and custom pages. With theme blocks, the content within those sections became composable, giving merchants granular control not just over which sections appear but over what each section contains.

Developer dependency

In the 1.0 era, almost any structural change required a developer. Moving an element on a product page, adding a new content area to a collection page, creating a unique landing page layout — all of it meant editing Liquid code. With 2.0, structural changes on any page moved into the customizer, dramatically reducing the need for developer involvement. Theme blocks push this further: the combinatorial flexibility they provide means merchants can create page compositions that were previously only possible through custom development.

App integration

In 1.0, apps typically injected code directly into your theme files — a fragile approach that created conflicts and left orphaned code when apps were uninstalled. Online Store 2.0 introduced app blocks, giving apps a clean, customizer-native way to integrate. Theme blocks extend this further, as app blocks can now participate alongside theme blocks in the same composable system, making integrations feel more native and giving merchants finer control over placement.

Content flexibility

The progression here is steady and clear. In 1.0, you changed settings within fixed structures. In 2.0, you chose and arranged modular sections, each with their own settings and blocks. With theme blocks, you compose content from reusable, context-independent pieces that work across the entire theme. Each generation gave merchants a more expressive vocabulary for building their stores.

Each generation of Shopify theming didn't just add features — it moved the line between what requires a developer and what a merchant can do themselves.

What this means for you right now

Understanding the evolution is useful, but the practical question is: what should you actually do with this knowledge? The answer depends on where you are in your Shopify journey.

If you're still on a 1.0 theme

It's time to upgrade. This isn't about chasing trends — it's about functionality. A 1.0 theme locks you out of features that Shopify has been building for years: sections on every page, app blocks, metafield integration, and now theme blocks. The longer you stay on 1.0, the wider the gap between what your store can do and what the platform supports. Migrating to a modern 2.0 theme (ideally one that supports theme blocks) is one of the highest-impact investments you can make. We've written a guide to choosing the right theme that can help with the selection process.

If you're on a 2.0 theme

You're in good shape, but it's worth checking whether your current theme has adopted theme blocks. Not all 2.0 themes have been updated to support them, and the ones that have offer meaningfully more flexibility. Check your theme's changelog or reach out to the developer. If your theme supports theme blocks, take time to explore the new capabilities in the customizer — you may find that sections you thought were limited now accept a wider range of content than before.

If you're choosing a theme for a new store

Look for themes that have fully embraced the theme blocks architecture. This means a rich library of universal blocks that work across multiple sections, well-designed standalone block sections, and documentation that explains how the system works. A theme built around theme blocks will give you the most customization freedom today and the best foundation for Shopify's continued evolution.

How to check: Open a theme's customizer (or its demo, if available) and look at the blocks available inside different sections. If the same block types — headings, images, buttons, text — appear consistently across multiple sections, the theme is using universal blocks. If each section has entirely different, unique block types, it's likely using the older section-scoped approach.

A note for developers and theme builders

If you're building themes or doing custom development for Shopify merchants, theme blocks represent a significant shift in how you architect your work. The old model of building self-contained sections with tightly scoped blocks still works, but it doesn't take advantage of the composability that theme blocks enable. Building a strong set of universal blocks that are styled to work in any context — and sections that are designed to be flexible containers — is more work upfront, but it produces a theme that's dramatically more capable and easier to maintain long-term.

The Liquid templating language and Shopify's theme development documentation cover the technical implementation in detail. The key mental shift is moving from "sections as finished components" to "sections as layout containers and blocks as the atomic units of content." Themes built with this philosophy give merchants genuine compositional freedom — the kind that used to require custom code — while keeping the guardrails that prevent things from looking broken.


The trajectory is clear

Looking at the arc from 1.0 to theme blocks, the pattern is unmistakable: Shopify is steadily moving more creative control from developers to merchants. Not by dumbing things down, but by making the building blocks more modular, more composable, and more powerful. Each generation has reduced the distance between what a merchant imagines and what they can build without writing code.

For merchants, this is unambiguously good news. The theme you install today can do things that would have required a custom build five years ago. The customizer is no longer just a settings panel — it's a genuine design tool. And with theme blocks, the line between "customizing a theme" and "designing a store" is thinner than it's ever been.

For theme developers like us, it means the bar keeps rising — and that's a good thing too. Better tools demand better craft. The themes that succeed in this new landscape will be the ones that treat composability as a first principle, that build blocks to be beautiful in any context, and that give merchants the freedom to create something that genuinely feels like their own.

That's always been the goal. The tools have finally caught up.