暫定日本語訳:ProductGroup Schema

暫定日本語訳:どのように へ 使用 ProductGroup schema へ group 商品 variants (size, color, material) とともに hasVariant, variesBy, と productGroupID — plus item_group_id difference と なぜ Bing doesn't support it.

初回公開:2026年6月27日 · 最終更新:2026年8月4日 · Advanced
言語

暫定日本語訳:ProductGroup schema wraps 設定 of 商品 variants — shirt's sizes と colors — 下で one parent so Google understands それら're options of 同じ item, ない separate 商品. It's additive: すべての variant is still full 商品 とともに its own sku/gtin, 価格, と 在庫状況, と ProductGroup ties them together とともに hasVariant (nested, single-ページ サイト), variesBy (which attributes differ), と productGroupID ( parent sku). single 大半の 一般的な mistake is writing variesBy as plain strings — it 必要がある 使用 full schema.org URLs like https://schema.org/color; in my テスト JSON-LD still validates ただし grouping doesn't trigger (Google doesn't document その failure mode, so verify it yourself). Two more traps: productGroupID (on-ページ schema) is ない マーチャント Center's item_group_id ( 商品-フィード attribute) — separate systems, nothing auto-syncs them, so 使用 matching values deliberately; と Bing doesn't consume ProductGroup markup at all (per Microsoft's Fabrice Canel, Sept 2024, reported statement, ない Microsoft doc). My rule とともに all schema holds here: implement it because it earns あなた 検索 feature, ない because more markup is 自動 better — it aids understanding と マーチャント-listing 適格性, it doesn't 作る variant 順位.

暫定日本語案: TL;DR — ProductGroup (Google’s Feb 2024 addition) wraps variant Product 暫定日本語案: objects 下で one parent so Google understands “same item, different options.” It’s 暫定日本語案: additive — 各 variant 保持 full Product markup (sku/gtin, offers, 暫定日本語案: image, availability). Link them とともに hasVariant (nested, single-ページ サイト) または 暫定日本語案: isVariantOf + inProductGroupWithID (flat, multi-ページ サイト); declare varying 暫定日本語案: axes とともに variesBy — which 必要がある 使用 full schema.org URLs (https://schema.org/color), 暫定日本語案: ない plain strings ( #1 implementation mistake — validates either way, ただし grouping 暫定日本語案: quietly won’t trigger in practice, which isn’t documented Google behavior); と share 暫定日本語案: productGroupID (plain 暫定日本語案: text parent sku, ない URL). productGroupID is ない マーチャント Center’s 暫定日本語案: item_group_id — separate systems, nothing auto-syncs them, so 使用 matching values 暫定日本語案: on purpose. だけ name is strictly 必要. と Bing doesn’t consume ProductGroup 暫定日本語案: at all (Fabrice Canel, Sept 2024). Schema aids understanding と マーチャント-listing 暫定日本語案: 適格性 — it isn’t ランキング factor.

どこ この sits

暫定日本語案: この is schema-implementation deep dive — full JSON-LD, プロパティ-by-プロパティ 暫定日本語案: reference, マーチャント Center reconciliation, と troubleshooting. upstream 暫定日本語案: strategy question — すべき given variant get its own indexable URL at all, と どのように 暫定日本語案: do Shopify/WooCommerce/BigCommerce/Magento differ — is its own topic (商品 variant 暫定日本語案: SEO). この 記事 assumes あなた’ve already made それらの calls と 現在 need markup 暫定日本語案: right. It また sits 下で broader schema markup と structured データ hubs, と it’s 暫定日本語案: sibling of 商品 schema (向けに single, non-varying item, plain Product is all あなた 暫定日本語案: need — ProductGroup is 向けに family of variants).

なぜ ProductGroup exists

暫定日本語案: Google’s own framing: “To help Google better understand which products are variations of the same parent product, use the ProductGroup class with associated properties variesBy, hasVariant, and productGroupID to group such variants together.” 暫定日本語案: motivating categories are exactly 何 あなた’d expect — “apparel, shoes, furniture, electronic devices, and luggage… sold in different variations (for example various sizes, colors, materials, or patterns).”

Evidence for this claim Google documents ProductGroup relationships including variesBy, hasVariant, productGroupID, and inverse variant references. Scope: Google Search product-variant requirements; use the pattern matching the site's URL architecture. Confidence: high · Verified: Google: Product variants

暫定日本語案: payoff is 適格性, ない ランキング: “Adding this markup also makes your products eligible for display with variant information in merchant listing experiences.” 同じ 暫定日本語案: caveat その applies へ all structured データ — it aids understanding と rich-result 暫定日本語案: 適格性, it doesn’t move あなた up results.

It’s additive — この is mental model その 防ぐ 大半の mistakes

暫定日本語案: ProductGroup wraps Product; it doesn’t replace it. ProductGroup object 暫定日本語案: itself isn’t offered 向けに sale — it has no single 価格, because “the coat” costs 暫定日本語案: 異なる amounts depending on which variant あなた buy. すべての variant remains full 暫定日本語案: Product とともに its own sku/gtin, image, offers, と availability. If あなた 暫定日本語案: find yourself trying へ put single offers/price on ProductGroup, stop — 暫定日本語案: その’s tell その あなた’ve confused wrapper 向けに thing being sold.

Evidence for this claim ProductGroup groups variant Product entities; it does not replace the Product data required for individual variants. Scope: Google Search product-variant guidance; each purchasable variant retains its relevant Product and Offer data. Confidence: high · Verified: Google: Product variants

three core プロパティ

ProductGroup adds the parent relationship; it never replaces the Product markup on each sellable variant. 出典: Patrick Stox

A ProductGroup named Wool winter coat declares productGroupID 44E01 and variesBy values using full schema.org URLs for color and size. It connects to green small, green large, and blue small Product variants. Every variant keeps a unique SKU, Offer, image, and availability. The connection can use hasVariant in a nested model or isVariantOf in a flat model.

© Patrick Stox LLC · CC BY 4.0 ·

hasVariant (と isVariantOf)

暫定日本語案: hasVariant is “a nested Product property that is one of the variants of the ProductGroup property… A ProductGroup typically has multiple nested variant Product properties.” あなた put あなた variant Product objects inside group.

暫定日本語案: inverse また exists: “a variant Product property can reference back to its parent ProductGroup using the isVariantOf property on the Product property.” Which one あなた 暫定日本語案: 使用 depends on あなた サイト’s URL structure (next section).

variesBy — full schema.org URLs, ない plain strings

暫定日本語案: variesBy declares “aspects by which the variants in the ProductGroup vary (for example, size or color).” critical detail, verbatim から Google’s プロパティ 暫定日本語案: table: “Reference these variant-identifying properties through their full Schema.org URL.”

暫定日本語案: その means:

"variesBy": ["https://schema.org/size", "https://schema.org/color"]

暫定日本語案: ない "variesBy": ["size", "color"]. この is single 大半の 一般的な implementation 暫定日本語案: mistake in この entire topic. 何’s documented: Google’s プロパティ table 必要とする 暫定日本語案: full URL form — nothing more specific than その. 何’s ない documented: Google 暫定日本語案: doesn’t publish 何 happens if あなた skip it. In my own テスト と consistent とともに 暫定日本語案: other practitioners’ レポート, JSON-LD still passes syntax validation と nothing 暫定日本語案: errors out, ただし enhanced grouping behavior doesn’t trigger — treat その as strongly 暫定日本語案: observed pattern, ない 公式 Google statement, と verify it against あなた own 暫定日本語案: markup rather than taking it as gospel.

暫定日本語案: supported dimensions are https://schema.org/color, https://schema.org/size, 暫定日本語案: https://schema.org/suggestedAge, https://schema.org/suggestedGender, 暫定日本語案: https://schema.org/material, と https://schema.org/pattern.

productGroupID — plain text, と ない item_group_id

暫定日本語案: productGroupID is “the identifier of the product group (also known as the parent sku). This identifier must be provided for the ProductGroup property or, alternatively, using inProductGroupWithID property for variants.” It’s plain text identifier 暫定日本語案: — Google’s own 例 is "44E01"ない URL. Don’t 超えて-generalize 暫定日本語案: variesBy “full schema.org URL” rule へ この field; それら’re 異なる rules 向けに 暫定日本語案: 異なる jobs.

暫定日本語案: One hard constraint: “If you provide the identifier for both the ProductGroup property and its variant Product properties, they must match.” Google’s docs state 暫定日本語案: requirement ただし don’t document 何 happens いつ it’s violated. Based on my own テスト 暫定日本語案: (ない documented Google failure mode), typo または template/environment leak その 暫定日本語案: changes value on one variant ページ drops その variant out of group とともに no 暫定日本語案: visible error — ページ just stops being read as part of family. Treat その as 暫定日本語案: observed behavior worth verifying yourself, ない 公式 spec.

Two implementation patterns: nested vs. flat

暫定日本語案: あなた URL structure decides which pattern あなた 使用.

暫定日本語案: Single-ページ サイト — nested (hasVariant). All variants are selectable on one URL 暫定日本語案: (via dropdowns/swatches). “For single-page websites only: The URL (without variant selectors) where the ProductGroup property is located.” There’s exactly one canonical 暫定日本語案: URL 向けに whole group, と あなた nest すべての variant Product inside ProductGroup 暫定日本語案: via hasVariant.

暫定日本語案: Multi-ページ サイト — flat (isVariantOf + inProductGroupWithID). 各 variant has 暫定日本語案: its own dedicated URL. Here “this doesn’t apply since there is no single canonical URL representing the ProductGroup property.” 各 ページ 必要がある carry full, self-contained 暫定日本語案: markup 向けに entities defined on その ページ — あなた don’t share one block 全体で ページ. 暫定日本語案: すべての variant Product references its parent とともに isVariantOf, と group link is 暫定日本語案: carried by inProductGroupWithID: “Each product group must have a unique ID in its corresponding structured data markup, specified with the inProductGroupWithID property.”

暫定日本語案: Either way, “Each variant must have a unique ID in its corresponding structured data markup (for example, using the sku or gtin properties).”

暫定日本語案: One more requirement 人々 miss on multi-ページ setups: variants 必要がある be reachable by 暫定日本語案: distinct, preselectable URL. Google: “The site must have the ability to preselect each variant directly with a distinct URL (using URL query parameters), for example https://www.example.com/winter_coat/size=small&color=green.” variant その だけ 暫定日本語案: 表示される 後に クライアント-side クリック, とともに no URL へ point at, できる’t be validated または 暫定日本語案: インデックス登録 as its own thing.

  • 暫定日本語案: 必要 on ProductGroup: just name (e.g., "Wool winter coat").
  • 暫定日本語案: Recommended: variesBy, hasVariant, productGroupID, brand, description, 暫定日本語案: aggregateRating, review, hasAdultConsideration, と (single-ページ サイト だけ) 暫定日本語案: url.

暫定日本語案: Technically だけ name is 必要 — ただし variesByproductGroupID are 暫定日本語案: functionally load-bearing. Skip them と JSON-LD validates while grouping 暫定日本語案: behavior あなた wanted 決して 表示 up. (aggregateRatingreview here are 同じ 暫定日本語案: types あなた’d 使用 standalone — see AggregateRating と Review schema deep dives.)

productGroupID vs. マーチャント Center’s item_group_id — reconciliation nobody explains

暫定日本語案: この is confusion point その 大半の competitor コンテンツ skips entirely, so it’s worth 暫定日本語案: being precise.

  • 暫定日本語案: productGroupID is schema.org / on-ページ structured データ field. It フィード 暫定日本語案: オーガニック 検索’s understanding of ページ.
  • 暫定日本語案: item_group_id is Google マーチャント Center 商品-フィード attribute. マーチャント 暫定日本語案: Center: “Use the item group ID [item_group_id] attribute to group product variants in your product data.” It フィード Shopping ads と 無料リスティング.
Evidence for this claim Merchant Center item_group_id groups variants in product data, while ProductGroup.productGroupID and Product.inProductGroupWithID are on-page structured-data properties. Google's docs cross-reference the concepts but do not establish automatic synchronization or a universal requirement that the literal values match across feed and markup. Scope: product data Confidence: high · Verified: Item group ID [item_group_id]

暫定日本語案: それら are two separate systems, と Google does ない 自動 sync them. 暫定日本語案: Best practice — と この is echoed 全体で better third-party implementation guides 暫定日本語案: — is へ 使用 同じ identifier value 向けに both, so あなた フィード と あなた markup agree 暫定日本語案: on which SKUs belong together. mismatch doesn’t necessarily break either system 暫定日本語案: outright, ただし it removes reinforcing signal と できる produce inconsistent grouping 暫定日本語案: 間に Shopping surfaces と オーガニック rich results.

暫定日本語案: ( footnote on casing: マーチャント Center’s 役立つ sometimes writes productGroupId 暫定日本語案: lowercase-d どこ 検索 Central’s docs 使用 productGroupID. その’s cosmetic 暫定日本語案: inconsistency in Google’s own docs, ない mistake on あなた end — follow 検索 Central’s 暫定日本語案: productGroupID in あなた JSON-LD.)

暫定日本語案: consistency discipline here is 同じ one その governs canonicals と variant 暫定日本語案: URLs generally: あなた signals すべき agree とともに 各 other, または あなた’re handing Google 暫定日本語案: 理由 へ guess.

Bing does ない support ProductGroup

暫定日本語案: Here’s differentiator 大半の guides get 誤った または omit: Bing does ない currently 暫定日本語案: consume schema.org ProductGroup markup. Microsoft’s Fabrice Canel, responding 暫定日本語案: directly へ question について whether Bing supports schema.org/ProductGroup, said Bing 暫定日本語案: does ない yet support it, ただし その it’s “on our radar” と team is “closely monitoring its adoption.” (Reported by 検索エンジン Roundtable, covering September 暫定日本語案: 2024 exchange on X — 二次 レポート of 最初-party statement, ない Microsoft doc, 暫定日本語案: so treat it as such.)

暫定日本語案: Bing’s Webmaster ツール structured-データ 役立つ is generic overview of supported formats 暫定日本語案: とともに no ProductGroup-, variesBy-, または productGroupID-specific コンテンツ. Bing’s 暫定日本語案: Shopping variant grouping runs 通じて フィード-side itemGroupId field in 暫定日本語案: Microsoft Advertising — analog of Google’s item_group_id, ない on-ページ schema. 暫定日本語案: So: implement ProductGroup 向けに Google, と handle Bing Shopping variants 通じて 暫定日本語案: Microsoft Advertising フィード, ない markup.

note on dynamic markup

暫定日本語案: Google’s own caution: “Be aware that dynamically-generated markup can make Shopping crawls less frequent and less reliable, which can be an issue for fast-changing content like product availability and price.” If あなた variant offers/availability are 暫定日本語案: JS-injected, weigh その against サーバー-rendering markup 向けに fields その change 暫定日本語案: 多くの場合.

Validate 前に あなた ship

  • 暫定日本語案: Rich Results テスト — checks 適格性 と surfaces 必要-プロパティ errors 向けに 暫定日本語案: マーチャント-listing/variant experience.
  • 暫定日本語案: Schema Markup Validator (schema.org) — validates ProductGroup/商品 types 暫定日本語案: themselves, independent of Google features.
  • 暫定日本語案: 検索 Console — マーチャント-listings/商品-snippet enhancement レポート 表示 暫定日本語案: 適格性 と errors at scale post-deploy; URL Inspection 表示 どのように specific 暫定日本語案: ページ was read.

暫定日本語案: Remember 何 “valid” does と doesn’t tell あなた: plain-string variesBy passes 暫定日本語案: validation と, in my テスト, still doesn’t trigger grouping. Validation catches syntax 暫定日本語案: と 必要-プロパティ gaps, ない この kind of semantic failure (which Google doesn’t 暫定日本語案: document either way) — 向けに それらの, 確認 by hand その あなた variesBy values are full 暫定日本語案: URLs と あなた productGroupID matches 全体で group.

暫定日本語案: 向けに どこ この fits bigger picture, see broader structured データ と schema 暫定日本語案: markup hubs この 記事 lives 下で.

Add an expert note

Pin an expert quote

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