Panduan Commerce Schema

Commerce schema adalah my catch-semua untuk schema.org listing jenis — Product, ProductGroup, dan JobPosting — itu Google turns ke Shopping-style dan Jobs-style rich hasil. Di sini's bagaimana mereka relate dan ketika untuk gunakan yang.

Pertama kali diterbitkan: 28 Jun 2026 · Terakhir diperbarui: 8 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

"Commerce schema" _(terjemahan)_ “Commerce schema” adalah my practitioner label — tidak sebuah Google atau schema.org category — untuk schema.org listing jenis itu power transactional rich hasil: Product (sebuah single sellable item), ProductGroup (sebuah parent itu groups variants), dan JobPosting (satu open job). Google splits them di seluruh dua doc families (Product/Variants di bawah "Shopping," _(terjemahan)_ “Shopping,” Job posting di umum fitur guides), dan schema.org tidak unify them either — Product/ProductGroup adalah parent/child, JobPosting sits di sebuah totally berbeda branch. Apa ties them together adalah purely SEO gunakan case: structured listings Google turns ke specialized SERP treatment (Merchant listings, Google untuk Jobs). None dari ini adalah sebuah peringkat factor — ini earns eligibility, tidak peringkat, dan ini adalah tidak sebuah CTR, display, atau AI-citation jaminan either. Review stars jalankan pada mereka own terpisah eligibility profile (tidak setiap product halaman qualifies), dan Organization-tingkat kembalikan policy vs. Offer-tingkat shipping exceptions adalah dua terpisah records untuk pertahankan saat ini. lifecycle stakes differ sharply too: sebuah stale product mostly loses eligibility, tetapi sebuah stale, unremoved job posting dapat earn Anda sebuah manual tindakan. ini hub routes; property tables langsung di jenis-spesifik deep dives.

TL;DR — “Commerce schema” (terjemahan) “Commerce schema” adalah my practitioner grouping, tidak sebuah Google atau schema.org category, untuk listing jenis itu earn transactional rich hasil: Product, ProductGroup, dan JobPosting. Google sebenarnya splits them — Product/Variants langsung di bawah “Shopping,” (terjemahan) “Shopping,” Job posting sits di umum fitur guides list. schema.org tidak unify them either: Product → ProductGroup adalah sebuah nyata parent/child (Thing > Product > ProductGroup), sementara JobPosting adalah off di Intangible branch (Thing > Intangible > JobPosting), unrelated untuk Product. satu-satunya hal binding semua three adalah SEO gunakan case — structured listings Google turns ke specialized SERP treatment (Merchant listings, Google untuk Jobs). None dari ini adalah sebuah peringkat factor; ini buys eligibility — tidak sebuah guaranteed display, sebuah CTR lift, atau sebuah AI citation, yang adalah three terpisah, unguaranteed outcomes. Review/AggregateRating eligibility berjalan pada -nya own terpisah profile, dan kembalikan/shipping data splits ke sebuah Organization-tingkat policy plus Offer-tingkat exceptions — dua lebih contracts ini hub hanya routes untuk. dan lifecycle risk differs di seluruh three: sebuah stale Product mostly loses eligibility, tetapi sebuah stale, un-expired JobPosting dapat trigger sebuah manual tindakan.

pertama, sebuah honest framing: ini adalah my grouping, tidak Google’s

grouping di ini artikel combines several related vocabularies dan penelusuran fitur untuk convenience. Evidence for this claim Commerce schema is an editorial grouping rather than a single Schema.org type or Google feature. Scope: This article's taxonomy; Schema.org and Google document individual types and search experiences. Confidence: high · Verified: Schema.org: Product setiap Google experience memiliki -nya own diperlukan dan recommended properties, dan valid markup melakukan tidak jaminan display. Evidence for this claim Google documents distinct structured-data requirements for product snippets and merchant listings, and valid markup does not guarantee display. Scope: Google Product structured data and merchant-listing experiences. Confidence: high · Verified: Google: Product structured data

I ingin untuk menjadi transparent up front, karena sebagian besar konten itu talks tentang “commerce” (terjemahan) “commerce” atau “ecommerce” (terjemahan) “ecommerce” schema diam-diam implies ini jenis adalah sebuah official family. mereka’re tidak.

  • Google’s own docs split them. di data terstruktur gallery, “Job posting” (terjemahan) “Job posting” sits di flat, umum fitur guides list — right alongside unrelated jenis like artikel, Local business, dan Organization. Meanwhile “Product snippet,” (terjemahan) “cuplikan produk,” “Merchant listing,” (terjemahan) “listing pedagang,” dan “Variants” (terjemahan) “varian” langsung di bawah sebuah terpisah Shopping sub-heading. Dua berbeda documentation families.
  • schema.org tidak unify them. -nya own jenis hierarchy memiliki sebuah dedicated “Product, Offer, dan AggregateOffer” (terjemahan) “Product, Offer, dan AggregateOffer” group — dan JobPosting muncul di Tidak top-tingkat grouping alongside ini.

So mengapa put them di satu artikel? Karena di practice — cara sebuah SEO sebenarnya berfungsi — mereka’re yang sama jenis dari masalah: structured, listing-style konten Anda mark up untuk unlock sebuah specialized penelusuran experience. itu shared gunakan case adalah nyata dan berguna. shared taxonomy adalah tidak. I’d rather say itu plainly daripada pretend Google drew ini box.

three jenis di sebuah glance

  • Product (schema.org/Product) — sebuah single sellable item. Google turns valid Product markup ke dua experiences: product snippets (review stars dan price pada non-purchase halaman) dan merchant listings (fuller Shopping-style hasil pada halaman di mana Anda dapat buy item). Bare minimum untuk sebuah rich hasil: name plus di least satu dari offers, review, atau aggregateRating — tetapi review/ aggregateRating route rides pada Google’s terpisah Review snippet aturan (-nya own eligibility profile, including self-serving-reviews restriction), tidak sebuah blanket “any product halaman dapat menunjukkan stars.” (terjemahan) “apa pun product halaman dapat tampilkan stars.” Tidak setiap Product atau merchant halaman secara otomatis qualifies untuk review stars; see Review schema deep dive untuk itu profile.
  • ProductGroup (schema.org/ProductGroup) — sebuah parent itu groups variants dari satu conceptual item (sebuah t-shirt di several sizes dan colors) so Google understands mereka’re options dari yang sama product, tidak unrelated listings. ini ties variants together dengan hasVariant, variesBy, dan productGroupID. Crucially, ini tidak replace Product — setiap variant adalah masih -nya own penuh Product; ProductGroup sits di atas them.
  • JobPosting (schema.org/JobPosting) — sebuah single open job, marked up so ini adalah eligible untuk Google untuk Jobs experience ( card/carousel dari listings di Penelusuran). Baseline diperlukan properties adalah title, description, datePosted, hiringOrganization, dan jobLocation (atau applicantLocationRequirements untuk fully remote peran).

I pertahankan ini hub dengan sengaja shallow pada setiap jenis’s property tables — deep dives langsung di three child artikel I poin untuk di end.

Di mana mereka sit di schema.org hierarchy

ini adalah bagian hampir tidak seorang pun cites correctly, dan ini adalah perbedaan antara sebuah guess dan sebuah fact:

  • ProductThing > Product.
  • ProductGroupThing > Product > ProductGroup. ini adalah sebuah genuine subtype dari Product, inheriting semua dari Product’s properties dan menambahkan hasVariant, productGroupID, dan variesBy. So “Product vs ProductGroup” (terjemahan) “Product vs ProductGroup” tidak sebuah nyata either/atau — ProductGroup adalah sebuah specialized Product, purpose-dibangun untuk variant case.
  • JobPostingThing > Intangible > JobPosting. sebuah completely terpisah branch. JobPosting definition membuat Tidak reference untuk Product, Offer, atau apa pun commerce jenis.

Conclusion: Product dan ProductGroup adalah taxonomically related (parent/child, verifiable, citable); JobPosting adalah taxonomically unrelated. connective tissue di seluruh semua three adalah SEO gunakan case, tidak jenis inheritance. Say itu, dan Anda’re pada solid ground.

Product vs. ProductGroup: ketika untuk gunakan yang

sederhana aturan:

  • Satu purchasable configuration → plain Product. sebuah single SKU, satu price, satu halaman-itu-dapat-menjadi-bought.
  • Satu conceptual item, multiple purchasable variantsProductGroup wrapping -nya Product members. shirt-di-five-colors case. sebuah ProductGroup itself tidak offered untuk sale — -nya hasVariant members adalah, setiap dengan -nya own sku/gtin, price, dan availability.

Google juga documents ProductGroup differently: ini lives pada Variants halaman, tidak sebagai sebuah standalone top-tingkat fitur guide — reinforcing itu Google memperlakukan ini sebagai sebuah extension dari Product alih-alih sebuah wholly terpisah rich-hasil jenis. Penuh property tables, variesBy penuh-URL gotcha, dan Merchant Center item_group_id reconciliation belong di ProductGroup deep dive, tidak di sini.

JobPosting: odd satu out

JobPosting shares tidak ada apa pun taxonomically dengan Product — tetapi ini adalah yang sama shape dari masalah, so ini earns -nya place di ini hub. Dua hal set ini apart operationally:

  1. Satu job per halaman, selalu. Google’s aturan: “Itu JobPosting markup harus hanya menjadi digunakan pada halaman itu contain a single job posting.” (terjemahan) “ JobPosting markup harus hanya menjadi digunakan pada halaman itu berisi sebuah single job posting.” tidak pernah pada sebuah listing atau penelusuran-hasil halaman. Product/ProductGroup memiliki Tidak equivalent single-item-per-halaman restriction — di fact ProductGroup ada precisely untuk tangani several variants pada satu halaman.
  2. Expired postings adalah sebuah compliance obligation, tidak sebuah set-dan-forget. Lebih pada risk di bawah — ini adalah di mana stakes diverge hardest dari Product.

Shared ground aturan di seluruh semua three

bahkan though jenis jangan share sebuah taxonomy, mereka share Google’s umum structured-data guidelines, dan ini adalah worth stating aturan setelah:

  • diperlukan properties adalah eligibility gate. Miss sebuah diperlukan property dan halaman tidak eligible untuk itu rich hasil. Recommended properties raise quality — Google secara harfiah menggunakan job-posting salary sebagai -nya own contoh: pengguna prefer postings dengan stated salaries di atas itu tanpa. yang sama “lebih menyelesaikan adalah better” (terjemahan) “lebih menyelesaikan adalah better” logic applies untuk Product.
  • Eligibility ≠ guaranteed display. Valid markup mendapatkan Anda ke pool; Google’s sistem masih secara terpisah decide apakah untuk tampilkan enhancement.
  • hanya mark up terlihat, accurate konten. Tidak invisible markup, Tidak fake reviews, Tidak misleading data — Google’s spam dan konten-quality policies apply di seluruh semua three, plus setiap jenis carries -nya own fitur-spesifik policy (JobPosting’s konten policy, misalnya).
  • JSON-LD adalah recommended format untuk semua dari them — easier untuk maintain di scale daripada inline Microdata/RDFa.

Di mana setiap connects beyond pada-halaman markup

nyata unifying nilai tidak taxonomy — ini adalah itu Google memberikan listing-style konten -nya own product-line treatment:

  • Product / ProductGroup ↔ Google Merchant Center. Anda dapat menyediakan product data sebagai pada-halaman data terstruktur, sebagai sebuah Merchant Center feed, atau keduanya. Google recommends keduanya untuk maximize eligibility, dan ini reconciles dua — mereka’re terpisah sistem itu adalah validated secara terpisah, tidak satu submission. Passing Rich hasil Test tidak berarti Anda feed adalah valid, dan vice versa. Price dan availability perlu untuk match di seluruh pada-halaman markup, feed, dan checkout.
  • JobPosting ↔ Google untuk Jobs. Valid JobPosting markup membuat sebuah single-job halaman eligible untuk Jobs experience — sebuah distinct vertical, tidak Shopping surface.
  • mengembalikan dan shipping split yang sama cara, di sebuah finer grain. MerchantReturnPolicy biasanya lives di Organization tingkat — Anda standard, situs-wide kembalikan window dan istilah. OfferShippingDetails berfungsi di Offer tingkat, dan ada secara khusus untuk override org-tingkat default untuk satu item (sebuah lebih berat product, sebuah region dengan berbeda rates). Treat itu sebagai dua terpisah records itu dapat setiap drift stale pada mereka own, tidak satu blob Anda set setelah — org-tingkat policy dan apa pun offer-tingkat exceptions keduanya perlu mereka own upkeep. Penuh precedence aturan langsung di MerchantReturnPolicy dan OfferShippingDetails deep dives.
  • pada-halaman data terstruktur, sebuah Merchant Center feed, dan apa Google’s Penelusuran fitur atau sebuah AI jawaban sebenarnya surface adalah three terpisah contracts, tidak satu pipeline — valid markup earns eligibility di pertama, tidak secara otomatis populate kedua, dan tidak jaminan apa pun di ketiga. Passing satu tidak prove parity dengan others.

Bing asymmetry adalah worth stating plainly: Bing validates semua three jenis generically terhadap schema.org shape, tetapi ini publishes Tidak bespoke diperlukan/recommended property tables atau konten policies untuk apa pun dari them, dan ini memiliki Tidak equivalent untuk Merchant listings atau Google untuk Jobs. pada ProductGroup secara khusus, Bing’s own Fabrice Canel mengatakan (September 2024) ini tidak namun consume ProductGroup markup di -nya shopping captions, though ini adalah “on their radar.” (terjemahan) “pada mereka radar.” So: sama base vocabulary, tetapi hanya Google memiliki dibangun dedicated, terdokumentasi rich-hasil experiences pada top dari ini.

Risk dan lifecycle differences

Di sini’s contrast I sebagian besar ingin orang untuk internalize, karena Tidak satu else frames ini: stale listings perlu lifecycle hygiene di seluruh semua three jenis — tetapi stakes differ sharply.

  • sebuah stale atau out-dari-stock Product mostly hanya loses rich-hasil eligibility, atau menampilkan sebuah “sold out” (terjemahan) “sold out”/“out of stock” (terjemahan) “out dari stock” label. Annoying, tidak catastrophic.
  • sebuah stale, unremoved JobPosting adalah sebuah berbeda animal. Google: “We don’t allow expired job postings,” (terjemahan) “kami jangan izinkan expired job postings,” dan failure untuk expire atau hapus closed jobs “may result in a manual action.” (terjemahan) “dapat hasil di sebuah manual tindakan.” itu’s sebuah materially worse outcome daripada ordinary ineligibility. three accepted cara untuk expire sebuah job: set validThrough di past, mengembalikan 404/410, atau strip markup.

sama lesson — structured listings perlu sebuah lifecycle proses — tetapi jika Anda hanya bangun satu cleanup pipeline, bangun ini untuk jobs.

melakukan commerce schema help SEO?

Tidak, tidak rankings. John Mueller memiliki telah direct: “Structured data won’t make your site rank better.” (terjemahan) “data terstruktur tidak akan membuat Anda situs peringkat better.” Apa ini melakukan adalah earn eligibility untuk rich hasil dan specialized experiences, dan secara terpisah help Google memahami Anda halaman. Conflating “I added schema” (terjemahan) “I ditambahkan schema” dengan “I’ll rank better” (terjemahan) “I’ll peringkat better” adalah single sebagian besar umum myth di seluruh semua three jenis.

dan ini adalah tidak hanya rankings. Eligibility, sebuah sebenarnya-displayed rich hasil, sebuah CTR lift, dan revenue adalah four terpisah claims — jangan collapse them ke satu. Valid markup tidak jaminan Anda listing menampilkan up di Shopping atau Jobs experience (eligibility tidak display), tidak jaminan lebih clicks, dan — since none dari ini hub’s schema jenis adalah terdokumentasi AI-visibilitas sinyal — ini tidak sebuah lever untuk menunjukkan up atau getting cited di AI Overviews atau AI Mode either. mengukur setiap dari itu outcomes pada -nya own; sebuah schema rollout adalah worth melakukan untuk penelusuran fitur ini dapat earn, tidak sebagai sebuah proxy untuk apa pun dari rest.

My own take echoes Mueller’s: know apa schema adalah sebenarnya untuk sebelum Anda spend dev time pada ini. ini adalah di sini untuk stay — Mueller memiliki juga mengatakan Google tidak killing schema — tetapi Anda implement ini untuk win sebuah penelusuran fitur, tidak untuk move up hasil, jaminan sebuah click, atau move sebuah AI jawaban.

Di mana untuk go berikutnya

ini hub adalah map; setiap dari ini adalah -nya own deep dive nested di bawah ini:

  • Product schema — dua Google experiences (product snippets vs. merchant listings), diperlukan/recommended property split, availability enum, dan feed-vs-markup confusion untangled. Mulai di sini jika Anda halaman sells satu item.
  • ProductGroup schema — grouping variants dengan hasVariant/variesBy/ productGroupID, single-halaman vs. multi-halaman patterns, penuh-schema.org-URL gotcha, dan reconciling dengan Merchant Center’s item_group_id. Mulai di sini jika Anda item muncul di sizes/colors/materials.
  • JobPosting schema — diperlukan vs. recommended properties, remote/hybrid menangani, single-job-per-halaman aturan, expiration hygiene, dan 2024–2025 pengindeksan API access perubahan untuk job boards. Mulai di sini untuk sebuah careers halaman atau job board.
  • MerchantReturnPolicy schema — nested, property-tingkat jenis untuk Anda kembalikan policy: precedence order antara markup dan Merchant Center settings, dan applicableCountry vs. returnPolicyCountry mix-up.
  • OfferShippingDetails schema — shipping-rate/destination/pengiriman-time companion property, dan ketika Google sebenarnya memerlukan ini untuk free listings.
  • Review schema — terpisah eligibility profile behind review/ aggregateRating route ke sebuah Product rich hasil: single-review vs. aggregate aturan, self-serving-reviews restriction, dan mengapa tidak setiap product halaman secara otomatis qualifies untuk stars. Mulai di sini setelah Anda’re past “which of the three do I use” (terjemahan) “yang dari three melakukan I gunakan” dan ke “can this page actually show review stars.” (terjemahan) “dapat ini halaman sebenarnya tampilkan review stars.”

untuk wider picture, ini hub nests di bawah lebih luas data terstruktur subcluster — see juga sibling schema markup artikel di sana untuk vocabulary, formats, dan deprecation cycle. dan ini semua lives di pada-halaman cluster, di mana data terstruktur sits alongside rest dari pada-halaman SEO teknis.

Add an expert note

Pin an expert quote

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