Türkçe çeviri: Headless Commerce Platforms
bir platform-tarafından-platform SEO comparison of major headless commerce motorlar — Shopify Hydrogen, BigCommerce Catalyst, commercetools, Salesforce PWA Kit, Medusa, Saleor, ve Elastic Path — covering ne her ships out of box bençin metadata, sitemaps, yönlendirmeler, ve preview-environment safety, ve nasıl -e seç.
Diller
her headless commerce platform's marketing sayfa claims o's SEO-optimized out of box. reality dır bir spectrum. Shopify Hydrogen ships en çok gerçek scaffolding — bir getSeoMeta metadata utility, sitemap routes, robots.txt, ve automatic crawler-blocking on preview deployments. BigCommerce Catalyst proxies BigCommerce's kendi sitemap ve kullanır sonraki.js App Router metadata conventions. commercetools Frontend ve Salesforce PWA Kit ver siz SDK helpers, değil shipped routes — siz assemble sitemaps yourself. Medusa, Saleor, ve Elastic Path dır pure commerce APIs ve ship nothing SEO-specific; sizin sonraki.js frontend yapar tümü çalışır. Platform choice determines nasıl much scaffolding siz inherit, değil whether sizin sayfalar dır crawlable — şu's hâlâ rendering decision headless ecommerce hub owns. two differentiated risks worth budgeting bençin: preview/staging environments getting dizine eklenmiş (Hydrogen blocks bu automatically; others yapmayın guarantee o), ve yönlendirme maps on migration (no platform automates them).
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: HydrogenTL;DR — bir “headless commerce platform” dır motor şu runs sizin products, cart, ve checkout ve hands şu data -e bir separate storefront siz oluştur. her vendor claims theirs dır “SEO-optimized out of the box.” şu’s yalnızca half true. bazı (Shopify Hydrogen, BigCommerce Catalyst) ship gerçek SEO scaffolding — bir sitemap, bir
robots.txt, bir metadata helper. Others (Medusa, Saleor, Elastic Path) ship nothing SEO-specific ve leave tümü of o -e siz. seç based on nasıl much siz iste -e oluştur versus inherit.
ne biz’re aslında comparing burada
In bir olağbir Shopify veya WooCommerce store, bir system yapar everything: o stores sizin products, süreçler orders, ve renders sayfalar shoppers ve Google see. bir headless setup splits şu apart. bir commerce motor handles products, inventory, ve checkout, ve hands şu data aracılığıyla bir API -e bir separate frontend şu renders ne kişiler aslında bak at.
commerce motor dır “headless commerce platform.” major ones olarak of mid-2026 dır Shopify (aracılığıyla onun Hydrogen framework ve Storefront API), BigCommerce (aracılığıyla Catalyst), commercetools, Salesforce Commerce Cloud (aracılığıyla PWA Kit), Medusa, Saleor, ve Elastic Path.
bir thing şu önem taşır bençin choosing
bençin SEO, platforms yapmayın gerçekten differ on whether sizin sayfalar -ebilir olmak tarandı — şu comes down -e nasıl sizin frontend renders sayfalar, hangi Headless Ecommerce SEO hub kapsar in full (SSR, SSG, CSR). ne onlar differ on dır nasıl much SEO plumbing onlar hand siz bençin free versus nasıl much siz sahip -e oluştur yourself.
Think of o olarak three gruplar:
- onlar ver siz bir lot. Shopify Hydrogen ve BigCommerce Catalyst her ikisi ship bir
working örnek storefront ile bir sitemap, bir
robots.txt, ve bir way -e ayarla sizin title tags ve meta descriptions zaten wired in. - onlar ver siz helpers, değil finished thing. commercetools ve Salesforce PWA Kit hand siz araçlar -e oluştur bir sitemap ama yap siz assemble o yourself.
- onlar ver siz nothing SEO-specific. Medusa, Saleor, ve Elastic Path dır
pure “here’s your product data through an API” motorlar. her bit of SEO —
sitemap, metadata,
robots.txt— dır on siz (veya on whatever frontend framework siz oluştur, genellikle sonraki.js).
thing en çok kişiler al yanlış
“SEO-optimized out of the box” dır bir spectrum, değil bir checkbox. her vendor’s marketing sayfa söyler o. ama Elastic Path’s kendi SEO blog post yapmaz hatta mention sitemaps, canonical tags, veya yönlendirmeler — bu nedenle “out of the box” -ebilir anlamına gel almost nothing. yapmayın take claim at face değer. Ask specific soru: ne yapar bu platform ship bençin sitemaps, metadata, yönlendirmeler, ve tutma benim staging site out of Google? yanıtlar vary bir lot.
iste platform-tarafından-platform breakdown, preview-environment gotcha, ve bir decision framework bençin picking bir? Switch -e Advanced tab.
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: HydrogenTL;DR — Headless commerce platforms sit on bir spectrum -den “ships gerçek SEO scaffolding” to “leaves everything -e siz.” Shopify Hydrogen ships en çok — bir
getSeoMetautility, sitemap routes,robots.txt, ve (via Oxygen) automatic crawler-blocking on preview deployments. BigCommerce Catalyst proxies BigCommerce’s kendi sitemap dizin ve kullanır sonraki.js App RoutergenerateMetadataconventions. commercetools Frontend ve Salesforce PWA Kit ver siz SDK/API helpers, değil shipped routes — siz assemble sitemap yourself, ile gerçek sayfalama limits. Medusa, Saleor, ve Elastic Path ship nothing SEO-specific; frontend owns everything. Two risks dır genuinely differentiated tarafından platform: preview-environment leakage (Hydrogen auto-blocks crawlers on shareable bağlantılar; others yapmayın guarantee o) ve yönlendirme maps (no platform automates them). Platform choice sets nasıl much scaffolding siz inherit — değil whether sayfalar dır crawlable, bu da hâlâ rendering decision hub owns.
Platform choice değildir rendering decision
başla burada, çünkü o’s tek en çok yaygın confusion. Whether Googlebot alır gerçek HTML veya bir empty shell dır decided tarafından sizin frontend’s rendering model — server-side rendering (SSR), static generation (SSG), veya client-side rendering (CSR). şu’s frontend framework’s job, ve Headless Ecommerce SEO hub kapsar o in depth. ben won’t re-derive SSR vs. CSR burada.
ne commerce platform yapar decide dır nasıl much SEO scaffolding siz inherit —
sitemap, metadata plumbing, robots.txt, preview-environment
handling. bir pristine SSR setup on Medusa hâlâ sahiptir no sitemap until siz oluştur bir; bir
CSR mistake on Hydrogen hâlâ tanks bir product sayfa hatta gerçben Hydrogen ships her
diğer piece. koru two axes separate: rendering = crawlability; platform =
scaffolding.
SEO-tooling spectrum
burada’s nerede seven platforms land:
Ships gerçek tooling (bir working reference storefront ile SEO wired in): Shopify Hydrogen, BigCommerce Catalyst.
Ships SDK helpers, değil routes (siz assemble sitemap yourself): commercetools Frontend, Salesforce PWA Kit.
Ships nothing SEO-specific (pure commerce API; frontend owns tümü of o): Medusa, Saleor, Elastic Path.
şu framing dır whole article. rest dır per-platform detail.
Shopify Hydrogen (Storefront API)
Hydrogen is Shopify’s headless framework, and it ships the most complete SEO
scaffolding of anything reviewed here. One correction up front: Hydrogen is not
Remix-based anymore. The npm registry shows @shopify/hydrogen 2026.4.4 peer-depending
on react-router ~7.16.0 with no Remix dependency at all, and Shopify’s own
@shopify/remix-oxygen package now carries a formal deprecation notice telling you to
import from react-router instead. Shopify’s own SEO doc hasn’t caught up to its
own package metadata — as of this check it still reads “Hydrogen uses Remix’s
built-in meta features for SEO tags” — so don’t take that line at face value if
you’re scaffolding a new project; check package.json, not the prose.
Metadata — bir purpose-oluşturulmuş utility. Whatever doc çbirğrılar underlying router,
Hydrogen hâlâ ships getSeoMeta utility, hangi yapar o easier ve daha
consistent -e render SEO meta tags. şu getSeoMeta helper handles titles,
descriptions, images, canonical URLs, ve JSON-LD — bir gerçek metadata abstraction,
değil “bring your own <head>.” o’s yalnızca platform burada şu ships bir dedicated
SEO-metadata utility. Shopify ayrıca notes şu “tarafından default Hydrogen removes sorgu
parameters -den canonical URLs” — bir sensible default -ebilirsiniz override in sizin meta
exports.
Sitemap — shipped ve self-refreshing. Hydrogen skeleton template bençerir
sitemap.xml ve per-type sitemap routes out of box, ve onun getSitemap
utility generates per-kaynak-type sitemaps ile locale alternates. sitemap
files dır cached bençin 24 hours, bu nedenle publishing veya unpublishing bir product updates
sitemap automatically bençinde şu window — no scheduled job -e babysit.
robots.txt — shipped, ile bir preview safeguard. template ships bir
robots.txt route. ve burada’s differentiator: per Shopify’s SEO docs, “-erseniz
yap bir non-production deployment accessible ile bir shareable bağlantı veya bir auth bypass
token, o hâlde Oxygen overrides deployment’s robots.txt file ile bir disallow
kural bençin tümü bots ve crawlers.” Oxygen (Shopify’s Hydrogen hosting) automatically
blocks tümü crawlers on preview/shareable-bağlantı deployments. şu’s bir gerçek sorun —
yinelenen staging bençerik getting dizine eklenmiş — şu en çok platforms leave siz -e solve
tarafından hand, ve Hydrogen sadece handles.
ne’s left -e siz: verify no product veya category route idi accidentally left olarak bir kaynak route şu skips SSR (React Router’s framework mode kullanır aynı server-loader pattern Remix kullanılan önce Hydrogen’s migration), ve configure Oxygen caching ( hub’s advanced lens kapsar stale-cache risk).
BigCommerce başsız (Catalyst)
Catalyst dır BigCommerce’s sonraki.js App Router reference storefront. onun SEO scaffolding dır gerçek ama architecturally farklı -den Hydrogen’s.
Sitemap — proxied, değil generated. Per BigCommerce’s Catalyst docs, “Catalyst acts
olarak bir intermediary ne zaman handling istekler -e /sitemap.xml.” o fetches sitemap
dizin -den BigCommerce (karşı channel’s canonical URL) ve döndürür XML. bu nedenle
sitemap görünür -e olmak sunulan -den sizin storefront, ama data lives in
BigCommerce, değil in sizin frontend codebase — opposite of Hydrogen, nerede
sitemap route lives bençinde app. BigCommerce ayrıca warns şu “eğer sizin storefront
ayrıca kullanır üçüncü-party systems şu generate bençerik ile farklı URLs, siz -ecek ihtiyaç duy
-e submit birden çok sitemaps -e kapsa URLs -den various kaynaklar,” ve notes
sitemaps “don’t need to reside on the same domain as the website they represent” —
flexible bençin multi-channel setups, ama bir footgun eğer per-channel canonical domains
değildir configured yapğru biçimde.
Metadata — sonraki.js conventions. Catalyst populates generateMetadata ve
alternates.canonical field per route -den Storefront API GraphQL data, server-side.
şu’s standard App Router pattern sonraki.js SEO article zaten belgeler in
detail — ben’ll benşaret et orada yerine re-explain generateMetadata syntax.
** migration warning.** -erseniz’re moving -den BigCommerce’s older Stencil theme -e
Catalyst, URL parity dır whole ballgame. olarak 1Digital Agency’s Dan Kogan puts o in
his Catalyst SEO practitioner rehber:
“yapmayın change established URLs on bir Stencil—e-Catalyst migration. her product,
category, ve bençerik URL -meli match legacy structure tam olarak, veya siz ihtiyaç duy bir
complete 301 yönlendirme map.” He ayrıca flags recurring Catalyst regressions —
generateMetadata returning bir client-yalnızca fallback çünkü GraphQL sorgu aldı
thrown -e bir client component, canonical tags missing on paginated listing sayfalar, ve
Product JSON-LD emitted twice (once tarafından bir custom component, once tarafından bir üçüncü-party
app). tümü of şunlar dır worth bir pre-launch kontrol et.
commercetools (Frontend / composable storefronts)
commercetools dır enterprise “composable/MACH” option, ve onun SEO scaffolding dır proportionally thinner — siz al SDK helper methods, değil shipped routes.
Per commercetools’ Frontend docs, platform generates three separate sitemaps —
static sayfalar, product sayfalar, ve category sayfalar — combined -e bir sitemap dizin. Static
sayfalar come -den sdk.page.getPages(), products -den extensions.product.query(), ve
categories -den extensions.product.queryCategories(). ama setup dır değil automatic:
o requires Frontend ekle-On plus manually creating three sonraki.js route handlers
(sitemap-static.xml/route.tsx, sitemap-products.xml/route.tsx,
sitemap-categories.xml/route.tsx) ve bir postbuild script -e assemble final
/sitemap.xml. ve product/category sorgular dır cursor-paginated ile bir 500-item
limit per istek, bu nedenle bir büyük catalog gerektirir sayfalama logic bençinde sizin sitemap
generator. bu en çok oluştur-o-yourself of enterprise platforms bençin sitemaps
specifically — hangi tracks ile commercetools’ whole no-opinionated-frontend
positioning.
Salesforce Commerce Cloud başsız (PWA Kit / Composable Storefront)
PWA Kit’s SEO tooling dır en çok fragmented ve manual of platforms ile bir resmî reference storefront.
Sitemap — path branches. Per Salesforce’s docs, eğer sizin routes dır configured
in benşletme Manager, siz oluştur sitemap in benşletme Manager; eğer routes dır managed
outside o (custom PWA Kit routing), siz oluştur veya supplement sitemap via bir API
endpoint instead. orada’s no tek automatic path — o depends on nasıl storefront
idi ayarla up. bençin PWA Kit deployments specifically, manual adımlar bençer adding bir path
in ssr.js config, updating ssrShared property, redeploying bundle, ve
verifying sitemap dır accessible. Salesforce’s kendi rehberlik dır -e schedule bir job -e
koru sitemap güncel — meaning no automatic refresh on catalog changes, unlike
Hydrogen’s 24-hour auto-update. oluşturulmuş-in sitemap handling sahiptir olmuş bir
requested-ama-manual area
on PWA Kit GitHub repo — yararlı color şu bu bir known gap, gerçben sorun dır
community sinyal, değil bir resmî statement.
Metadata — tied -e sayfa Designer. PWA Kit’s usePage() hook (-den
@salesforce/commerce-sdk-react) ve <Page> component expose sayfa name, description,
ve route bençin SEO metadata — ama şu’s tied -e Salesforce’s CMS-like sayfa Designer
bençerik model, değil bir dedicated SEO utility like Hydrogen’s getSeoMeta.
Medusa, Saleor, ve Elastic Path — pure APIs
bunlar three dır “leaves everything to you” tier, ve o’s worth olma blunt hakkında ne şu anlamına gelir.
Medusa dır bir pure commerce backend. orada’s no dedicated Medusa SEO dokümantasyon çünkü Medusa sahiptir no opinion on frontend rendering at tümü. onun sonraki.js Starter Storefront supports App Router ile React Server Components (bu nedenle SSR dır mevcut), ama metadata, sitemap, ve canonical mechanics dır entirely inherited -den whatever sonraki.js conventions siz implement. uygulamada virtually her Medusa storefront dır sonraki.js — bu nedenle sonraki.js SEO article dır sizin gerçek reference, değil Medusa’s docs.
Saleor dır aynı story: bir GraphQL-ilk headless API (Python/Django backend) ile community ve Vercel-maintained sonraki.js storefront templates. SEO dır 100% bir function of seçilen frontend. aynı tier olarak Medusa.
Elastic Path dır API-ilk ile metadata olarak raw fields siz wire up yourself. onun product ve category entities support custom fields bençin SEO metadata şu -ebilir olmak, in Elastic Path’s words, “accessed via APIs sadece like bençerik şu siz render -e sizin customers” — ama şu’s bir oluştur-sizin-kendi-schema pattern, değil bir shipped utility. onun slug kaynak dır described olarak bir “lower case, uri friendly string” bençin building URLs. Notably, Elastic Path’s kendi SEO bençin headless commerce blog post (tarafından Kirsten Aebersold — vendor bençerik, değil neutral) yapar söyle “-erseniz’re dynamically building bir sayfa ile bir JavaScript framework alone, siz -ebilir iste -e bak -e sunma up cached sürümler of sayfalar -e bots” — ama o never kapsar sitemaps, canonical tags, yönlendirmeler, veya preview environments. ne zaman hatta vendor’s kendi SEO sayfa skips half of ne siz ihtiyaç duy, “SEO-optimized out of the box” dır doing bir lot of çalışır.
None of bunlar three dır bad bençin SEO — orada’s no platform ceiling. ama orada’s ayrıca no scaffolding -e lean on. Everything dır bir function of frontend siz oluştur.
Preview ve staging leakage — differentiated risk
bu bir place platform choice yapar bir concrete, measurable SEO difference, bu nedenle o’s worth calling out separately.
Hydrogen/Oxygen automatically disallows tümü crawlers on preview ve shareable-bağlantı
deployments — bir oluşturulmuş-in safeguard karşı sizin staging site getting dizine eklenmiş ve
competing ile production olarak yinelenen bençerik. No eşdeğeri automatic guarantee dır
documented bençin Catalyst, commercetools, veya PWA Kit. ve o’s değil theoretical: 1Digital
Agency raporlar “Preview deployments indexed by Googlebot” olarak bir recurring gerçek-world
başarısızlık mode on Catalyst migrations. şu’s bir tek practitioner kaynak yerine bir
resmî platform statement, bu nedenle ele al specific Catalyst claim olarak bir credible data
benşaret et — ama underlying lesson dır platform-agnostic: eğer sizin platform yapmaz
auto-block preview crawlers, block them yourself (bir robots.txt disallow, HTTP auth,
veya bir noindex header on her non-production environment). On “everything-to-you”
platforms, bu entirely on siz tarafından definition.
yönlendirme management — bir migration concern, değil bir platform feature
No platform reviewed ships bir automatic yönlendirme system. her headless migration — Stencil -e Catalyst, monolith -e headless, bir commerce motor -e başka bir — gerektirir bir explicit 301 map -den eski URLs -e yeni. consensus genelinde migration-focused trade posts dır consistent: re-platforming failures almost her zaman trace back -e yönlendirme maps, URL structures, ve structured-data gaps, ve yapmalısınız never launch olmadan bir verified 301 map. şu’s aynı lesson site’s site Migrations article kapsar in full — ben’ll cross-reference o bençin checklist yerine re-derive o burada. platform-specific angle dır sadece bu: yapmayın assume herhangi bir of bunlar motorlar handles yönlendirmeler bençin siz. None yap.
Portability dır underrated upside
bir myth worth killing: switching commerce platforms yapar değil anlamına gel rebuilding sizin SEO -den scratch. rendering layer — sizin sonraki.js (veya React Router) storefront — dır ne determines crawlability, ve o’s largely portable genelinde commerce backends. bir sonraki.js storefront -ebilir benşaret et at BigCommerce, Medusa, Saleor, veya commercetools ile mostly data-layer changes. ne changes -dığınızda swap platforms dır scaffolding: nerede sitemap data comes -den, whether orada’s bir metadata utility, nasıl yönlendirmeler ve previews dır ele alınır. şu’s bir meaningful re-wire, ama o’s değil “start over.”
ve yapmayın üzerinde-dizin on API quality olarak bir SEO sinyal, either. bir platform’s GraphQL/REST API yalnızca determines ne data dır mevcut -e oluştur metadata ve sitemaps -den. Whether şu data aslında reaches Google server-side dır bir frontend/rendering decision — hangi, yeniden, hub owns.
nerede -e go sonraki
- Headless Ecommerce SEO — hub: SSR/SSG/CSR rendering decision, structured data (Product, ProductGroup/hasVariant), ve neden GMC feed dır independent of rendering.
- sonraki.js SEO — since Catalyst, commercetools Frontend, Medusa, ve Saleor storefronts
dır genellikle sonraki.js, bu nerede
generateMetadatavesitemap.tsmechanics live. - JavaScript SEO — general JS-rendering başarısızlık modes şu uygula -e herhangi bir JS-heavy storefront.
AI özet
bir condensed take on Advanced sürüm:
- Platform choice ≠ rendering choice. Crawlability comes -den frontend’s rendering model (SSR/SSG/CSR — owned tarafından headless ecommerce hub). commerce platform decides nasıl much SEO scaffolding siz inherit.
- bir spectrum, three tiers:
- Ships gerçek tooling: Shopify Hydrogen (
getSeoMetametadata utility, sitemap routes,robots.txt, auto preview-crawler blocking via Oxygen) ve BigCommerce Catalyst (sitemap proxied -den BigCommerce, sonraki.jsgenerateMetadataconventions). - Ships SDK helpers, değil routes: commercetools Frontend (three-sitemap pattern via SDK methods, manual route wiring, 500-item sayfalama limit) ve Salesforce PWA Kit (sitemap path branches on benşletme Manager vs. custom routing; manual scheduled regeneration).
- Ships nothing SEO-specific: Medusa, Saleor, Elastic Path — pure commerce APIs; sonraki.js frontend owns tümü SEO.
- Ships gerçek tooling: Shopify Hydrogen (
- Metadata: Hydrogen’s
getSeoMetadır yalnızca shipped SEO-metadata utility (title/description/image/canonical/JSON-LD). Everyone else exposes raw API fields siz wire -egenerateMetadatayourself. - Preview/staging leakage dır bir gerçek differentiator: Hydrogen/Oxygen auto-blocks crawlers on shareable bağlantılar; no eşdeğeri guarantee bençin Catalyst, commercetools, veya PWA Kit (1Digital raporlar Catalyst previews getting dizine eklenmiş in wild). Block them yourself eğer platform yapmaz.
- yönlendirmeler dır bir migration concern — no platform automates bir 301 map; cross-reference site Migrations article.
- Portability upside: sonraki.js frontend dır largely reusable genelinde backends; swapping platforms re-wires scaffolding, değil sizin whole SEO.
- Myth -e kill: “SEO-optimized out of the box” dır bir spectrum — Elastic Path’s kendi SEO post yapmaz hatta kapsa sitemaps, canonical tags, veya yönlendirmeler.
hangi headless commerce platform (bençin SEO)?
bu walks SEO-scaffolding tradeoff, değil benşletme/pricing decision. soru at her node dır “what do I want to inherit vs. build?“
resmî dokümantasyon
birincil-kaynak platform dokümantasyon, per commerce motor.
Shopify Hydrogen
- arama motoru Optimization bençin Hydrogen —
getSeoMetautility, canonical handling, sitemap ve robots.txt routes, ve Oxygen preview-blocking behavior. - Hydrogen
getSeoMetautility — metadata helper’s inputs (title, description, image, canonical, JSON-LD). - Hydrogen
getSitemaputility — per-kaynak-type sitemap generation ile locale alternates.
BigCommerce Catalyst
- Catalyst Sitemap docs — nasıl Catalyst proxies BigCommerce’s sitemap dizin. (bu URL moved -den
developer.bigcommerce.com-edocs.bigcommerce.comsince bu article idi drafted — verified 2026-07-19; eski path 301s burada.)
commercetools
- Sitemaps | Frontend Development — three-sitemap pattern, SDK methods (
getPages,query,queryCategories), route handlers, ve 500-item sayfalama limit.
Salesforce Commerce Cloud (PWA Kit)
- Improve SEO ile bir Sitemap | Composable Storefront — benşletme-Manager-vs-custom-routing branch ve manual sitemap adımlar.
- PWA Kit GitHub sorun #1755 — ekle Sitemap handling — community sinyal şu oluşturulmuş-in sitemap handling sahiptir olmuş bir manual gap.
Medusa / Saleor / Elastic Path
- Medusa sonraki.js Starter Storefront — App Router + React Server Components; SEO inherited -den sizin sonraki.js implementation.
- Elastic Path — SEO bençin headless commerce web siteleri — vendor blog; yararlı olarak platform’s stated SEO position (note o omits sitemaps/canonical/yönlendirmeler).
Quotes -den kaynak
Verbatim statements -den platform docs ve bir named practitioner. Deep bağlantılar jump -e quoted passage nerede kaynak supports o.
Shopify Hydrogen — metadata utility
- “Hydrogen uses Remix’s built-in
metafeatures for SEO tags, and includes thegetSeoMetautility, which makes it easier and more consistent to render SEO meta tags.” — Shopify.dev, Hydrogen SEO docs. bu exact sentence dır hâlâ live on doc, ama o’s stale:@shopify/hydrogenno longer depends on Remix (o peer-depends onreact-router ~7.16.0, ve@shopify/remix-oxygendır formally deprecated in favor ofreact-router).getSeoMetautility itself dır accurate ve güncel. Jump -e quote - “By default Hydrogen removes query parameters from canonical URLs.” — Shopify.dev, Hydrogen SEO docs.
Shopify Hydrogen — önizleme tarayıcısını engelleme
- “If you make a non-production deployment accessible with a shareable link or an auth bypass token, then Oxygen overrides the deployment’s
robots.txtfile with adisallowrule for all bots and crawlers.” — Shopify.dev, Hydrogen SEO docs. (Türkçe gloss: Paylaşılabilir bağlantı veya kimlik doğrulama atlama belirteciyle üretim dışı bir dağıtımı erişilebilir hâle getirirseniz Oxygen, dağıtımın robots.txt dosyasını tüm botlar ve tarayıcılar için disallow kuralıyla geçersiz kılar.)
BigCommerce Catalyst — site haritası vekilleme
- “Catalyst acts as an intermediary when handling requests to
/sitemap.xml.” — BigCommerce Developer Center, Catalyst Sitemap docs. (Türkçe gloss: Catalyst, /sitemap.xml isteklerini işlerken aracı görevi görür.) - “If your storefront also uses third-party systems that generate content with different URLs, you will need to submit multiple sitemaps to cover the URLs from various sources.” — BigCommerce Developer Center, Catalyst Sitemap docs. (Türkçe gloss: Vitrininiz farklı URL’lerle içerik üreten üçüncü taraf sistemleri de kullanıyorsa, çeşitli kaynaklardaki URL’leri kapsamak için birden çok site haritası göndermeniz gerekir.)
- “The sitemaps don’t need to reside on the same domain as the website they represent.” — BigCommerce Developer Center, Catalyst Sitemap docs. (Türkçe gloss: Site haritalarının temsil ettikleri web sitesiyle aynı domainde bulunması gerekmez.)
Dan Kogan, 1Digital Agency (practitioner, Catalyst SEO)
- “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.” okuyun rehber
- “Use
generateMetadataand SSR-emitted JSON-LD for every PDP and PLP. Do not rely on client-side schema injection.” okuyun rehber
Elastic Path (vendor blog — ele al olarak platform’s stated position, değil neutral)
- “If you’re dynamically building a page with a JavaScript framework alone, you might want to look into serving up cached versions of the pages to the bots.” okuyun post
Mistakes şu maliyet siz
Concrete başarısızlık modes ben’d kontrol et bençin on herhangi bir headless commerce oluştur.
Trusting “SEO-optimized out of the box” at face değer. neden o’s yanlış: o’s bir spectrum, değil bir guarantee. Hydrogen ships gerçek scaffolding; Medusa, Saleor, ve Elastic Path ship nothing SEO-specific. Elastic Path’s kendi SEO blog post yapmaz hatta mention sitemaps, canonical tags, veya yönlendirmeler. yap instead: ask specific questions per platform — ne ships bençin sitemaps, metadata, yönlendirmeler, ve preview-blocking? — ve budget gaps olarak oluştur çalışır.
Assuming her platform keeps staging out of Google.
neden o’s yanlış: yalnızca Hydrogen/Oxygen auto-blocks crawlers on preview/shareable
deployments. orada’s no documented eşdeğeri bençin Catalyst, commercetools, veya PWA Kit,
ve at least bir practitioner (1Digital Agency) raporlar Catalyst preview deployments
getting dizine eklenmiş tarafından Googlebot in wild. (tek-kaynak claim — ele al olarak bir credible
data benşaret et, değil settled fact.)
yap instead: block non-production environments yourself — robots.txt disallow, HTTP
auth, veya bir noindex header on her preview/staging URL. Never assume platform yapar
o.
Treating bir platform swap olarak “rebuild all SEO from scratch.” neden o’s yanlış: rendering layer (sizin sonraki.js/React Router frontend) dır ne determines crawlability ve dır largely portable genelinde backends — bir sonraki.js storefront -ebilir benşaret et at BigCommerce, Medusa, Saleor, veya commercetools ile mostly data-layer changes. yap instead: re-wire yalnızca scaffolding şu aslında differs — sitemap data kaynak, metadata utility, yönlendirme handling, preview-blocking. Reuse frontend.
Judging SEO tarafından API quality. neden o’s yanlış: GraphQL/REST API yalnızca determines ne data dır mevcut -e oluştur metadata ve sitemaps -den. Whether şu data reaches Google depends on server-side rendering — bir frontend decision, değil bir API bir. yap instead: evaluate rendering model (per hub) separately -den API. bir great API ile bir CSR frontend hâlâ ships empty HTML -e crawlers.
Skipping yönlendirme map on migration. neden o’s yanlış: no platform reviewed automates yönlendirmeler. Re-platforming failures almost her zaman trace back -e missing 301 maps, changed URL structures, ve structured-data gaps. yap instead: oluştur ve verify bir complete eski-URL→yeni-URL 301 map önce launch. On Stencil→Catalyst specifically, koru URLs identical veya map her bir. See site Migrations article bençin checklist.
Letting Product JSON-LD render twice, veya client-side.
neden o’s yanlış: 1Digital flags Product JSON-LD emitted twice (bir custom component plus
bir üçüncü-party app) ve generateMetadata returning bir client-yalnızca fallback çünkü
GraphQL sorgu aldı thrown -e bir client component — her ikisi yaygın Catalyst regressions.
yap instead: emit bir server-rendered Product block per PDP, ve koru
generateMetadata sorgu server-side. Validate ile Rich sonuçlar test et.
Platform SEO scaffolding — at bir glance
ne her platform ships out of box
| Platform | Frontend | Metadata | Sitemap | Preview-crawler block |
|---|---|---|---|---|
| Shopify Hydrogen | React Router 7 (migrated off Remix, 2026) | getSeoMeta utility (title/desc/canonical/JSON-LD) | Shipped route, 24h auto-refresh | Automatic (Oxygen) |
| BigCommerce Catalyst | sonraki.js | generateMetadata + alternates.canonical -den GraphQL | Proxied -den BigCommerce’s dizin | değil documented — yap o yourself |
| commercetools Frontend | sonraki.js | Raw API fields → sizin generateMetadata | SDK helpers; siz wire 3 routes (500-item paging) | değil documented — yap o yourself |
| Salesforce PWA Kit | React (PWA Kit) | usePage() hook (sayfa Designer) | Branches on routing; manual scheduled job | değil documented — yap o yourself |
| Medusa | sonraki.js (starter) | Whatever sizin sonraki.js frontend yapar | oluştur o yourself | oluştur o yourself |
| Saleor | sonraki.js (templates) | Whatever sizin sonraki.js frontend yapar | oluştur o yourself | oluştur o yourself |
| Elastic Path | sizin frontend | Raw custom fields via API | oluştur o yourself (değil in vendor docs) | oluştur o yourself |
Kısa bilgiler
- yalnızca Hydrogen ships bir dedicated SEO-metadata utility (
getSeoMeta). - yalnızca Hydrogen/Oxygen auto-blocks crawlers on preview/shareable deployments.
- Catalyst proxies BigCommerce’s sitemap — data lives in BigCommerce, değil sizin app.
- commercetools sitemap sorgular cap at 500 items/istek — büyük catalogs ihtiyaç duy paging logic.
- No platform ships automatic yönlendirme management — bir 301 map dır her zaman sizin job.
- Platform choice = scaffolding; rendering model (SSR/SSG/CSR) = crawlability.
Three-tier özet
- Ships gerçek tooling: Hydrogen, Catalyst
- Ships SDK helpers, değil routes: commercetools, PWA Kit
- Ships nothing SEO-specific: Medusa, Saleor, Elastic Path
Başsız platform SEO inceleme kontrol listesi
çalıştır bu önce committing -e bir platform, ve yeniden önce launch.
Scaffolding denetim (ne platform verir siz)
- yapğrulanmış ne ships bençin metadata — bir utility (Hydrogen) vs. raw API fields siz
wire -e
generateMetadata(everyone else). - yapğrulanmış nasıl sitemap dır produced — shipped route (Hydrogen), proxied (Catalyst), veya SDK/API siz assemble (commercetools, PWA Kit, Medusa, Saleor, Elastic Path).
- bençin commercetools: sayfalama logic in sitemap generator bençin catalogs üzerinde 500 items per sorgu.
- bençin PWA Kit: decided sitemap path (benşletme Manager vs. custom routing) ve scheduled bir regeneration job.
- yapğrulanmış orada’s bir
robots.txtroute (veya oluşturulmuş bir).
Preview / staging safety
- On Hydrogen: relying on Oxygen’s automatic crawler-block — verified o’s active on shareable bağlantılar.
- On her diğer platform: explicitly blocked non-production environments
(
robots.txtdisallow, HTTP auth, veyanoindexheader). - Checked şu no preview/staging URLs dır currently dizine eklenmiş (
site:arama on preview domain).
Rendering (owned tarafından hub, ama verify per platform)
-
curl-checked bir product sayfa — title ve description present in raw HTML (değil CSR-yalnızca). - yapğrulanmış category/collection routes ayrıca render server-side.
Migration / yönlendirmeler
- Complete eski-URL → yeni-URL 301 map oluşturulmuş ve verified.
- On Stencil→Catalyst: URLs kept identical, veya her bir mapped.
-
ProductJSON-LD emitted once, server-side (no double-emission -den bir üçüncü-party app).
Verify ne bir headless store aslında ships
whole benşaret et of bu article dır “don’t trust the vendor claim.” burada’s nasıl -e kontrol et claims yourself, per platform, on bir live demo veya sizin kendi oluştur.
dır product sayfa server-rendered? (shell)
eğer product title değildir in raw HTML, sayfa dır CSR — no platform scaffolding saves siz -den şu.
# Product name should appear in the raw HTML, before any JS runs.
curl -s https://yourstore.example/products/some-slug | grep -i '<title>'
curl -s https://yourstore.example/products/some-slug | grep -o 'og:title[^>]*'yapar sitemap var ol, ve nerede yapar o come -den? (shell)
# Hydrogen ships this route; Catalyst proxies it from BigCommerce; others may 404.
curl -sI https://yourstore.example/sitemap.xml
# Peek at the first URLs to confirm it's populated (not an empty shell).
curl -s https://yourstore.example/sitemap.xml | grep -o '<loc>[^<]*</loc>' | headdır preview/staging environment blocked? (shell)
Hydrogen-vs-everyone-else test et. On bir preview URL, Oxygen -meli döndür bir
disallow-everything robots.txt.
# On a preview/shareable deployment URL:
curl -s https://preview--yourstore.example/robots.txt
# Hydrogen/Oxygen preview: expect "User-agent: * Disallow: /"
# If it returns your production robots.txt instead, previews can be indexed — block them.bul canonical + JSON-LD in rendered head (DevTools Console)
Paste -e Chrome DevTools Console on herhangi bir PDP -e see whether canonical ve Product schema dır aslında in DOM (ve whether Product JSON-LD dır duplicated — bir yaygın Catalyst regression):
// Canonical URL the page declares:
document.querySelector('link[rel="canonical"]')?.href ?? '(no canonical)';
// Every JSON-LD block, parsed — watch for TWO Product blocks:
[...document.querySelectorAll('script[type="application/ld+json"]')]
.map(s => { try { return JSON.parse(s.textContent); } catch { return s.textContent; } });bir-click canonical checker (bookmarklet)
Save olarak bir bookmark; click o on herhangi bir product sayfa -e alert declared canonical ve nasıl çok söyleıda Product JSON-LD blocks var ol (2+ dır bir sorun):
javascript:(()=>{const c=document.querySelector('link[rel="canonical"]')?.href||'(none)';const p=[...document.querySelectorAll('script[type="application/ld+json"]')].filter(s=>/"@type"\s*:\s*"Product"/.test(s.textContent)).length;alert('Canonical: '+c+'\nProduct JSON-LD blocks: '+p);})();Extract her product URL -den bir proxied Catalyst sitemap (Python)
yararlı -dığınızda ihtiyaç duy URL listesi bençin bir yönlendirme map veya bir denetim:
import urllib.request, re
url = "https://yourstore.example/sitemap.xml"
xml = urllib.request.urlopen(url).read().decode("utf-8")
locs = re.findall(r"<loc>(.*?)</loc>", xml)
for loc in locs:
print(loc)Remember: bir curl şu shows bir empty <title> veya bir missing sitemap söyler siz -den fazla
herhangi bir “SEO-optimized out of the box” claim on bir pricing sayfa.
araçlar bençin vetting bir headless platform
curl/ view-kaynak — fastest “is this actually server-rendered?” kontrol et. eğer product title değildir in raw HTML, no platform scaffolding önem taşır henüz.- Google arama Console — URL Inspection — “Test live URL” shows nasıl Googlebot renders bir given product/category sayfa ve ne canonical o sees. kaynak of truth üzerinde sizin template.
- Rich sonuçlar test et — validate
ProductJSON-LD per PDP, ve catch double-emitted schema (bir yaygın Catalyst regression). - Screaming Frog SEO Spider — tarama bir staging oluştur -e bul missing canonicals on paginated listings, orphaned routes, ve whether preview URLs dır reachable/indexable.
- Ahrefs site denetimi — surface yinelenen bençerik, missing metadata, ve yönlendirme-chain problems genelinde bir headless oluştur ölçekte.
site:arama on preview domain — crude-ama-effective test et bençin whether sizin staging environment sahiptir zaten olmuş dizine eklenmiş.
Frameworks bençin comparing headless commerce platforms
two-axis model: rendering ve scaffolding
Score storefront on two independent axes:
- Rendering determines crawlability. SSR veya SSG -meli put product ve category bençerik in initial HTML; CSR -ebilir leave crawlers ile bir shell.
- Platform scaffolding determines ne sizin ekip -meli oluştur. Metadata plumbing,
sitemap routes,
robots.txt, preview blocking, ve yönlendirme ownership -ebilir ship, require assembly, veya olmak absent.
bir platform ile güçlü scaffolding -ebilir hâlâ sahip bir CSR implementation sorun. bir pure API platform -ebilir hâlâ olmak excellent bençin SEO ne zaman onun frontend implements missing layer. Never collapse two scores -e bir vendor claim.
inherit–oluştur–operate model
Classify her SEO capability önce platform selection:
| Capability | Inherit | oluştur | Operate |
|---|---|---|---|
| Metadata | Shipped utility veya framework convention | Route-level title, canonical, JSON-LD wiring | Regression kontroller sonra template changes |
| Sitemap | Shipped veya proxied route | Generators, sayfalama, multi-kaynak indexes | Refresh jobs ve URL-count izleme |
| Preview safety | Hosting auto-block | Auth, noindex, veya environment-specific robots kurallar | test et her preview deployment pattern |
| yönlendirmeler | None of reviewed platforms automates migration map | eski—e-yeni URL kurallar | Watch chains, loops, ve unmapped 404s |
platform decision değildir yalnızca oluştur effort. bir manual sitemap şu çalışır on launch hâlâ creates bir operating obligation ne zaman catalog size, locales, veya routing changes.
evidence ladder
Evaluate bir platform claim in bu sıra:
- Raw response evidence:
curl, response headers, ve view-kaynak göster ne bir crawler receives. - Route evidence: live sitemap, canonical, JSON-LD, ve
robots.txtbehavior. - Environment evidence: production ve preview deployments behave differently nerede onlar -meli.
- Vendor dokümantasyon: explains intended behavior, ama yapmaz prove implementation shipped yapğru biçimde.
- Marketing language: yararlı yalnızca olarak bir soru generator.
evidence ladder keeps “SEO-ready” -den substituting bençin bir testable acceptance criterion.
Post-implementation proof bençin bir headless platform
Product HTML ve canonical test et
test et -e çalıştır: Fetch bir temsilci product URL ile curl -s ve inspect
raw response bençin onun title, product name, canonical, ve bir Product JSON-LD block.
beklenen sonuç: product bençerik ve canonical dır present önce JavaScript,
ve tam olarak bir server-rendered Product object vardır.
başarısızlık interpretation: route -ebilir sahip fallen back -e CSR, metadata -ebilir olmak client-yalnızca, veya birden çok schema producers dır active.
izleme window: Immediate sonra her product-template veya data-fetching change.
Rollback trigger: bir release removes indexable product bençerik -den raw HTML veya duplicates product schema genelinde tested template ayarla.
Sitemap completeness test et
test et -e çalıştır: Fetch sitemap dizin ve child files, o hâlde compare sampled product ve category URLs ile commerce catalog. bençin commercetools, bençer products on her ikisi sides of bir sayfalama boundary.
beklenen sonuç: Published canonical URLs görün once, döndür 200, ve newest catalog changes arrive on platform’s documented refresh cycle.
başarısızlık interpretation: route dır missing, bir kaynak sitemap değildir proxied, sayfalama stops early, veya bir scheduled generator dır stale.
izleme window: sonra launch ve sonra herhangi bir catalog, locale, routing, veya sitemap job change.
Rollback trigger: bir deployment drops bir material catalog section -den sitemap veya starts emitting non-canonical/failed URLs.
Preview-environment isolation test et
test et -e çalıştır: istek bir gerçek shareable preview URL’s robots.txt ve headers, o hâlde
kullan URL Inspection veya bir external fetch olmadan authenticated cookies.
beklenen sonuç: Non-production URLs dır inaccessible -e anonymous crawlers veya carry bir environment-wide block; production kalır crawlable.
başarısızlık interpretation: hosting preview safeguard dır absent, uygulanır yalnızca -e bir preview pattern, veya production kurallar leaked -e staging.
izleme window: Immediate bençin her deployment mode, dahil branch previews ve auth-bypass bağlantılar.
Rollback trigger: bir kamuya birçık preview döndürür indexable bençerik olmadan intended block, veya düzelt accidentally blocks production.
Migration yönlendirme test et
test et -e çalıştır: istek complete eski-URL inventory olmadan following yönlendirmeler,
o hâlde validate status ve Location karşı approved map.
beklenen sonuç: her changed legacy URL döndürür bir permanent yönlendirme -e onun closest canonical replacement; preserved URLs kal 200.
başarısızlık interpretation: platform swap omitted bir kural, introduced bir chain, veya changed bir URL şu idi meant -e stay stable.
izleme window: önce cutover, immediately sonra cutover, ve during ilk post-launch tarama reviews.
Rollback trigger: High-değer legacy URLs döndür 404, loop, chain, veya yönlendirme -e bir irrelevant destination.
test et yourself: Headless Commerce Platforms
Five quick questions on nasıl major headless commerce platforms differ bençin SEO. seç bir yanıt her biri bençin, o hâlde kontrol et.
kaynaklar worth sizin time
benim related yazma
- JavaScript SEO sorunlar & en iyi Practices — general rendering başarısızlık modes (parity, interaction, state, timing) behind herhangi bir JS-heavy headless storefront; verify-yapmayın-trust approach ben uygula -e platform claims burada.
- Beginner’s rehber -e teknik SEO — nerede rendering ve crawlability sit in bigger picture.
benim speaking
- nasıl arama çalışır (SlideShare) — tarama, rendering, dizine ekleme, ve sıralama, ben.e. pipeline her bir of bunlar platforms feeds -e. (benim standing disclaimer uygulanır: “This is my understanding of systems… not going to be 100% complete or accurate.”)
-den yaklaşık industry
- arama motoru Optimization bençin Hydrogen (Shopify.dev) —
getSeoMetautility, sitemap/robots routes, ve Oxygen preview-blocking behavior, straight -den kaynak. - Catalyst Sitemap docs (BigCommerce Developer Center) — nasıl Catalyst proxies BigCommerce’s sitemap dizin.
- Sitemaps | Frontend Development (commercetools) — three-sitemap SDK pattern ve 500-item sayfalama limit.
- Improve SEO ile bir Sitemap | Composable Storefront (Salesforce Developers) — benşletme-Manager-vs-custom-routing branch bençin PWA Kit.
- BigCommerce Catalyst SEO | sonraki.js Storefront en iyi Practices (Dan Kogan, 1Digital Agency) — bir deep practitioner piece on Catalyst SEO: URL parity on migration,
generateMetadataregressions, double JSON-LD, ve preview-dizine ekleme. - SEO bençin headless commerce web siteleri (Kirsten Aebersold, Elastic Path) — vendor’s kendi SEO position (yararlı olarak bir durum study in ne “out of the box” leaves out — no sitemap/canonical/yönlendirme coverage).
- en iyi headless commerce platforms: 2026 comparison (Vendure) — bir broad benşletme/tech-stack comparison of platforms (ile SEO axis notably missing, bu da gap bu article fills).
- en iyi Headless Commerce Platforms 2026 (sizin sonraki Store) — başka bir platform-selection comparison bençin cross-referencing non-SEO decision criteria.
Değişiklik günlüğü
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
19 Tem 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.