Going headless on Shopify means keeping Shopify as the commerce engine, the checkout and the admin, and building the storefront separately against the Storefront API. The question of Hydrogen against Next.js is a real one, but it is the second question. The first is whether you should go headless at all.
The case against headless, first
A standard Shopify theme gives you a storefront that works, gets updated by somebody else, and can be edited by a merchandiser without a developer. Going headless means you now own the storefront: its performance, its accessibility, its SEO, its build pipeline and everything the theme was quietly handling.
That is worth it when the storefront is genuinely a differentiator, when you need content and commerce interleaved in a way themes cannot express, or when the front end must serve several channels from one codebase. It is not worth it because headless sounds modern.
What Hydrogen gives you
Hydrogen is Shopify’s own React framework, built on Remix, and its advantage is that it knows it is a Shopify storefront. Cart handling, the Storefront API client, customer accounts and the analytics Shopify expects are all provided rather than assembled. Deployed on Oxygen, hosting is part of the same account.
The cost is that you are inside Shopify’s framework decisions. If your site is a storefront and little else, that is a fair trade and it will get you live faster.
What Next.js gives you
Next.js knows nothing about Shopify, which is the point. You wire the Storefront API yourself and you keep every other option open: a separate CMS, other data sources, routes that have nothing to do with products.
It suits a site where commerce is one part of a larger property, or where a team already works in Next.js and the cost of a second framework is real. You will write the cart logic and the account flows that Hydrogen ships with, and you will choose your own hosting.
The decision, in one line
If the site is a store, Hydrogen. If the store sits inside a bigger site, or your team is already fluent in Next.js, Next.js. Either way the checkout stays on Shopify, which is the part you genuinely do not want to own.
What actually decides the outcome
Neither framework saves you from the two things that make headless projects disappoint.
- Performance is now yours. A headless storefront is not automatically faster than a good theme. It is faster if you handle images, caching and payload properly, and slower if you do not.
- The merchandising team loses the theme editor. If nobody plans for how a campaign banner gets changed without a deploy, you have moved a marketing task into the engineering backlog.
Both are solvable, and both need deciding before the build rather than after launch. Our ecommerce work starts with that conversation.