If you’re running a headless storefront on Next.js, Hydrogen, Catalyst, Nuxt or custom React, your SEO problems are different from a Shopify Liquid theme. This is the 2026 working list.
1. Pick the right rendering mode per template
SSR (server-side rendered), SSG (static), ISR (incremental static regeneration). The right answer depends on the template:
- Category and product pages — ISR with frequent revalidation.
- Search and listing pages — SSR.
- Editorial / content pages — SSG.
- Personalised / account pages — SSR + noindex.
2. Make SPA routing crawlable
Real <a href> links, not click handlers. Prefetched routes don’t replace crawlable links. If you can’t navigate the site with JavaScript disabled, Google sees half of it.
3. Schema in the markup, not bolted on client-side
JSON-LD shipped from the server. Product, Offer, Breadcrumb, Review, Organization, FAQ all rendered in the initial HTML — not inserted by client-side scripts.
4. Core Web Vitals on real user metrics
Lab scores from PageSpeed Insights lie. Use CrUX / RUM data on real visitors. Headless stacks tend to ship larger bundles — profile, tree-shake, code-split.
5. Hreflang and i18n
Locale routing has to produce real URLs with real hreflang tags. Cookie-based language switching breaks SEO. ICU MessageFormat or equivalent for content keys, but with per-locale URLs for search visibility.
6. Crawl budget for big catalogs
If you’re shipping 10K+ pages from headless, you’ll burn crawl budget on low-value variants. Sitemap discipline, internal-linking architecture and faceted-nav rules become non-negotiable.
7. How to brief your dev team
SEO requirements as tickets — not vague guidelines. “Add Product schema to PDPs” isn’t a ticket. “Render Product JSON-LD with these 12 fields on every /products/[slug] route in the initial HTML response” is. We work this way embedded with dev teams on Headless Ecommerce SEO engagements.
8. Migration risk
Headless replatforms are some of the riskiest migrations in ecommerce SEO. Plan redirects, parity, monitoring and rollback before the cutover. See Migrations & Platform SEO.