バリエーション商品用構造化データ(ProductGroup、Product)

検索結果のバリエーション商品

アパレル、靴、家具、電子デバイス、かばんなどの多くのタイプの商品には、さまざまなバリエーション(サイズ、色、素材、柄など)があります。Product 構造化データに加え、ProductGroup クラスと関連プロパティ(variesBy、hasVariant、productGroupID)を合わせて使用し、バリエーションをグループにまとめると、Google のサービスが、同じ親商品のバリエーションがどれであるかをより正確に認識できるようになります。また、このマークアップを追加すると、販売者のリスティングのエクスペリエンスで商品がバリエーション情報とともに表示されるようになります。

さらに ProductGroup では、ブランドやレビュー情報など、すべてのバリエーションに共通の商品プロパティに加えてバリエーションを特定するプロパティを指定することが可能で、情報の重複を避けられます。

構造化データを追加する方法

構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。

構造化データの作成、テスト、リリースの概要は次のとおりです。

  1. 必須プロパティを追加します。使用している形式に基づいて、ページ上の構造化データを挿入する場所をご確認ください。
  2. ガイドラインに従います。
  3. リッチリザルト テストでコードを検証し、重大なエラーを修正します。ツールで報告され���重大������い問題の修正も検討してください。構造化データの品質向上に役立ちます(ただし、リッチリザルトの対象となるために必ずしも必要というわけではありません)。
  4. 構造化データが含まれているページを数ページ導入し、URL 検査ツールを使用して、Google でページがどのように表示されるかをテストします。Google がページにアクセスでき、robots.txt ファイル、noindex タグ、ログイン要件によってページがブロックされていないことを確認します。ページが正常に表示されたら、Google に URL の再クロールを依頼できます。
  5. 今後の変更について Google に継続して情報を提供するために、サイトマップを送信することをおすすめします。これは、Search Console Sitemap API で自動化できます。

例

一般的に、e コマース ウェブサイトがバリエーション商品に使用できる主なデザイン アプローチは 2 つあります。このセクションでは、ウェブサイトのデザイン アプローチごとに、バリエーション商品のマークアップを設定する方法について説明します。

  • 単一ページでは、すべてのバリエーションを単一のページから選択でき、ページを再読み込みする必要はありません(通常クエリ パラメータが使用されます)。
  • 複数ページでは、同じ商品のバリエーションごとに異なるページにアクセスします。

単一ページのウェブサイト

単一ページのウェブサイトの例では、次の前提条件があるウェブサイトを使用します。

  • バリエーションが選択されていない場合は、商品のメインページが次の URL(https://www.example.com/coat)で返されます。
  • 特定の事前選択済みのバリエーションの場合、同じページが次の URL を使って返されます。
    • https://www.example.com/coat?size=small&color=green
    • https://www.example.com/coat?size=small&color=lightblue
    • https://www.example.com/coat?size=large&color=lightblue
  • ユーザーが色とサイ��のプルダウンを使用して、そのページで異なるバリエーションを選択すると、ページを再読み込みすることなく、そのページの画像、価格、在庫状況に関する情報が動的に変化します。そのページのマークアップはユーザーが別のバリエーションを選択しても、動的には変化しません。

単一ページの例: ProductGroup にネストされているバリエーション

この例では、バリエーションは hasVariant プロパティを使って、トップレベルの ProductGroup エンティティにネストされています。

  • ProductGroup と(Product プロパティの下にある)3 つの Offer エンティティすべてに、個別の URL があります。または、URL を Product で指定することもできます。
  • 共通のタイトルと説明は ProductGroup レベルで指定されます。バリエーション固有のタイトルと説明は Product レベルで指定されます。
  • その他の共通のバリエーション プロパティ(ブランド、柄、素材、オーディエンス情報など)も、ProductGroup レベルで指定されます。
  • ProductGroup は variesBy プロパティを使って、バリエーションを識別するプロパティを指定します。
  • ProductGroup は productGroupID を使って、親 SKU を指定します(inProductGroupWithID を使用して Product プロパティで繰り返し指定する必要はありません)。

このアプローチは、商品グループとそのバリエーションを表現するもっとも簡潔で自然な方法であるので、おすすめです。


<html>
  <head>
    <title>Wool winter coat</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "url": "https://www.example.com/coat",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "sku": "44E01-M11000",
            "gtin14": "98766051104214",
            "image": "https://www.example.com/coat_small_green.jpg",
            "name": "Small green coat",
            "description": "Small wool green coat for the winter season",
            "color": "Green",
            "size": "small",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=small&color=green",
              "priceCurrency": "USD",
              "price": 39.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/InStock",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          },
          {
            "@type": "Product",
            "sku": "44E01-K11000",
            "gtin14": "98766051104207",
            "image": "https://www.example.com/coat_small_lightblue.jpg",
            "name": "Small light blue coat",
            "description": "Small wool light blue coat for the winter season",
            "color": "light blue",
            "size": "small",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=small&color=lightblue",
              "priceCurrency": "USD",
              "price": 39.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/InStock",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          },
          {
            "@type": "Product",
            "sku": "44E01-X1100000",
            "gtin14": "98766051104399",
            "image": "https://www.example.com/coat_large_lightblue.jpg",
            "name": "Large light blue coat",
            "description": "Large wool light blue coat for the winter season",
            "color": "light blue",
            "size": "large",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=large&color=lightblue",
              "priceCurrency": "USD",
              "price": 49.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/BackOrder",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          }
        ]
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "shippingRate": {
          "@type": "MonetaryAmount",
          "value": 2.99,
          "currency": "USD"
        },
        "shippingDestination": {
          "@type": "DefinedRegion",
          "addressCountry": "US"
        },
        "deliveryTime": {
          "@type": "ShippingDeliveryTime",
          "handlingTime": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 1,
            "unitCode": "DAY"
          },
          "transitTime": {
            "@type": "QuantitativeValue",
            "minValue": 1,
            "maxValue": 5,
            "unitCode": "DAY"
          }
        }
      },
      {
        "@context": "http://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 60,
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

単一ページの例: ProductGroup から分離されているバリエーション

この構造は先ほどの例と類似していますが、バリエーションが ProductGroup とは別に(ネストされずに)定義されている点が異なります。このアプローチにより、一部のコンテンツ マネジメント システム(CMS)による生成がより容易になる場合があります。


<html>
  <head>
    <title>Wool winter coat</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "url": "https://www.example.com/coat",
        // ... other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Small green coat",
        "description": "Small wool green coat for the winter season",
        "image": "https://www.example.com/coat_small_green.jpg",
        "size": "small",
        "color": "green",
        // ... other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=green",
          "price": 39.99,
          "priceCurrency": "USD"
          // ... other offer-level properties
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Small dark blue coat",
        "description": "Small wool light blue coat for the winter season",
        "image": "https://www.example.com/coat_small_lightblue.jpg",
        "size": "small",
        "color": "light blue",
        // ... other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=lightblue",
          "price": 39.99,
          "priceCurrency": "USD"
          // ... other offer-level properties
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Large light blue coat",
        "description": "Large wool light blue coat for the winter season",
        "image": "https://www.example.com/coat_large_lightblue.jpg",
        "size": "large",
        "color": "light blue",
        // ... other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=large&color=lightblue",
          "price": 49.99,
          "priceCurrency": "USD"
          // ... other offer-level properties
        }
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

複数ページのウェブサイト

複数ページのウェブサイトのマークアップの例では、次の前提条件があるウェブサイトを使用します。

  • 水色のバリエーションの S サイズと L サイズには、次の URL からアクセスできます。
    • https://www.example.com/coat/lightblue?size=small
    • https://www.example.com/coat/lightblue?size=large
  • 緑色のバリエーションは S サイズのみで https://www.example.com/coat/green?size=small からアクセスできます。
  • どちらのページも UI の色セレクタから他のページへ「ジャンプ」できます(つまり、ページを再読み込みします)。
  • サイトでは単一ページの例と同様のマークアップを 2 つのページで分割します。

他のページから参照される ProductGroup 定義があるのは、1 ページのみではありません。ProductGroup はブランド、素材、年齢層などのバリエーションの共通の属性を参照する必要があるからです。つまり、ProductGroup の定義全体をそれぞれのバリエーションのページで繰り返す必要があります。

複数ページの例: ProductGroup にネストされているバリエーション

これは最初の単一ページの例と同様で、hasVariant プロパティを使って、バリエーションの Product プロパティがトップレベルの ProductGroup にネストされています。ProductGroup 定義は両方のページで重複します。次の点にご留意ください。

  • ProductGroup を表す単一の URL がないため、ProductGroup には正規 URL がありません。
  • 各ページの ProductGroup ではそのページのバリエーションが完全に定義されています。他のページのバリエーションについては、リンク先の url プロパティのみが含まれています。これにより Google のサービスがバリエーションを認識できるようになります。

ページ 1: 水色のバリエーション

以下の例は 1 ページ目の水色のバリエーションの構造化データを示しています。


<html>
  <head>
    <title>Wool winter coat, light blue color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        // ... other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "name": "Small light blue coat",
            "description": "Small wool light blue coat for the winter season",
            "image": "https://www.example.com/coat_small_lightblue.jpg",
            "size": "small",
            "color": "light blue",
            // ... other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=small",
              "price": 39.99,
              "priceCurrency": "USD"
              // ... other offer-level properties
            }
          },
          {
            "@type": "Product",
            "name": "Large light blue coat",
            "description": "Large wool light blue coat for the winter season",
            "image": "https://www.example.com/coat_large_lightblue.jpg",
            "size": "large",
            "color": "light blue",
            // ... other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=large",
              "price": 49.99,
              "priceCurrency": "USD"
              // ... other offer-level properties
            }
          },
          { "url": "https://www.example.com/coat/green?size=small" }
        ]
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

ページ 2: 緑色のバリエーション

以下の例は 2 ページ目の緑色のバリエーションの構造化データを示しています。


<html>
  <head>
    <title>Wool winter coat, green color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        // ... other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "name": "Small green coat",
            "description": "Small wool green coat for the winter season",
            "image": "https://www.example.com/coat_green.jpg",
            "color": "green",
            "size": "small",
            // ... other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/green?size=small",
              "price": 39.99,
              "priceCurrency": "USD"
              // ... other offer-level properties
            }
          },
          { "url": "https://www.example.com/coat/lightblue?size=small" },
          { "url": "https://www.example.com/coat/lightblue?size=large" }
        ]
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

複数ページの例: ProductGroup から分離されているバリエーション

この構造は先ほどの複数ページの例と類似していますが、バリエーションが ProductGroup とは別に(ネストされずに)定義されている点が異なります。このアプローチにより、一部の CMS による生成がより容易になる場合があります。

ページ 1: 水色のバリエーション

以下の例は 1 ページ目の水色のバリエーションの構造化データを示しています。


<html>
  <head>
    <title>Wool winter coat, lightblue color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-K11000",
        "gtin14": "98766051104207",
        "image": "https://www.example.com/coat_lightblue.jpg",
        "name": "Small light blue coat",
        "description": "Small wool light blue coat for the winter season",
        "color": "light blue",
        "size": "small",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/lightblue?size=small",
          "priceCurrency": "USD",
          "price": 39.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/InStock",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-X1100000",
        "gtin14": "98766051104399",
        "image": "https://www.example.com/coat_lightblue.jpg",
        "name": "Large light blue coat",
        "description": "Large wool light blue coat for the winter season",
        "color": "light blue",
        "size": "large",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/lightblue?size=large",
          "priceCurrency": "USD",
          "price": 49.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/BackOrder",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "url": "https://www.example.com/coat/green?size=small"
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "shippingRate": {
          "@type": "MonetaryAmount",
          "value": 2.99,
          "currency": "USD"
        },
        "shippingDestination": {
          "@type": "DefinedRegion",
          "addressCountry": "US"
        },
        "deliveryTime": {
          "@type": "ShippingDeliveryTime",
          "handlingTime": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 1,
            "unitCode": "DAY"
          },
          "transitTime": {
            "@type": "QuantitativeValue",
            "minValue": 1,
            "maxValue": 5,
            "unitCode": "DAY"
          }
        }
      },
      {
        "@context": "https://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 60,
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

ページ 2: 緑色のバリエーション

以下の例は 2 ページ目の緑色のバリエーションの構造化データを示しています。


<html>
  <head>
    <title>Wool winter coat, green color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "@id": "#small_green",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-M11000",
        "gtin14": "98766051104214",
        "image": "https://www.example.com/coat_green.jpg",
        "name": "Small green coat",
        "description": "Small wool green coat for the winter season",
        "color": "green",
        "size": "small",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/green?size=small",
          "priceCurrency": "USD",
          "price": 39.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/InStock",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "url": "https://www.example.com/coat/lightblue?size=small"
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "url": "https://www.example.com/coat/lightblue?size=large"
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "shippingRate": {
          "@type": "MonetaryAmount",
          "value": "2.99",
          "currency": "USD"
        },
        "shippingDestination": {
          "@type": "DefinedRegion",
          "addressCountry": "US"
        },
        "deliveryTime": {
          "@type": "ShippingDeliveryTime",
          "handlingTime": {
            "@type": "QuantitativeValue",
            "minValue": 0,
            "maxValue": 1,
            "unitCode": "DAY"
          },
          "transitTime": {
            "@type": "QuantitativeValue",
            "minValue": 1,
            "maxValue": 5,
            "unitCode": "DAY"
          }
        }
      },
      {
        "@context": "https://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 60,
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

ガイドライン

バリエーション商品のマークアップが Google 検索で使用されるようにするには、次のガイドラインに沿って対応する必要があります。

技術に関するガイドライン

  • 各バリエーションでは対応する構造化データのマークアップで一意の ID を指定する必要があります(たとえば、sku または gtin プロパティを使用します)。
  • 各商品グループでは対応する構造化データのマークアップで一意の ID を指定する必要があります。バリエーションの Product プロパティの inProductGroupWithID プロパティまたは ProductGroup プロパティの productGroupID プロパティで指定します。
  • バリエーション商品のプロパティのみでなく、販売者のリスティング(または商品スニペット)の必須プロパティのリストに沿って Product 構造化データも確実に追加します。
  • 単一ページのサイトの場合、すべてのバリエーションが属する ProductGroup 全体の正規 URL は 1 つのみとする必要があります。通常この URL は、バリエーションが事前に選択されていないページを表示するベース URL です(https://www.example.com/winter_coat など)。
  • 複数ページのサイトの場合、各ページにはそのページで定義されたエンティティの完全な自己完結型のマークアップが含まれている必要があります(つまり、ページ外のエンティティはそのページのマークアップを完全に把握している必要はありません)。
  • サイトは、各バリアントを、URLクエリパラメータを使用した個別のURLで直接選択できる機能を備えている必要があります。たとえば https://www.example.com/winter_coat/size=small&color=green のような URL です。これにより、Google が各バリエーションを��ロールして特定できます。各バリエーションが事前選択された際には、正しい画像、価格、在庫状況を表示するほか、ユーザーがバリエーションをカートに追加できるようにします。
  • すべてのタイプのショッピング検索結果を最適化しようとしている販売者の場合は、Product 構造化データを初期 HTML に含めると、良い結果を得られます。
  • JavaScript で生成された Product マークアップの場合: 動的に生成されるマークアップにより、Google ショッピングのクロールの頻度と信頼性が低下する可能性があることに注意してください。商品の在庫状況や価格など、頻繁に変更されるコンテンツでは問題となる場合があります。JavaScript を使用して Product マークアップを生成している場合は、Google からのトラフィック増加に対応できるだけの十分なコンピューティング リソースがサーバーにあることを確認してください。

構造化データタイプの定義

構造化データが Google 検索で使用されるようにするには、必須プロパティを含める必要があります。また、推奨プロパティを使用することでバリエーション商品に関する詳細情報を追加でき、ユーザー エクスペリエンスの向上につながります。

ProductGroup

Google のサービスは ProductGroup の以下のプロパティを認識します。ProductGroup の定義の全文は schema.org/ProductGroup で確認できます。コンテンツをバリエーション商品情報でマークアップするには、ProductGroup プロパティの次のプロパティを使用します。

必須プロパティ
name

Text

ProductGroup の名前(「冬用ウールコート」など)。各 Product アイテムのバリエーションには詳細な名前を付けます(バリエーションを識別するプロパティに基づいて「冬用ウールコート - 緑色、S サイズ」など)。詳細は商品のドキュメントをご覧ください。

推奨プロパティ
aggregateRating

AggregateRating

ProductGroup にネストされた aggregateRating(すべてのバリエーションを表すもの)(該当する場合)。クチコミ抜粋のガイドラインと、必須および推奨される AggregateRating プロパティのリストに準拠してください。

brand

Brand

ProductGroup に関するブランド情報(すべてのバリエーションで共通)(該当する場合)。brand の詳細については商品のドキュメントをご覧ください。

brand.name

Text

ProductGroup のブランド名(すべてのバリエーションで共通)。ProductGroup レベルですでにブランドを追加している場合、Product レベルで再度追加する必要はありません。brand の詳細については商品のドキュメントをご覧ください。

description

Text または TextObject

ProductGroup の説明。たとえば、「寒い気候に適した冬用のウールコート」と記載します。バリエーションの説明はより詳細なものとし、できる限りバリエーションを特定できる用語(色、サイズ、素材など)を使用してください。

hasAdultConsideration

AdultOrientedEnumeration

商品が成人向けに指定されていることを示します(ヌードや性的なコンテンツが含まれているなど)。Google の成人向けコンテンツに関するポリシーで成人向けと見なされる商品を販売する場合は、このプロパティを使用して成人向けとしてラベル付けする必要があります。これらの商品はショッピング広告と無料リスティングに表示できますが、年齢と国に基づく制限が適用されます。ラベルを付けることで、Google はこれらの制限を適用し、オンライン ショッピングを利用するユーザーに適切で法律を遵守したコンテンツを表示できます。schema.org では AdultOrientedEnumeration に複数の値が定義されていますが、Google 検索ではこのプロパティの値として https://schema.org/SexualContentConsideration のみがサポートされています。

hasVariant

Product

ProductGroup プロパティにネストされたバリエーションの一つである Product プロパティ(該当する場合)。ProductGroup には通常複数のネストされたバリエーションの Product プロパティがあります。

または、バリエーションの Product プロパティは、Product プロパティの isVariantOf プロパティを使って、親 ProductGroup を参照することもできます。

productGroupID

Text

商品グループの識別子(親 SKU とも呼ばれます)。この識別子は ProductGroup プロパティで指定するか、ProductGroup プロパティのバリエーションの inProductGroupWithID プロパティ���使って指定する必要があります。ProductGroup プロパティとそのバリエーションの Product プロパティの両方で識別子を指定する場合、それらの識別子が一致している必要があります。

review

Review

ProductGroup にネストされた review(該当する場合)。クチコミ抜粋のガイドラインと、必須および推奨される Review プロパティのリストに準拠してください。

url

URL

単一ページのウェブサイトの場合のみ: ProductGroup プロパティが存在する URL(バリエーション セレクタは含まない)(該当する場合)。複数ページのウェブサイトではこのプロパティは使用しないでください。

variesBy

DefinedTerm

ProductGroup のバリエーションが変化する要素(サイズ、色など)(該当する場合)。完全な Schema.org URL(https://schema.org/color など)で、このようなバリエーションを識別するプロパティを参照してください。次のプロパティがサポートされています。

  • https://schema.org/color
  • https://schema.org/size
  • https://schema.org/suggestedAge
  • https://schema.org/suggestedGender
  • https://schema.org/material
  • https://schema.org/pattern

トラブルシューティング

構造化データの実装またはデバッグで問題が発生した場合は、以下のリソースが参考になります。