Service 03 of 06

Shopify Headless Development

Hydrogen and custom storefronts for when the theme layer genuinely stops paying — and a straight answer when it hasn't.

See Headless Development pricing ↗

Not sure this is the one you need?

Headless is the right answer far less often than it is proposed.

A theme rebuild costs a fraction of it and solves the same problem in most stores we measure. We will tell you which case you are in before you commit to either.

Get a second opinion

Who this is for

Who Shopify Headless Development is for

The storefront is one surface of several and they keep drifting apart.

A native app, a kiosk, a marketplace feed and a website, all needing the same catalogue and the same price rules. One commerce back end behind several front ends is what headless is actually for.

The theme layer has stopped paying for itself.

Not slow — structurally constrained. The rendering model, the routing or the composition the brand needs cannot be expressed in Liquid, and every campaign is now a workaround stacked on the last one.

You have the team to keep it running.

Headless moves hosting, CI, error budgets and the theme editor's whole job onto you. That is a permanent operating cost rather than a launch cost, and it is the honest question to settle first.

The argument

The question before the project

Almost everyone who writes to us about headless has already decided. They have read that it is faster, they have seen a competitor’s storefront that felt quicker, and they want a quote. The useful conversation starts one step earlier: what is the theme layer actually costing you, in money, per month?

That question has real answers. A design the theme fights on every template. Three developer-days a month spent working around Liquid’s rendering model. A front end that cannot be reused for the native app the business is also building. An editorial team blocked behind a theme release cycle. Those are reasons to go headless, and they are measurable.

“It will be faster” is usually not one, and it is the reason we are given most often. A headless storefront gives you control over what ships and when it renders. It does not give you a fast site — it gives you the ability to build one, and the equally real ability to ship something considerably slower than Dawn. We have audited headless builds that lost to the theme they replaced on every Core Web Vital, because nobody owned a budget and every quarter added one more client-side dependency.

So the first thing we sell here is not a build. It is a short, paid assessment that answers one question in writing: should this store go headless, and if not, what should it do instead. A meaningful share of them come back “not yet”. That is a good outcome for both sides, and it is the reason the technical buyers we want to work with take the second call.

What headless actually changes

Headless replaces the theme layer. Shopify keeps the products, the inventory, the orders, the customers, the discounts and the checkout. Your storefront becomes an application you own that reads from the Storefront API over GraphQL and drives the cart through it.

What you gain is control over rendering. You choose what is server-rendered, what is streamed, what is cached and for how long, what ships to the browser and what never does. You can compose Shopify with a headless CMS, a PIM, a search provider and a review system, and present them as one thing rather than as five widgets stacked on a product page. You can reuse the same component library and the same data layer for a native app or an in-store kiosk.

What you lose is more concrete than most proposals admit. The theme editor goes. Every app that works by injecting into the theme stops working, and each one becomes a decision: replace it with an API integration, rebuild the feature, or do without. Your marketing team’s ability to build a landing page on a Thursday afternoon becomes a thing you have to deliberately design for — usually by connecting a CMS with a visual editor, which is a project of its own with its own licence cost.

That trade is worth making at a certain scale and a certain rate of change. It is a poor trade for a store doing modest volume with two people running it, and the industry has been extremely quiet about that.

Hydrogen, and when it isn’t Hydrogen

Hydrogen is Shopify’s React framework for headless storefronts, built on Remix, deployed to Shopify’s Oxygen hosting. It is our default recommendation, for one unglamorous reason: it is the stack Shopify maintains against its own API. When the Storefront API changes, Hydrogen’s documentation, examples and utilities change with it. On any other stack, that reconciliation is your problem, and you pay for it every quarter forever.

There are good reasons to pick something else. An existing application that already owns the routes and the design system. A team that is deep in another framework and will maintain this for years. A front end that has to serve more than a storefront. In those cases the Storefront API is a GraphQL endpoint like any other and we build against it directly — with Astro, React or Preact depending on how much of the page genuinely needs to be interactive.

Whatever hosts it, the architecture decisions are the same and they are made before the build: rendering strategy per route, caching and revalidation, where the cart lives, what the content source is, and what stays inside Shopify because Shopify does it better than we would.

Performance is a budget, not an outcome

On a headless build we set a budget per route — bytes shipped, requests, and a Core Web Vitals target — and enforce it in the pipeline, so the build fails when a dependency pushes a route over. Field data, not lab scores: what phones on real networks experience, over a rolling window, not what a laptop on office wifi reports once.

This is the part that makes a headless storefront actually fast, and it is almost never in a proposal, because it is a constraint on the people writing the proposal.

The migration is the risky part

Moving a live storefront that already earns and already ranks is where these projects go wrong, and it goes wrong in three predictable ways.

URLs change and nothing redirects them. Structured data that the theme emitted quietly for years does not get reimplemented, and the rich results disappear about six weeks later. And pages render nothing without JavaScript, so crawlers that do not execute it — including a good share of the AI retrieval fetchers now worth caring about — see an empty document.

All three are avoidable, and all three are avoided by treating them as deliverables rather than as launch-week tasks. The redirect map is verified line by line against the old site’s indexed URLs. Structured data parity is checked page type by page type, not sampled. Server rendering is the default for anything a crawler needs, and we check what the page contains with JavaScript disabled before cutover, because that is what several of the things reading your store now actually see.

What we do

What Shopify Headless Development covers

  • 01

    Hydrogen storefronts

    Shopify's own React framework, built on Remix. The default choice for a headless build now, because it is the one Shopify maintains against its own APIs.

  • 02

    Storefront API front ends

    When Hydrogen is not the right host — an existing React or Astro application, a native app, a kiosk — the same GraphQL API drives it.

  • 03

    Theme to headless migration

    Moving a live, earning storefront without losing its URLs, its structured data or its rankings. The redirect map is the deliverable everyone forgets and everyone regrets.

  • 04

    Content and PIM integration

    Shopify holds commerce; something else usually holds editorial. Composing the two at the front end is most of what makes a headless build worth its cost.

  • 05

    Performance budgets

    A headless build is not fast by default — it is fast on purpose. Budgets per route, measured in the field, enforced in the pipeline.

  • 06

    Hosting and delivery

    Oxygen or your own infrastructure, with a deployment pipeline, preview environments and a rollback that takes seconds.

What you get

Everything on this list is a thing you can open.

  • A storefront repository you own, with preview deploys on every branch
  • A component library mapped to your design system, documented
  • A route-level performance budget, enforced in CI
  • A complete redirect map from the old URLs, verified line by line
  • Structured data parity with the theme you left, checked page type by page type
  • A content model your editors can use without a developer
  • An operational runbook — deploy, roll back, rotate tokens, purge cache

Technically

What a Vibhora storefront is actually made of.

Framework
Hydrogen on Remix, React Server Components, deployed to Oxygen
Data
Storefront API with typed queries and generated types checked into the repository
Caching
A cache policy per route, stale-while-revalidate, and cache keys a human can read
Checkout
Shopify's own checkout, always — the one part we do not rebuild
Pipeline
A preview deployment per pull request, Lighthouse and bundle budgets enforced in CI
When we say no
Most stores that ask for headless want a theme rebuild. We say so before the contract, not during it

Acceptance criteria, every build

LCP
< 2.0 s p75 mobile
INP
< 200 ms
CLS
< 0.05
route JS
< [XXX] KB gzipped, first route
SEO parity
100 % of indexed URLs mapped

A headless build that loses organic traffic at cutover has failed regardless of its Lighthouse score, which is why URL parity sits in the same list as the vitals. Anything in brackets is set per project during scoping and written into the statement of work.

How it runs

The order matters more than the estimate.

  1. Week [1]

    Is headless right

    A short paid assessment answering one question honestly. Several of these end with "stay on the theme, here is what to fix instead", and we would rather write that than a proposal.

  2. Week [1–2]

    Architecture

    Routing, rendering strategy per route, caching, the content source, and what stays inside Shopify. Written down and agreed before the build.

  3. Week [2–N]

    Front-end build

    Components against your design system, built route by route, deployed to a preview URL from the first week.

  4. Week [N–2]

    Integration

    Cart, customer accounts, search, content, subscriptions and whatever the business runs on. This is where headless projects overrun, so it is scoped separately rather than hidden inside "build".

  5. Week [N]

    SEO and cutover

    Redirects, canonicals, structured data and sitemaps verified against the old site before DNS moves, and monitored for the weeks after it.

  6. Ongoing

    After

    Dependency updates, Storefront API versions, and the performance budget checked against field data rather than a lab score.

The bracketed counts are filled from the real engagement range once three projects have been measured. The order is the commitment; publishing an invented timeline is the fastest way to lose the first scoping call.

The honest part

When headless is the wrong answer

Headless costs you the theme editor, the app ecosystem that injects into it, and a meaningful share of your team's ability to change the site without a developer. It buys you rendering control, a front end that is not bound to Liquid, and the ability to compose Shopify with systems it was never going to host. If your problem is a slow theme, a bloated app stack, or a design the theme fights you on, headless will not fix it and will make it more expensive to fix later. Most stores under roughly a million in revenue are better served by a properly built custom theme, and we will say so in writing before you spend anything.

Image — to be added · 4:3

A real theme-editor or storefront frame that makes the retained merchant control visible — evidence of what a headless build would remove, not a decorative code screenshot.

Talk to us about Headless Development

Tools and platforms

Questions

What people ask before they commission this.

What does headless actually mean on Shopify?

The storefront is a separate application you own, built with React or another framework, that reads products, collections and content from Shopify's Storefront API and manages the cart through it. Shopify still holds the products, the orders, the customers and the checkout — headless replaces the theme layer, not the platform.

What is Hydrogen and do we have to use it?

Hydrogen is Shopify's own React framework for headless storefronts, built on Remix, and it deploys to Shopify's Oxygen hosting. You do not have to use it — any front end that can call a GraphQL API will work — but it is the default we recommend, because it is the stack Shopify maintains against its own API changes and the one with the shortest path from problem to documented answer.

Do we lose the theme editor?

Yes, and this is the cost people underestimate. There is no drag-and-drop section editor on a headless storefront unless you build one or connect a CMS that provides it. Your team's ability to change a landing page without a deploy becomes a thing you have to deliberately design for, and budget for, rather than something the platform hands you.

What breaks when we go headless?

Every app that works by injecting into your theme stops working — reviews widgets, upsell apps, popup tools, anything installed as a script tag or a theme app block. Each one has to be replaced with an API integration, a component you build, or a decision to live without it. Auditing that app list is the first thing our assessment does, because it is usually the largest single line in the estimate.

Is a headless storefront faster?

It can be, and it is not automatically. Headless gives you control over rendering, bundling and caching that a theme does not; it also lets you ship a slower site than Dawn if nobody is enforcing a budget. In practice the wins come from what you choose not to load, and you can make most of those choices inside a well-built theme too — at a fraction of the cost.

Will we lose our search rankings?

Only if the migration is done carelessly, and the failure mode is always the same three things: URLs that changed without redirects, structured data that did not carry over, and pages that render nothing without JavaScript. We verify all three against the old site before DNS moves, and the complete redirect map is a named deliverable rather than a task someone remembers on launch week.

Can we go headless for part of the site only?

Yes, and it is often the sensible route. A common pattern is to move the high-traffic, high-design routes — home, collection and landing pages — to a headless front end while product and cart stay on the theme, or the other way round. It splits the risk and the cost across two releases instead of one, at the price of running two front ends for a while.

What happens to checkout?

Checkout stays with Shopify. Headless storefronts hand off to Shopify's hosted checkout, which is what keeps PCI scope, fraud analysis, Shop Pay and the payment integrations where they belong. Customising it is app work — Checkout UI extensions and Functions — not front-end work.

Often scoped together

Most of this work arrives with something next to it.

Before you commit to headless, get a second opinion.

Send the store and the constraint you are trying to escape. If the theme layer still has room in it, we will tell you so and what to spend the budget on instead — that answer costs nothing and it is the one we give most often.

Book an auditStart a project