Panduan Headless Commerce Platforms

sebuah platform-oleh-platform SEO perbandingan dari major headless commerce mesin — Shopify Hydrogen, BigCommerce Catalyst, commercetools, Salesforce PWA Kit, Medusa, Saleor, dan Elastic Path — covering apa setiap ships out dari box untuk metadata, sitemaps, redirects, dan preview-environment safety, dan cara choose.

Pertama kali diterbitkan: 3 Jul 2026 · Terakhir diperbarui: 22 Agu 2026 · Advanced
Bahasa

setiap headless commerce platform's marketing halaman claims ini adalah SEO-dioptimalkan out dari box. reality adalah sebuah spectrum. Shopify Hydrogen ships paling nyata scaffolding — sebuah getSeoMeta metadata utility, sitemap routes, robots.txt, dan automatic crawler-blocking pada preview deployments. BigCommerce Catalyst proxies BigCommerce's own sitemap dan menggunakan Berikutnya.js App Router metadata conventions. commercetools Frontend dan Salesforce PWA Kit memberikan Anda SDK helpers, tidak shipped routes — Anda assemble sitemaps yourself. Medusa, Saleor, dan Elastic Path adalah pure commerce APIs dan ship tidak ada apa pun SEO-spesifik; Anda Berikutnya.js frontend melakukan semua berfungsi. Platform pilihan determines bagaimana banyak scaffolding Anda inherit, tidak apakah Anda halaman adalah dapat di-crawl — itu's masih rendering decision headless ecommerce hub owns. dua differentiated risks worth budgeting untuk: preview/staging environments getting terindeks (Hydrogen blocks ini secara otomatis; others jangan jaminan ini), dan redirect maps pada migration (Tidak platform automates them).

TL;DR — Headless commerce platforms sit pada sebuah spectrum dari “ships real SEO scaffolding” (terjemahan) “ships nyata SEO scaffolding” untuk “leaves everything to you.” (terjemahan) “leaves semuanya untuk Anda.” Shopify Hydrogen ships paling — sebuah getSeoMeta utility, sitemap routes, robots.txt, dan (melalui Oxygen) automatic crawler-blocking pada preview deployments. BigCommerce Catalyst proxies BigCommerce’s own sitemap indeks dan menggunakan Berikutnya.js App Router generateMetadata conventions. commercetools Frontend dan Salesforce PWA Kit memberikan Anda SDK/API helpers, tidak shipped routes — Anda assemble sitemap yourself, dengan nyata pagination limits. Medusa, Saleor, dan Elastic Path ship tidak ada apa pun SEO-spesifik; frontend owns semuanya. Dua risks adalah genuinely differentiated oleh platform: preview-environment leakage (Hydrogen auto-blocks crawler pada shareable tautan; others jangan jaminan ini) dan redirect maps (Tidak platform automates them). Platform pilihan sets bagaimana banyak scaffolding Anda inherit — tidak apakah halaman adalah dapat di-crawl, yang adalah masih rendering decision hub owns.

Evidence for this claim Choosing a commerce API does not itself determine search rendering; the storefront must produce discoverable content, links, status codes, and metadata. Scope: Google requirements for JavaScript storefronts. Confidence: high · Verified: Google Search Central: JavaScript SEO basics Evidence for this claim Shopify describes Hydrogen as its React-based framework for custom storefronts and Oxygen as its deployment platform. Scope: Shopify-specific platform capability, not Google guidance. Confidence: high · Verified: Shopify Developers: Hydrogen

Platform pilihan adalah tidak rendering decision

Mulai di sini, karena ini adalah single sebagian besar umum confusion. Apakah Googlebot mendapatkan nyata HTML atau sebuah empty shell adalah decided oleh Anda frontend’s rendering model — rendering sisi server (SSR), static generation (SSG), atau rendering sisi klien (CSR). itu’s frontend kerangka kerja’s job, dan Headless Ecommerce SEO hub covers ini secara mendalam. I tidak akan re-derive SSR vs. CSR di sini.

Apa commerce platform melakukan decide adalah bagaimana banyak SEO scaffolding Anda inherit — sitemap, metadata plumbing, robots.txt, preview-environment menangani. sebuah pristine SSR setup pada Medusa masih memiliki Tidak sitemap until Anda bangun satu; sebuah CSR mistake pada Hydrogen masih tanks sebuah product halaman bahkan though Hydrogen ships setiap lainnya piece. pertahankan dua axes terpisah: rendering = crawlability; platform = scaffolding.

SEO-tooling spectrum

Di sini’s di mana seven platforms land:

Ships nyata tooling (sebuah berfungsi reference storefront dengan SEO wired di): Shopify Hydrogen, BigCommerce Catalyst.

Ships SDK helpers, tidak routes (Anda assemble sitemap yourself): commercetools Frontend, Salesforce PWA Kit.

Ships tidak ada apa pun SEO-spesifik (pure commerce API; frontend owns semua dari ini): Medusa, Saleor, Elastic Path.

itu framing adalah seluruh artikel. rest adalah per-platform detail.

Shopify Hydrogen (Storefront API)

Hydrogen adalah Shopify’s headless kerangka kerja, dan ini ships paling menyelesaikan SEO scaffolding dari apa pun reviewed di sini. Satu correction up front: Hydrogen adalah tidak Remix-based anymore. npm registry menampilkan @shopify/hydrogen 2026.4.4 peer-depending pada react-router ~7.16.0 dengan Tidak Remix dependency di semua, dan Shopify’s own @shopify/remix-oxygen package now carries sebuah formal deprecation notice telling Anda untuk import from react-router instead. Shopify’s own SEO doc hasn’t caught up to its own package metadata — sebagai dari ini periksa it masih membaca “Hydrogen menggunakan Remix’s built-di meta features untuk SEO tags” — so jangan take itu line di face value jika Anda scaffolding a new project; periksa package.json, tidak itu prose.

Metadata — sebuah purpose-dibangun utility. Whatever doc panggilan underlying router, Hydrogen masih ships getSeoMeta utility, yang membuat ini easier dan lebih consistent untuk render SEO meta tags. itu getSeoMeta helper menangani judul, deskripsi, images, canonical URLs, dan JSON-LD — sebuah sebenarnya metadata abstraction, tidak “bring your own <head>.” (terjemahan) “menyediakan sendiri elemen <head>.” ini adalah satu-satunya platform di sini itu ships sebuah dedicated SEO-metadata utility. Shopify juga notes itu “Oleh default Hydrogen removes query parameters dari canonical URLs” (terjemahan) “oleh default Hydrogen menghapus kueri parameters dari canonical URLs” — sebuah sensible default Anda dapat override di Anda meta exports.

Sitemap — shipped dan self-refreshing. Hydrogen skeleton template mencakup sitemap.xml dan per-jenis sitemap routes out dari box, dan -nya getSitemap utility generates per-resource-jenis sitemaps dengan locale alternates. sitemap files adalah cached untuk 24 hours, so penerbitan atau unpublishing sebuah product memperbarui sitemap secara otomatis di dalam itu window — Tidak scheduled job untuk babysit.

robots.txt — shipped, dengan sebuah preview safeguard. template ships sebuah robots.txt route. dan di sini’s differentiator: per Shopify’s SEO docs, “If you make a non-production deployment accessible with a shareable link or an auth bypass token, then Oxygen overrides the deployment’s robots.txt file with a disallow rule for all bots and crawlers.” (terjemahan) “Jika Anda membuat deployment nonproduksi yang dapat diakses melalui tautan yang bisa dibagikan atau token bypass autentikasi, Oxygen akan mengganti berkas robots.txt deployment tersebut dengan aturan disallow untuk semua bot dan crawler.” Oxygen (Shopify’s Hydrogen hosting) secara otomatis blocks semua crawler pada preview/shareable-tautan deployments. itu’s sebuah nyata masalah — duplicate staging konten getting terindeks — itu sebagian besar platforms leave Anda untuk solve oleh hand, dan Hydrogen hanya menangani.

apa left untuk Anda: verify Tidak product atau category route adalah accidentally left sebagai sebuah resource route itu skips SSR (React Router’s kerangka kerja mode menggunakan yang sama server-loader pattern Remix digunakan sebelum Hydrogen’s migration), dan configure Oxygen caching ( hub’s advanced lens covers stale-cache risk).

BigCommerce headless (Catalyst)

Catalyst adalah BigCommerce’s Berikutnya.js App Router reference storefront. -nya SEO scaffolding adalah nyata tetapi architecturally berbeda dari Hydrogen’s.

Sitemap — proxied, tidak generated. Per BigCommerce’s Catalyst docs, “Catalyst acts as an intermediary when handling requests to /sitemap.xml.” (terjemahan) “Catalyst bertindak sebagai perantara ketika menangani permintaan ke /sitemap.xml.” ini fetches sitemap indeks dari BigCommerce (terhadap channel’s canonical URL) dan mengembalikan XML. So sitemap muncul untuk menjadi disajikan dari Anda storefront, tetapi data lives di BigCommerce, tidak di Anda frontend codebase — opposite dari Hydrogen, di mana sitemap route lives di dalam app. BigCommerce juga warns itu “Jika Anda storefront juga menggunakan pihak ketiga sistem itu generate konten dengan berbeda URLs, Anda akan perlu untuk submit multiple sitemaps untuk cover itu URLs dari various sources,” (terjemahan) “jika Anda storefront juga menggunakan ketiga-party sistem itu generate konten dengan berbeda URLs, Anda akan perlu untuk submit multiple sitemaps untuk cover URLs dari various sources,” dan notes sitemaps “don’t need to reside on the same domain as the website they represent” (terjemahan) “jangan perlu untuk reside pada yang sama domain sebagai situs web mereka mewakili” — flexible untuk multi-channel setups, tetapi sebuah footgun jika per-channel canonical domains tidak configured correctly.

Metadata — Berikutnya.js conventions. Catalyst populates generateMetadata dan alternates.canonical field per route dari Storefront API GraphQL data, server-side. itu’s standard App Router pattern Berikutnya.js SEO artikel sudah documents di detail — I’ll poin di sana alih-alih re-jelaskan generateMetadata syntax.

Peringatan migrasi. Jika Anda berpindah dari tema Stencil lama milik BigCommerce ke Catalyst, kesetaraan URL menjadi penentu utama. Seperti dinyatakan Dan Kogan dari 1Digital Agency dalam panduan praktisi SEO Catalyst: “Do not change established URLs on a Stencil-to-Catalyst migration. Every product, category, and content URL should match the legacy structure exactly, or you need a complete 301 redirect map.” (terjemahan) “Saat bermigrasi dari Stencil ke Catalyst, jangan mengganti URL yang telah digunakan. Semua URL produk, kategori, dan konten harus mempertahankan struktur lama secara persis; jika tidak, Anda harus menyiapkan peta redirect 301 yang lengkap.” Ia juga menyoroti regresi Catalyst yang berulang—generateMetadata mengembalikan fallback khusus klien karena kueri GraphQL dialihkan ke komponen klien, tag canonical hilang pada halaman daftar berpaginasi, dan JSON-LD Product dipancarkan dua kali (sekali oleh komponen khusus dan sekali oleh aplikasi pihak ketiga). Semua hal tersebut layak diperiksa sebelum peluncuran.

commercetools (Frontend / composable storefronts)

commercetools adalah enterprise “composable/MACH” (terjemahan) “composable/MACH” option, dan -nya SEO scaffolding adalah proportionally thinner — Anda mendapatkan SDK helper metode, tidak shipped routes.

Per commercetools’ Frontend docs, platform generates three terpisah sitemaps — static halaman, product halaman, dan category halaman — combined ke sebuah sitemap indeks. Static halaman come dari sdk.page.getPages(), products dari extensions.product.query(), dan categories dari extensions.product.queryCategories(). tetapi setup adalah tidak automatic: ini memerlukan Frontend tambahkan-pada plus manually membuat three Berikutnya.js route handlers (sitemap-static.xml/route.tsx, sitemap-products.xml/route.tsx, sitemap-categories.xml/route.tsx) dan sebuah postbuild script untuk assemble akhir /sitemap.xml. dan product/category kueri adalah cursor-paginated dengan sebuah 500-item limit per permintaan, so sebuah besar catalog perlu pagination logic di dalam Anda sitemap generator. ini adalah paling bangun-ini-yourself dari enterprise platforms untuk sitemaps secara khusus — yang tracks dengan commercetools’ seluruh Tidak-opinionated-frontend positioning.

Salesforce Commerce Cloud headless (PWA Kit / Composable Storefront)

PWA Kit’s SEO tooling adalah paling fragmented dan manual dari platforms dengan sebuah official reference storefront.

Sitemap — path branches. Per Salesforce’s docs, jika Anda routes adalah configured di Business Manager, Anda buat sitemap di Business Manager; jika routes adalah managed di luar ini (custom PWA Kit routing), Anda bangun atau supplement sitemap melalui sebuah API endpoint alih-alih. ada Tidak single automatic path — ini bergantung pada bagaimana storefront adalah siapkan. untuk PWA Kit deployments secara khusus, manual langkah sertakan menambahkan sebuah path di ssr.js config, updating ssrShared property, redeploying bundle, dan verifying sitemap adalah accessible. Salesforce’s own guidance adalah untuk schedule sebuah job untuk pertahankan sitemap saat ini — meaning Tidak automatic refresh pada catalog perubahan, unlike Hydrogen’s 24-hour auto-perbarui. dibangun-di sitemap menangani memiliki telah sebuah requested-tetapi-manual area pada PWA Kit GitHub repo — berguna color itu ini adalah sebuah known kesenjangan, though issue adalah community sinyal, tidak sebuah official statement.

Metadata — tied untuk halaman Designer. PWA Kit’s usePage() hook (dari @salesforce/commerce-sdk-react) dan <Page> component expose halaman name, deskripsi, dan route untuk SEO metadata — tetapi itu’s tied untuk Salesforce’s CMS-like halaman Designer konten model, tidak sebuah dedicated SEO utility like Hydrogen’s getSeoMeta.

Medusa, Saleor, dan Elastic Path — pure APIs

ini three adalah “leaves everything to you” (terjemahan) “leaves semuanya untuk Anda” tier, dan ini adalah worth menjadi blunt tentang apa itu berarti.

Medusa adalah sebuah pure commerce backend. ada Tidak dedicated Medusa SEO documentation karena Medusa memiliki Tidak opinion pada frontend rendering di semua. -nya Berikutnya.js Starter Storefront mendukung App Router dengan React server Components (so SSR adalah tersedia), tetapi metadata, sitemap, dan canonical mechanics adalah entirely inherited dari whatever Berikutnya.js conventions Anda implement. dalam praktik virtually setiap Medusa storefront adalah Berikutnya.js — so Berikutnya.js SEO artikel adalah Anda nyata reference, tidak Medusa’s docs.

Saleor adalah yang sama story: sebuah GraphQL-pertama headless API (Python/Django backend) dengan community dan Vercel-maintained Berikutnya.js storefront templates. SEO adalah 100% sebuah function dari chosen frontend. sama tier sebagai Medusa.

Elastic Path adalah API-pertama dengan metadata sebagai mentah fields Anda wire up yourself. -nya product dan category entities mendukung custom fields untuk SEO metadata itu dapat menjadi, di Elastic Path’s kata, “accessed via APIs just like the content that you render to your customers” (terjemahan) “accessed melalui APIs hanya like konten itu Anda render untuk Anda customers” — tetapi itu’s sebuah bangun-Anda-own-schema pattern, tidak sebuah shipped utility. -nya slug resource adalah described sebagai sebuah “lower case, uri friendly string” (terjemahan) “lebih rendah case, uri friendly string” untuk membangun URLs. Notably, Elastic Path’s own SEO untuk headless commerce blog post (oleh Kirsten Aebersold — vendor konten, tidak neutral) melakukan say “Jika Anda dynamically building a halaman dengan a JavaScript kerangka kerja alone, Anda mungkin ingin untuk look menjadi serving up cached versions dari itu halaman untuk itu bots” (terjemahan) “jika Anda’re dynamically membangun sebuah halaman dengan sebuah JavaScript kerangka kerja alone, Anda mungkin ingin untuk look ke serving up cached versi dari halaman untuk bot” — tetapi ini tidak pernah covers sitemaps, canonical tags, redirects, atau preview environments. Ketika bahkan vendor’s own SEO halaman skips half dari apa Anda perlu, “SEO-optimized out of the box” (terjemahan) “SEO-dioptimalkan out dari box” adalah melakukan sebuah lot dari berfungsi.

None dari ini three adalah buruk untuk SEO — ada Tidak platform ceiling. tetapi ada juga Tidak scaffolding untuk lean pada. Semuanya adalah sebuah function dari frontend Anda bangun.

Preview dan staging leakage — differentiated risk

ini adalah satu place platform pilihan membuat sebuah concrete, measurable SEO perbedaan, so ini adalah worth calling out secara terpisah.

Hydrogen/Oxygen secara otomatis melarang semua crawler pada deployment preview dan tautan yang dapat dibagikan—perlindungan bawaan agar situs staging Anda tidak terindeks dan bersaing dengan production sebagai konten duplikat. Tidak ada jaminan otomatis yang setara dalam dokumentasi Catalyst, commercetools, atau PWA Kit. Masalah ini bukan sekadar teori: 1Digital Agency melaporkan “Preview deployments indexed by Googlebot” (terjemahan) “Deployment preview yang diindeks Googlebot” sebagai kegagalan berulang dalam migrasi Catalyst di dunia nyata. Itu merupakan satu sumber praktisi, bukan pernyataan resmi platform, jadi perlakukan klaim khusus tentang Catalyst tersebut sebagai satu titik data yang kredibel. Namun, pelajaran dasarnya berlaku untuk semua platform: jika platform Anda tidak otomatis memblokir crawler preview, blokir sendiri (dengan larangan di robots.txt, autentikasi HTTP, atau header noindex pada setiap lingkungan non-production). Pada platform “everything-to-you” (terjemahan) “semuanya diserahkan kepada Anda”, tanggung jawab ini sepenuhnya berada pada Anda sesuai definisinya.

Redirect management — sebuah migration concern, tidak sebuah platform fitur

Tidak platform reviewed ships sebuah automatic redirect sistem. setiap headless migration — Stencil untuk Catalyst, monolith untuk headless, satu commerce mesin untuk lainnya — perlu sebuah jelas 301 map dari old URLs untuk baru. consensus di seluruh migration-focused trade posts adalah consistent: re-platforming failures hampir selalu trace back untuk redirect maps, struktur URL, dan structured-data gaps, dan Anda harus tidak pernah launch tanpa sebuah verified 301 map. itu’s yang sama lesson situs’s situs Migrations artikel covers di penuh — I’ll cross-reference ini untuk checklist alih-alih re-derive ini di sini. platform-spesifik angle adalah hanya ini: jangan assume apa pun dari ini mesin menangani redirects untuk Anda. None melakukan.

Portability adalah underrated upside

Satu myth worth killing: switching commerce platforms melakukan tidak berarti rebuilding Anda SEO dari scratch. rendering layer — Anda Berikutnya.js (atau React Router) storefront — adalah apa determines crawlability, dan ini adalah largely portable di seluruh commerce backends. sebuah Berikutnya.js storefront dapat poin di BigCommerce, Medusa, Saleor, atau commercetools dengan mostly data-layer perubahan. Apa perubahan ketika Anda tukar platforms adalah scaffolding: di mana sitemap data muncul dari, apakah ada sebuah metadata utility, bagaimana redirects dan previews adalah handled. itu’s sebuah bermakna re-wire, tetapi ini adalah tidak “mulai over.” (terjemahan) “mulai di atas.”

dan jangan di atas-indeks pada API quality sebagai sebuah SEO sinyal, either. sebuah platform’s GraphQL/REST API hanya determines apa data adalah tersedia untuk bangun metadata dan sitemaps dari. Apakah itu data sebenarnya reaches Google server-side adalah sebuah frontend/rendering decision — yang, again, hub owns.

Di mana untuk go berikutnya

  • Headless Ecommerce SEO — hub: SSR/SSG/CSR rendering decision, data terstruktur (Product, ProductGroup/hasVariant), dan mengapa GMC feed adalah independent dari rendering.
  • Berikutnya.js SEO — since Catalyst, commercetools Frontend, Medusa, dan Saleor storefronts adalah biasanya Berikutnya.js, ini adalah di mana generateMetadata dan sitemap.ts mechanics langsung.
  • JavaScript SEO — umum JS-rendering failure modes itu apply untuk apa pun JS-berat storefront.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.