暫定日本語訳:ProductGroup Schema
暫定日本語訳:どのように へ 使用 ProductGroup schema へ group 商品 variants (size, color, material) とともに hasVariant, variesBy, と productGroupID — plus item_group_id difference と なぜ Bing doesn't support it.
言語
暫定日本語訳: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 schema is code その tells Google “all these variations — the small green shirt, the large blue one — are the same product in different options, not separate products.” 各 variation still gets its own 商品 markup; 暫定日本語案: ProductGroup just wraps them together. It does ない replace 商品 markup, と 暫定日本語案: it does ない 作る variant 順位 higher — it 役立つ Google understand あなた 暫定日本語案: catalog と できる 作る あなた listings 適格 へ 表示 variant info.
何 ProductGroup schema is
暫定日本語案: If あなた sell coat in three colors と five sizes, その’s one coat sold in 15 暫定日本語案: combinations. へ 検索エンジン, 15 near-identical 商品 ページ できる look like 15 暫定日本語案: unrelated 商品 unless あなた tell it otherwise.
暫定日本語案: ProductGroup schema is structured データ その does telling. It sits above 暫定日本語案: あなた individual 商品 listings と says “these belong together — they’re the same item in different options.” Google 追加 support 向けに it in February 2024.
Evidence for this claim Schema.org ProductGroup represents a group of products that vary only in defined characteristics. Scope: Schema.org vocabulary; Google adds its own merchant-listing requirements. Confidence: high · Verified: Schema.org: ProductGroup暫定日本語案: Think of it as parent folder:
- 暫定日本語案: parent is
ProductGroup— “Wool winter coat.” - 暫定日本語案: children are individual
Productvariants — 各 color/size combo, 暫定日本語案: とともに its own 価格, photo, stock status, と unique ID.
重要 part: it’s additive, ない replacement
暫定日本語案: この trips up almost everyone 最初 time. ProductGroup does ない replace あなた
暫定日本語案: 商品 markup. すべての variant is still full Product — it 保持 its own SKU,
暫定日本語案: 価格, 画像, と 在庫状況. ProductGroup is wrapper その ties それらの 商品
暫定日本語案: together. あなた’re adding markup, ない swapping it out.
何 it does 向けに あなた
暫定日本語案: Marking up あなた variants この way 作る あなた 商品 適格 へ 表示 variant 暫定日本語案: information in Google’s shopping/マーチャント listings — “also comes in these colors” 暫定日本語案: kind of display. As とともに all schema, “eligible” is key word: it’s ない ランキング 暫定日本語案: boost, と it’s 決して guaranteed. It 役立つ Google understand あなた 商品, which 暫定日本語案: is point. Evidence for this claim Google supports ProductGroup with associated variant properties to describe product variants for merchant listings. Scope: Google Search product-variant documentation; eligibility is not a ranking promise. Confidence: high · Verified: Google: Product variants
Two things へ know 前に あなた go deeper
- 暫定日本語案: Bing doesn’t read ProductGroup schema (as of latest word から Microsoft). 暫定日本語案: So この is mainly Google feature. More on その in Advanced tab.
- 暫定日本語案: この is schema/code side of variants. Whether given variant すべき even 暫定日本語案: get its own ページ in 最初 place is separate strategy question — I cover その 暫定日本語案: decision (と プラットフォーム differences) in 商品 variant SEO guide.
暫定日本語案: Want full version — three core プロパティ, full schema.org URL rule 向けに
暫定日本語案: variesBy, どのように productGroupID differs から マーチャント Center’s item_group_id,
暫定日本語案: 完全な JSON-LD 例, と 一般的な mistakes? Switch へ Advanced tab.
暫定日本語案: TL;DR —
ProductGroup(Google’s Feb 2024 addition) wraps variantProduct暫定日本語案: objects 下で one parent so Google understands “same item, different options.” It’s 暫定日本語案: additive — 各 variant 保持 fullProductmarkup (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).productGroupIDis ない マーチャント Center’s 暫定日本語案:item_group_id— separate systems, nothing auto-syncs them, so 使用 matching values 暫定日本語案: on purpose. だけnameis 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.
three core プロパティ
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.
必要 vs. recommended
- 暫定日本語案: 必要 on
ProductGroup: justname(e.g.,"Wool winter coat"). - 暫定日本語案: Recommended:
variesBy,hasVariant,productGroupID,brand,description, 暫定日本語案:aggregateRating,review,hasAdultConsideration, と (single-ページ サイト だけ) 暫定日本語案:url.
暫定日本語案: Technically だけ name is 必要 — ただし variesBy と productGroupID are
暫定日本語案: functionally load-bearing. Skip them と JSON-LD validates while grouping
暫定日本語案: behavior あなた wanted 決して 表示 up. (aggregateRating と review 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.
- 暫定日本語案:
productGroupIDis schema.org / on-ページ structured データ field. It フィード 暫定日本語案: オーガニック 検索’s understanding of ページ. - 暫定日本語案:
item_group_idis Google マーチャント Center 商品-フィード attribute. マーチャント 暫定日本語案: Center: “Use the item group ID [item_group_id] attribute to group product variants in your product data.” It フィード Shopping ads と 無料リスティング.
暫定日本語案: それら 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 下で.
AI要約
暫定日本語案: condensed take on Advanced version:
- 暫定日本語案: 何 it is:
ProductGroup(Google, Feb 2024) wraps variantProductobjects 暫定日本語案: 下で one parent so Google understands “same item, different options” rather than 暫定日本語案: unrelated 商品. 適格性 向けに variant display in マーチャント listings — ない 暫定日本語案: ランキング factor. - 暫定日本語案: Additive, ない replacement: すべての variant stays full
Product(sku/gtin, 暫定日本語案:offers,image,availability);ProductGroupis wrapper と isn’t sold on 暫定日本語案: its own (no single 価格 on group). - 暫定日本語案: Three core プロパティ:
hasVariantnests variants (またはisVariantOfpoints back 暫定日本語案: up);variesBylists varying axes と 必要がある 使用 full schema.org URLs 暫定日本語案: (https://schema.org/color, ない"color") — #1 implementation mistake, と 暫定日本語案: in practice (ない something Google documents) it validates fine while grouping quietly 暫定日本語案: doesn’t trigger;productGroupIDis plain text parent sku (ない URL, e.g. 暫定日本語案:"44E01"), と if 設定 on both group と variants values 必要がある match — Google 暫定日本語案: documents match rule ただし ない 何 happens on mismatch. - 暫定日本語案: Two patterns: nested (
hasVariant, single-ページ サイト, one canonical URL 向けに 暫定日本語案: group) vs. flat (isVariantOf+inProductGroupWithID, multi-ページ サイト, 暫定日本語案: full self-contained markup per ページ). Variants need uniquesku/gtinと 暫定日本語案: distinct preselectable URL. - 暫定日本語案: 必要 vs. recommended: だけ
nameis 必要;variesBy+productGroupID暫定日本語案: are functionally essential even though technically recommended. - 暫定日本語案:
productGroupID≠item_group_id: on-ページ schema (オーガニック 検索) vs. マーチャント 暫定日本語案: Center フィード attribute (Shopping/無料リスティング) — separate systems, nothing 暫定日本語案: auto-syncs, 使用 matching values on purpose. - 暫定日本語案: Bing doesn’t support ProductGroup (Fabrice Canel, Sept 2024, via 検索エンジン
暫定日本語案: Roundtable). Bing Shopping variants run 通じて Microsoft Advertising’s フィード-side
暫定日本語案:
itemGroupId, ない markup. - 暫定日本語案: Watch dynamic markup (less reliable Shopping crawls 向けに 価格/在庫状況).
暫定日本語案: Validate とともに Rich Results テスト + schema.org Validator, ただし remember plain-string
暫定日本語案:
variesByvalidates と still fails.
公式ドキュメント
暫定日本語案: 主要-ソース ドキュメント 向けに ProductGroup と variant markup.
暫定日本語案: Google
- 暫定日本語案: 商品 variant structured データ (ProductGroup, 商品) — single authoritative ページ:
ProductGroup,hasVariant,isVariantOf,variesBy,productGroupID, full schema.org URL rule, 必要/recommended プロパティ, と single-ページ vs. multi-ページ rules. - 暫定日本語案: Adding structured データ support 向けに 商品 Variants (Feb 2024 blog) — announcement その introduced プロパティ.
- 暫定日本語案: Intro へ 商品 structured データ — general 商品 ページ (商品 snippets / マーチャント listings). Note: it does ない cover ProductGroup — その’s separate ページ above.
- 暫定日本語案: Google マーチャント Center — Item group ID [item_group_id] — 商品-フィード attribute 向けに grouping variants, と its schema.org cross-references.
暫定日本語案: Bing / Microsoft
- 暫定日本語案: Bing Webmaster ツール — Marking up あなた サイト とともに structured データ — generic overview of supported formats; no ProductGroup-,
variesBy-, またはproductGroupID-specific コンテンツ.
暫定日本語案: schema.org
- 暫定日本語案: schema.org/ProductGroup — vocabulary ページ: authoritative プロパティ list と 商品/Thing inheritance (no implementation 例 または Google-specific guidance).
暫定日本語案: Note: Feb 2024 検索 Central blog renders via JavaScript と resisted 暫定日本語案: automated verbatim 確認 during research; プロパティ definitions are confirmed 暫定日本語案: against live docs ページ と 検索エンジン Roundtable’s verbatim recap.
出典からの引用
暫定日本語案: On—record statements から Google (と reported statements から Microsoft). どこ 暫定日本語案: ページ exposes text, link is deep link その jumps へ quoted passage.
暫定日本語案: Google docs — purpose と 適格性
- 暫定日本語案: “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.” 暫定日本語案: Jump へ quote
- 暫定日本語案: “Many types of products such as apparel, shoes, furniture, electronic devices, and luggage are sold in different variations (for example various sizes, colors, materials, or patterns).” 暫定日本語案: Jump へ quote
- 暫定日本語案: “Adding this markup also makes your products eligible for display with variant information in merchant listing experiences.” 暫定日本語案: Jump へ quote
暫定日本語案: Google docs — プロパティ
- 暫定日本語案:
variesBy: “Aspects by which the variants in the ProductGroup vary… Reference these variant-identifying properties through their full Schema.org URL.” 暫定日本語案: Jump へ quote - 暫定日本語案:
hasVariant: “A nested Product property that is one of the variants of the ProductGroup property, if applicable. A ProductGroup typically has multiple nested variant Product properties.” 暫定日本語案: Jump へ quote - 暫定日本語案:
isVariantOf: “Alternatively, a variant Product property can reference back to its parent ProductGroup using the isVariantOf property on the Product property.” 暫定日本語案: Jump へ quote - 暫定日本語案:
productGroupID: “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.” 暫定日本語案: Jump へ quote - 暫定日本語案: On matching IDs: “If you provide the identifier for both the ProductGroup property and its variant Product properties, they must match.” 暫定日本語案: Jump へ quote
暫定日本語案: Google docs — unique IDs と URLs
- 暫定日本語案: “Each variant must have a unique ID in its corresponding structured data markup (for example, using the sku or gtin properties).” 暫定日本語案: Jump へ quote
- 暫定日本語案: “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.” 暫定日本語案: Jump へ quote
- 暫定日本語案: On dynamic markup: “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.” 暫定日本語案: Jump へ quote
暫定日本語案: Google マーチャント Center — item_group_id
- 暫定日本語案: “Use the item group ID [item_group_id] attribute to group product variants in your product data.” 暫定日本語案: Jump へ quote
暫定日本語案: John Mueller, Google (via 検索エンジン Roundtable’s verbatim reproduction of his Feb 2024 LinkedIn post)
- 暫定日本語案: “Product variants in ecommerce are complicated - what do you do with t-shirts in different colors? Folks here Google worked hard to come up with structured data markup & support for it… The changes are also live in the Rich Results Testing tool and in the Search Console reports for these types.” 暫定日本語案: Read coverage
暫定日本語案: Fabrice Canel, Microsoft Bing (reported, ない 最初-party doc)
- 暫定日本語案: Responding へ whether Bing supports
schema.org/ProductGroup, Canel said Bing does 暫定日本語案: ない yet support it, ただし その it’s “on our radar” と team is “closely monitoring its adoption.” 暫定日本語案: Coverage 暫定日本語案: Relayed via 検索エンジン Roundtable’s coverage of September 2024 exchange on 暫定日本語案: X; 二次 レポート of 最初-party statement, ない Microsoft ドキュメント ページ.
完全な ProductGroup JSON-LD 例
暫定日本語案: Google’s own doc 例 is intentionally minimal — one variant, no offers. Here’s
暫定日本語案: fuller, single-ページ (nested hasVariant) version とともに two variants, offers, gtin,
暫定日本語案: image, と brand — shape あなた’d actually ship. Note variesBy 使用 full
暫定日本語案: schema.org URLs, と productGroupID is plain string.
{
"@context": "https://schema.org/",
"@type": "ProductGroup",
"name": "Wool winter coat",
"description": "A warm wool winter coat, available in several sizes and colors.",
"url": "https://www.example.com/winter-coat",
"brand": {
"@type": "Brand",
"name": "ExampleCo"
},
"productGroupID": "44E01",
"variesBy": [
"https://schema.org/size",
"https://schema.org/color"
],
"hasVariant": [
{
"@type": "Product",
"sku": "44E01-S-GRN",
"gtin": "0123456789012",
"name": "Wool winter coat, small, green",
"image": "https://www.example.com/photos/44E01-S-GRN.jpg",
"size": "small",
"color": "Green",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/winter-coat?size=small&color=green",
"price": "119.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "Product",
"sku": "44E01-L-BLU",
"gtin": "0123456789029",
"name": "Wool winter coat, large, blue",
"image": "https://www.example.com/photos/44E01-L-BLU.jpg",
"size": "large",
"color": "Blue",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/winter-coat?size=large&color=blue",
"price": "119.99",
"priceCurrency": "USD",
"availability": "https://schema.org/OutOfStock"
}
}
]
}暫定日本語案: Things へ notice:
- 暫定日本語案:
ProductGrouphas nooffers/priceof its own — 価格 lives on 各 暫定日本語案: variant’sOffer, because group isn’t single sellable thing. - 暫定日本語案: 各 variant carries unique
sku(と heregtin), its ownimage, its own 暫定日本語案:availability, とsize/colorvalues その match 何variesBydeclared. - 暫定日本語案: 在庫状況 is per-variant — small green coat is
InStock, large blue one 暫定日本語案:OutOfStock. その’s 正しい way へ handle partially-stocked group (see 暫定日本語案: out-of-stock 商品 guide 向けに どのように へ signal この なしで dropping variant).
multi-ページ (flat) variant of 同じ setup
暫定日本語案: If 各 variant lives on its own URL, あなた don’t nest — 各 ページ carries its own
暫定日本語案: self-contained Product その points back up とともに isVariantOf と shared group ID
暫定日本語案: via inProductGroupWithID:
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "44E01-S-GRN",
"gtin": "0123456789012",
"name": "Wool winter coat, small, green",
"image": "https://www.example.com/photos/44E01-S-GRN.jpg",
"size": "small",
"color": "Green",
"inProductGroupWithID": "44E01",
"isVariantOf": {
"@type": "ProductGroup",
"productGroupID": "44E01",
"variesBy": [
"https://schema.org/size",
"https://schema.org/color"
]
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/winter-coat/small-green",
"price": "119.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}暫定日本語案: すべての variant ページ repeats この pattern とともに its own IDs と オファー, と 同じ
暫定日本語案: productGroupID ("44E01") ties them together. 保つ その ID identical 全体で all
暫定日本語案: variant ページ と aligned とともに あなた マーチャント Center item_group_id.
すべき あなた 使用 ProductGroup, と which pattern
暫定日本語案: Walk tree へ land on right markup decision 向けに あなた setup.
ProductGroup or plain Product — and nested or flat?
一般的な ProductGroup mistakes
暫定日本語案: traps, と 何’s actually true:
| Mistake | Reality |
|---|---|
Treating ProductGroup as replacement 向けに Product | It’s wrapper/parent. すべての variant is still full Product とともに its own sku/gtin, 価格, 画像, と 在庫状況. ProductGroup itself isn’t offered 向けに sale — don’t put single offers/price on it. |
Writing variesBy as plain strings ("color", "size") | It 必要がある 使用 full schema.org URLs (https://schema.org/color). Plain strings pass JSON-LD validation, と in practice grouping doesn’t trigger (Google doesn’t document その specific failure, so verify it on あなた own markup) — single 大半の 一般的な mistake in この topic. |
Assuming productGroupID と マーチャント Center’s item_group_id are 同じ auto-synced field | それら’re separate systems — on-ページ schema (オーガニック 検索) vs. 商品 フィード (Shopping/無料リスティング). Nothing syncs them; 使用 matching values deliberately. |
Making productGroupID URL | It’s plain text identifier (parent sku), e.g. "44E01". Don’t 超えて-apply variesBy full-URL rule here — 異なる field, 異なる rule. |
Shrugging off productGroupID typo on one variant ページ | In multi-ページ setups, mismatched ID drops その variant out of group とともに no error thrown, in my テスト — Google documents match requirement ただし ない mismatch behavior, so この is observed, ない officially specified. |
| Marking up variants その have no distinct URL | Variants 必要がある be preselectable via distinct URL (クエリ params are fine). JS-だけ state changes とともに no URL できる’t be validated または インデックス登録 as variants. |
| Assuming Bing reads ProductGroup like Google does | As of Sept 2024 (Fabrice Canel, via 検索エンジン Roundtable), Bing does ない consume ProductGroup markup. Bing Shopping variants run 通じて Microsoft Advertising’s フィード-side itemGroupId, ない on-ページ schema. |
| Expecting ProductGroup へ improve rankings | It aids understanding と マーチャント-listing 適格性 — it is ない ランキング factor. “Eligible” is ない “guaranteed,” と it’s certainly ない boost. |
| Trusting “valid” へ mean “working” | Validation catches syntax と 必要-プロパティ gaps, ない silent semantic failures. Plain-string variesBy と mismatched IDs both validate と still don’t 機能 — 確認 them by hand. |
ProductGroup implementation 確認
暫定日本語案: 機能 通じて この in order — 各 item maps へ specific gotcha covered above.
- 暫定日本語案: [ ] Decide あなた pattern 最初. All variants selectable on one URL → nested
暫定日本語案: (
hasVariant). 各 variant on its own URL → flat (isVariantOf+ 暫定日本語案:inProductGroupWithID). Don’t mix patterns on 同じ group. - 暫定日本語案: [ ] 保つ すべての variant full
Product. 各 one still has its ownsku/gtin, 暫定日本語案:image,offers, とavailability—ProductGroup決して carries single 暫定日本語案:priceof its own. - 暫定日本語案: [ ] Write
variesByas full schema.org URLs, e.g.https://schema.org/color暫定日本語案: とhttps://schema.org/size— ない"color"/"size". この is #1 暫定日本語案: implementation mistake; it validates either way, と grouping quietly doesn’t 暫定日本語案: trigger なしで URL form in my テスト (ない something Google documents), so 暫定日本語案: 確認 it by eye. - 暫定日本語案: [ ] 設定
productGroupIDas plain-text identifier (parent sku, e.g. 暫定日本語案:"44E01") — 決して URL. 異なる rule からvariesBy; don’t conflate them. - 暫定日本語案: [ ] Match
productGroupID(またはinProductGroupWithID) 全体で すべての variant. 暫定日本語案: Google documents match requirement ただし ない 何 happens if it’s violated; in my 暫定日本語案: テスト, typo on one variant ページ drops it から group とともに no error. - 暫定日本語案: [ ] Give すべての variant unique ID via
skuまたはgtin. - 暫定日本語案: [ ] Confirm すべての variant has distinct, preselectable URL (クエリ params are
暫定日本語案: fine, e.g.
?size=small&color=green). JS-だけ state change とともに no URL できる’t 暫定日本語案: be validated または インデックス登録 as its own variant. - 暫定日本語案: [ ] Align
productGroupIDとともに マーチャント Center’sitem_group_id. それら’re 暫定日本語案: separate systems と nothing auto-syncs them — 使用 同じ value on purpose. - 暫定日本語案: [ ] サーバー-render fast-changing fields (
price,availability) どこ 暫定日本語案: possible — Google warns dynamically-generated markup できる 作る Shopping crawls 暫定日本語案: less frequent と reliable. - 暫定日本語案: [ ] Validate, then verify by hand. Run Rich Results テスト と
暫定日本語案: schema.org Validator — then 手動 re-確認
variesByURLs と 暫定日本語案:productGroupIDmatching, since both pass validation even いつ broken. - 暫定日本語案: [ ] If あなた また target Bing, don’t rely on ProductGroup — it isn’t consumed
暫定日本語案: at all (per Microsoft’s Fabrice Canel, Sept 2024). Handle Bing Shopping
暫定日本語案: variants 通じて Microsoft Advertising’s フィード-side
itemGroupIdinstead.
ProductGroup quick-reference
暫定日本語案: productGroupID vs. item_group_id vs. inProductGroupWithID
| Field | Lives in | Format | フィード |
|---|---|---|---|
productGroupID | On-ページ JSON-LD, on ProductGroup (または on variant Product via isVariantOf) | Plain text (e.g. "44E01") | オーガニック 検索’s understanding of ページ |
inProductGroupWithID | On-ページ JSON-LD, on variant Product (multi-ページ/flat pattern) | Plain text, 必要がある match group’s productGroupID | 同じ as above — flat-pattern link back へ group |
item_group_id | Google マーチャント Center 商品 フィード | Plain text | Shopping ads と 無料リスティング |
暫定日本語案: Nothing auto-syncs これらの 全体で systems — 使用 同じ value in all three so オーガニック と Shopping agree on which SKUs belong together.
暫定日本語案: Nested vs. flat pattern
Nested (hasVariant) | Flat (isVariantOf + inProductGroupWithID) | |
|---|---|---|
| いつ へ 使用 | Single-ページ サイト — all variants selectable on one URL | Multi-ページ サイト — 各 variant has its own URL |
| Canonical URL 向けに group | One (url on ProductGroup) | None — no single URL represents group |
| どこ group プロパティ live | On ProductGroup, which nests 各 variant Product | Repeated on すべての variant ページ, via isVariantOf |
| Variant → group link | Variant is nested inside hasVariant | Variant references parent とともに isVariantOf + inProductGroupWithID |
暫定日本語案: プロパティ format rules
| プロパティ | 正しい format | 誤った format |
|---|---|---|
variesBy | Full schema.org URL: https://schema.org/color | Plain string: "color" (validates; in practice doesn’t group — ない documented Google failure mode) |
productGroupID | Plain text parent sku: "44E01" | URL |
sku / gtin (per variant) | Unique per variant | Shared/reused 全体で variants |
Catch #1 implementation mistake: variesBy as plain strings
暫定日本語案: variesBy values その skip full schema.org URL prefix are single 大半の 一般的な
暫定日本語案: mistake in この topic — JSON-LD still validates, so nothing errors out, と in my
暫定日本語案: テスト grouping quietly doesn’t trigger (Google’s docs 必要とする full-URL form ただし
暫定日本語案: don’t document 何 happens if あなた skip it). これらの snippets catch it directly instead of
暫定日本語案: relying on eyeballing markup.
Regex: flag bad variesBy array in raw JSON-LD
暫定日本語案: Run この 超えて extracted JSON-LD ソース (e.g. Screaming Frog カスタム extraction エクスポート,
暫定日本語案: または any raw HTML/text dump) へ find variesBy arrays containing value その isn’t
暫定日本語案: full schema.org URL:
"variesBy"\s*:\s*\[\s*((?:"(?!https://schema\.org/)[^"]*"\s*,?\s*)+)\]- 暫定日本語案:
"variesBy"\s*:\s*\[— matches start of プロパティ と its opening bracket, 暫定日本語案: allowing 向けに whitespace formatting differences. - 暫定日本語案:
(?:"(?!https://schema\.org/)[^"]*"\s*,?\s*)+— capture group: matches one または 暫定日本語案: more quoted strings どこ negative lookahead(?!https://schema\.org/)rules 暫定日本語案: out anything その already starts とともに 正しい prefix. If この group matches 暫定日本語案: anything at all, at least one entry in array is bad plain string like"color"暫定日本語案: または"size"instead of full URL. - 暫定日本語案: match means: stop と fix その array 前に shipping — it する validate clean と 暫定日本語案: still fail へ trigger grouping.
Chrome DevTools Console snippet: audit live ページ’s JSON-LD
暫定日本語案: Paste へ Console on any ページ あなた expect へ carry ProductGroup markup. It pulls
暫定日本語案: すべての JSON-LD block, walks へ ProductGroup objects (including ones nested 下で
暫定日本語案: isVariantOf), と レポート any variesBy entry その isn’t full schema.org URL:
(function () {
const blocks = [...document.querySelectorAll('script[type="application/ld+json"]')];
const findings = [];
blocks.forEach((block, i) => {
let data;
try {
data = JSON.parse(block.textContent);
} catch (e) {
findings.push(`Block ${i}: invalid JSON (${e.message})`);
return;
}
const items = Array.isArray(data) ? data : [data];
items.forEach((item) => {
const groups = [];
if (item['@type'] === 'ProductGroup') groups.push(item);
if (item.isVariantOf && item.isVariantOf['@type'] === 'ProductGroup') groups.push(item.isVariantOf);
groups.forEach((g) => {
const bad = (g.variesBy || []).filter((v) => !String(v).startsWith('https://schema.org/'));
if (bad.length) findings.push(`Block ${i}: bad variesBy values -> ${JSON.stringify(bad)}`);
if (g.productGroupID && /^https?:\/\//.test(g.productGroupID)) {
findings.push(`Block ${i}: productGroupID looks like a URL, should be plain text -> ${g.productGroupID}`);
}
});
});
});
console.log(findings.length ? findings.join('\n') : 'No ProductGroup issues found in this page\'s JSON-LD.');
})();XPath 向けに Screaming Frog: extract productGroupID 全体で variant ページ
暫定日本語案: 使用 カスタム extraction へ pull productGroupID value straight out of JSON-LD
暫定日本語案: script tag, then compare extracted values 全体で あなた クロール variant URLs へ spot
暫定日本語案: mismatch:
//script[@type="application/ld+json"]暫定日本語案: Extract full text of 各 matching node, then 確認 extracted productGroupID
暫定日本語案: (と inProductGroupWithID on flat/multi-ページ setups) is identical 全体で すべての URL
暫定日本語案: その’s supposed へ belong へ 同じ group — single differing value means その ページ
暫定日本語案: has likely dropped out of group とともに no error thrown, based on テスト (Google’s
暫定日本語案: docs 必要とする match ただし don’t document mismatch behavior).
テスト yourself: ProductGroup Schema
暫定日本語案: Five quick questions on ProductGroup, its core プロパティ, と gotchas. Pick answer 向けに 各, then 確認.
時間を使う価値のあるリソース
暫定日本語案: My related writing
暫定日本語案: I haven’t published piece specifically on ProductGroup schema — この 記事 is 暫定日本語案: dedicated treatment. closest adjacent things I’ve written その inform it:
- 暫定日本語案: Google 使用 ~40 Canonicalization Signals — Here’s 何 その Means — “keep your signals consistent” discipline その underpins matching
productGroupID全体で variants (と aligning it とともにitem_group_id). - 暫定日本語案: Myth of Duplicate コンテンツ Penalty (検索エンジン Land) — なぜ grouping variants as one item in options, rather than fearing them as duplicates, is right mental model. There’s no duplicate-コンテンツ penalty へ “fix” とともに ProductGroup — it’s について understanding, ない avoiding fine.
暫定日本語案: 向けに strategy layer — whether variant すべき even get its own URL, と どのように 暫定日本語案: Shopify/WooCommerce/BigCommerce/Magento differ — see 商品 variant SEO guide 暫定日本語案: on この サイト. 向けに fundamentals, schema markup と structured データ hubs, 暫定日本語案: と sibling 商品 schema deep dive.
暫定日本語案: から around industry
- 暫定日本語案: 商品 variant structured データ (Google 検索 Central) — authoritative reference; read it alongside この 向けに full プロパティ tables.
- 暫定日本語案: Adding structured データ support 向けに 商品 Variants (Google 検索 Central blog) — Feb 2024 announcement.
- 暫定日本語案: Item group ID [item_group_id] (Google マーチャント Center 役立つ) — フィード-side attribute と its schema.org cross-references.
- 暫定日本語案: 新しい Google 検索 Support 向けに 商品 Variant Structured データ (検索エンジン Roundtable) — Feb 2024 launch recap, とともに John Mueller’s verbatim LinkedIn post.
- 暫定日本語案: Bing does ない support ProductGroup markup (検索エンジン Roundtable) — Fabrice Canel statement (Sept 2024).
- 暫定日本語案: Google adds support 向けに 商品 variants (検索エンジン Land) — 同じ-day announcement coverage.
- 暫定日本語案: Google へ Display More 商品 Variants とともに 新しい Markup (検索エンジン Journal) — SEJ take on launch.
- 暫定日本語案: Schema piece: ProductGroup (Yoast Developer Portal) — real JSON-LD 例 と Yoast’s デフォルト
productGroupID-から-SKU behavior (plugin-specific). - 暫定日本語案: どのように へ implement ProductGroup schema (Go Fish Digital) — plain-English “why this exists” framing.
- 暫定日本語案: schema.org/ProductGroup — vocabulary itself, straight から ソース.
変更履歴
2026年7月20日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
2026年7月18日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。