Shopify Horizon and theme migration glossary
Plain definitions for the terminology that comes up when you’re evaluating a Shopify theme migration.
Written for people making a decision rather than people writing the code.
Theme architecture
A component that sits inside a section, such as a heading, an image, or a button. In Online Store 2.0 themes blocks nest one level deep. In block-based themes like Horizon they nest much further, which is what allows complex layouts to be assembled rather than developed.
A Shopify Plus capability that groups related products so they can be presented as one item with a variant picker. On Horizon this works on the product page; on collection pages grouped products still appear as separate cards by default.
A packaged set of theme styling choices — colors, typography, spacing, corner treatments — that can be applied as a group. Horizon ships with several, which allows a visual refresh without rebuilding the storefront.
A block defined once and reused across multiple templates, where editing the original updates every instance. Useful for elements that appear in many places — promotional banners, trust badges, shipping messaging — that previously had to be updated individually.
Color and variant swatches provided by the theme itself rather than by a third-party app. Horizon includes these, which for some stores removes an app.
Blocks placed inside other blocks, to a depth of up to eight levels in Horizon against two in Online Store 2.0 themes. This is the structural change that lets a merchandiser build a layout that would previously have required a developer, and it’s what AI block generation produces.
Shopify’s theme architecture introduced in 2021, built around sections and blocks that merchants can rearrange in the theme editor. It replaced a model where most layout changes required editing code. Dawn was its reference theme. Online Store 2.0 themes support two levels of block nesting.
A configurable region of a page — a hero, a product grid, a testimonial row. Sections are the primary building unit in Online Store 2.0 themes, and merchants can add, remove, and reorder them in the theme editor without touching code.
The encapsulation mechanism that makes web components self-contained, keeping their internal structure separate from the rest of the page. It’s the technical reason some older apps break on Horizon: integration patterns that worked by reaching into a theme’s markup can’t reach inside a shadow root.
A reusable fragment of theme code included in multiple places. Snippets frequently contain business logic that isn’t visible anywhere in the theme editor, which is why they need to be inventoried during a migration.
The layout file that wraps every page of a Shopify storefront. Scripts injected directly into this file are a common source of migration difficulty, because they have no vendor, no documentation, and often nobody who remembers adding them.
A self-contained, encapsulated element of a page with its own internal structure that outside code can’t reach into directly. Horizon rebuilt several core storefront elements this way, including the variant picker, gallery, cart drawer, and predictive search.
Data and content
A custom field attached to a product, collection, customer, or other Shopify object, holding data the standard fields don’t cover — ingredients, care instructions, specifications. Metafields are referenced by theme templates, which is why they’re among the most commonly missed items in a migration: nothing looks broken until a page renders without its content.
A custom content type in Shopify, used for structured content that isn’t attached to a single product — a size chart, an ingredient definition, a store location. Like metafields, metaobjects are referenced by templates and need mapping before a rebuild.
The tag and collection structure of a store. Tags frequently drive display logic — showing a badge, enabling a subscription option, changing a template — which makes them business rules rather than just labels, and means they need documenting as such.
Shopify’s framework for selling across multiple countries, handling currency, pricing, domains, and localization. Market configuration and any market-specific display logic have to be reproduced in a theme migration.
Shopify’s tool for managing storefront translations and market-specific content. Relevant to a migration because theme-level string overrides sometimes live in theme files rather than in the translation editor, and those don’t carry across automatically.
Apps and integrations
An app-provided element enabled at the theme level rather than placed in a specific section — commonly used for scripts that need to load on every page. App embeds usually port to a new theme, though they need re-enabling.
A method of injecting JavaScript into a storefront from outside the theme. Script tags often outlive the reason they were added, and they’re a frequent source of both performance weight and migration surprises.
Shopify’s underlying structure for subscription and prepaid purchase options. A subscription widget’s job is to attach a selling plan to a cart item, which is why subscription apps integrate deeply with the product form — and why they’re disproportionately affected by a theme migration.
The modern way a Shopify app adds functionality to a storefront, as a self-contained block a merchant can place in the theme editor. Apps using theme app extensions generally survive a theme migration cleanly, because they aren’t embedded in theme code.
Performance and standards
How much a page’s content moves around while it loads. High CLS is what causes someone to tap the wrong thing because the layout jumped. Google’s threshold for “good” is 0.1 or less.
Google’s set of user-experience metrics — LCP, INP, and CLS — used as a signal in search ranking and as a common shorthand for site performance. Worth measuring before and after any migration, on your own store rather than against theme benchmarks.
How quickly a page responds when someone interacts with it — taps a button, opens a menu. It replaced First Input Delay as a Core Web Vital in 2024. Google’s threshold for “good” is 200 milliseconds or less.
How long it takes for the largest visible element on a page to render. A common proxy for how fast a page feels. Google’s threshold for “good” is 2.5 seconds or less.
Machine-readable markup that tells search engines and answer engines what a page contains — that this is a product, with this price and this availability. It has to be rebuilt to match during a migration, and it’s easy to lose silently.
The accessibility standard most commonly used as a compliance benchmark for commercial websites. Automated scanning catches a portion of failures; the remainder require manual review. Accessibility findings are worth taking seriously independently of any migration decision.
Migration process
The specific, testable condition proving a requirement has been met. “The cart drawer works” is not an acceptance criterion. “Adding an item from a collection card opens the drawer showing the correct variant image, line price, and updated item count” is.
A recording of how a storefront actually behaves before any migration work begins — captured across templates, states, and screen sizes. Acceptance is then a comparison against that recording, which catches functionality that was never written into the specification.
A period, usually around peak trading, when a business prohibits changes to its live storefront. Because a migration is built on an unpublished theme, most of the work can proceed during a freeze — the launch is what waits.
A separate Shopify store used for development and testing, without processing real orders.
The record of URL redirects a store has accumulated. Preserving it through a migration is essential to protecting search traffic, and losing it is a failure that shows up weeks later rather than on launch day.
The document defining everything a rebuilt storefront must do, ideally with a testable acceptance criterion attached to each item. The most common cause of a disappointing migration is functionality that was never written down.
How far a store’s theme has diverged from the base version it started from. High drift means the theme can no longer safely take upstream updates, which is both a reason migrations become necessary and a driver of how much they cost.
A theme present in a store’s library but not live. Migrations are built on unpublished themes, which is why the work doesn’t affect the live storefront until it’s deliberately published.
The original, unmodified version of a theme as published by its developer. The gap between your theme and its upstream version is theme drift.
Curious how your own storefront measures up?
We’ll run a free scorecard — speed, accessibility and technical SEO against three competitors you name.








