Integrate a headless CMS into standard Liquid theme

Topic summary

Goal: Use a headless CMS (e.g., Butter, Contentful, Strapi) with React to build marketing/landing pages, while keeping core commerce pages (product, collection, cart) on a standard Shopify Liquid theme.

Constraints: Full headless Shopify is not an option. Interest in whether Hydrogen (Shopify’s headless React framework) can power only certain pages, possibly under a subfolder.

Key questions: Can Hydrogen be used for selected pages only? What’s a viable integration path for React-powered CMS pages within a Liquid storefront?

Suggestions shared: One reply doubts Hydrogen can be used for only some pages. An alternative proposed is creating a Shopify app.

Current exploration: OP is testing a custom app approach and considers using a UI extension to load built React assets.

Status: No confirmed solution yet; discussion remains open. Open items include feasibility of partial Hydrogen usage and practical methods (e.g., app/theme extension) to embed React/CMS-driven pages alongside Liquid.

Summarized with AI on January 8. AI used: gpt-5.

I am looking for ways to integrate a headless CMS (still undecided which one, might be Butter, Contentful, Strapi etc using React) into a standard Shopify liquid theme. I am familiar with the process of integrating a headless CMS in a headless Shopify shop. But using headless Shopify is not an option for this shop.

Essentially we would like to create marketing and landing pages via a headless CMS while keeping all shop related pages (pdp, collection, cart etc) with the liquid theme.

Any ideas/suggestions on how to achieve this? Can Shopify hydrogen be used for pages only? Maybe in a subfolder?

Any hints would be appreciated. Thanks!

1 Like

Hi @SebPrestele

I dont think you can use hydrogen for some pages only. Have you tried creating a Shopify app instead?

Yes, I also considered an app and am playing around with a custom app integration to test this. I assume UI extension to load the built files from the React would be the way to achieve this?