商品のランディング ページで構造化データ マークアップを使用すると、Google がウェブサイトから最新の商品やオファーの情報を直接取得できるようになります。Merchant Center でサポートされているすべての構造化データ マークアップには対応する属性と許容される値があり、商品データ仕様にその一覧が記載されています。構造化データは、対応する値および属性と一致している必要があります。
このページの内容:
属性と schema.org のアノテーション
属性は、Merchant Center に登録する商品データを整理する方法の 1 つです。それぞれの属性には、商品の名前や説明など、商品に関する情報が 1 つ含まれます。schema.org の値と対応する商品データ仕様の属性を正しく一致させることによって、フィード検証時のエラーを削減できます。
注: 商品アイテムの自動更新を使用している場合は、schema.org のプロパティ price
、priceCurrency
、availability
、condition
を指定して、精度を高めます。詳しくは、商品アイテムの自動更新についての記事をご覧ください。
商品データ属性
|
データタイプと説明 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
以下は、schema.org の Product タイプの属性です。 |
|||||||||||||||||||||||||||||
テキスト | |||||||||||||||||||||||||||||
テキスト | |||||||||||||||||||||||||||||
テキスト | |||||||||||||||||||||||||||||
URL | |||||||||||||||||||||||||||||
テキスト 親 SKU。同じ商品グループに属するすべてのバリエーション商品をグループ化する場合は必須です。 |
|||||||||||||||||||||||||||||
テキスト 商品を一意に識別する GTIN。 これらの schema.org プロパティのうち 1 つのみを指定します。 GTIN の値を使用する場合は正しい長さの値を使用し、適切なチェック ディジットを含める必要があります。 |
|||||||||||||||||||||||||||||
テキスト | |||||||||||||||||||||||||||||
テキスト | |||||||||||||||||||||||||||||
テキスト | |||||||||||||||||||||||||||||
テキスト
|
|||||||||||||||||||||||||||||
テキスト
|
|||||||||||||||||||||||||||||
および |
数値(年数)
有効な値は、
|
||||||||||||||||||||||||||||
テキスト | |||||||||||||||||||||||||||||
または |
テキスト
|
||||||||||||||||||||||||||||
テキスト
有効な値は、
|
|||||||||||||||||||||||||||||
テキスト
有効な値は、WearableSizeSystemEnumeration タイプの値です。次のようにフィード値にマッピングされます。
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||
以下の schema.org のプロパティは Offer タイプです。 |
|||||||||||||||||||||||||||||
商品の有効な URL。 | |||||||||||||||||||||||||||||
または |
price: 数値。通貨記号、3 桁ごとの区切り記号、スペースを含めることはできません(例: 1498.99)。 priceCurrency: テキスト。3 文字の ISO 4217 形式(USD、GBP、EUR など)で登録します。通貨は対象国の言語と通貨の要件を満たしている必要があります。 注: price と priceCurrency は Offer インスタンスで直接指定することも、UnitPriceSpecification タイプの priceSpecification プロパティを使用して間接的に指定することもできます。 sale_price を指定する場合は、priceSpecification プロパティを使用して price を指定(priceSpecification.priceType="ListPrice" と指定)する必要があります。 sale_price は、Offer で直接指定することも、priceUnitation.priceType を指定せずに UnitPriceSpecification タイプの priceSpecification プロパティを使用して指定することもできます。 |
||||||||||||||||||||||||||||
有効な値は、
|
|||||||||||||||||||||||||||||
有効な値は、
|
|||||||||||||||||||||||||||||
商品の有効な購入手続き URL。 |
JSON-LD の使用例
単一の商品
例
次の例は、最小限のプロパティを含む基本的な商品を示しています。
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://example.com/trinket.jpg",
"name": "素敵なアクセサリー",
"description": "素敵なデザインのアクセサリー",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 39.99,
"priceCurrency": "USD"
}
}
次の例は、schema.org を使用してサイズタイプとサイズ表記を指定する方法を示しています。この例では、男性用「ビッグサイズとトールサイズ」ファッション部門の青い T シャツ(13 歳以上の年齢層を対象、米国サイズ「XL」)を指定します。
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "12345",
"image": "https://example.com/tshirt.jpg",
"name": "クラシック T シャツ",
"description": "A綿 100% T シャツ、クラシック カット",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"material": "cotton",
"color": "blue",
"size": {
"@type": "SizeSpecification",
"name": "XL",
"sizeSystem": "https://schema.org/WearableSizeSystemUS",
"sizeGroup": [
"https://schema.org/WearableSizeGroupBig",
"https://schema.org/WearableSizeGroupTall"
]
},
"audience": {
"@type": "PeopleAudience",
"suggestedGender": "male",
"suggestedMinAge": 13
},
"offers": {
"@type": "Offer",
"url": "https://example.com/tshirt",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 24.99,
"priceCurrency": "USD"
}
}
1 つのランディング ページに関連性のない複数の商品が含まれている
関連性のない複数の商品を含むページで、各商品に独自の構造化データ アノテーションが含まれている場合は、それぞれのアノテーションに、指し示している商品を特定するための情報を含める必要があります。
たとえば、各アノテーションに SKU(ID [id]
属性)または GTIN([gtin]
属性など)を指定することをおすすめします。この情報を提供しない場合、ランディング ページの商品が構造化された商品データに一致しないことがあります。詳しくは、ランディング ページに構造化データを設定する方法をご覧ください。
例
[
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://example.com/trinket.jpg",
"name": 素敵なアクセサリー",
"description": "素敵なデザインのアクセサリー",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 39.99,
"priceCurrency": "USD"
}
},
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "racket-12345",
"image": "https://example.com/racket.jpg",
"name": "素敵なラケット",
"description": "テニス用ラケット",
"gtin": "12345678901235",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/racket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 59.99,
"priceCurrency": "USD"
}
}
]
セール価格
次の例は、セール価格を含む基本的な商品を示しています。セール価格を指定するには、/priceType プロパティで指定されている元の正規価格も指定します。
例
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://example.com/trinket.jpg",
"name": "素敵なアクセサリー",
"description": "素敵なデザインのアクセサリー",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 10.00,
"priceCurrency": "USD",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": 15.00,
"priceCurrency": "USD"
}
}
}
If a /UnitPriceSpecification is also used for the non sale-price, the encoding simply contains two /UnitPriceSpecifications:
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://example.com/trinket.jpg",
"name": "素敵なアクセサリー",
"description": "素敵なデザインのアクセサリー",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": [
{
"@type": "UnitPriceSpecification",
"price": 10.00,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": 15.00,
"priceCurrency": "USD"
}
]
}
}
送料
商品の送料(推奨)を指定するには、Schema.org の OfferShippingDetails
タイプを使用します。これは、shippingDetails
プロパティを使用して Offer 内にネストする必要があり、商品データ仕様の送料 [shipping]
属性にマッピングされています。shippingDetails
プロパティは複数指定できます。
商品データ属性
|
データタイプと説明 |
---|---|
以下は、schema.org の OfferShippingDetails タイプの属性です。 |
|
|
テキスト 2 桁の ISO 3166-1 国コード
|
テキスト 2 桁または 3 桁の ISO 3166-2 区分コード(国の接頭語はなし)。米国、オーストラリア、日本でのみサポートされています。例: 「NY」、「NSW」、「03」
|
|
|
|
数値(正の整数) 注文の発送準備とお届けまでの最短営業日数と最長営業日数を指定します。発送準備時間には、注文を受けてから運送業者に引き渡すまでの時間を指定します。お届け日数には、商品が運送業者に引き渡されてから購入者に届くまでの日数を指定します。
|
例
次の例は、schema.org を使用して配送情報を指定する方法を示しています。この例では、米国のカリフォルニア州、ネバダ州、アリゾナ州への送料として 3.49 米ドルを指定しています。発送準備時間は 0~1 営業日、お届け日数は 1~5 営業日です。
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"gtin": "12345678901234",
"image": "https://example.com/trinket.jpg",
"name": 素敵なアクセサリー",
"description": "素敵なデザインのアクセサリー",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 39.99,
"priceCurrency": "USD"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US",
"addressRegion": [ "CA", "NV", "AZ" ]
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": 3.49,
"currency": "USD"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
}
}
}
返品
商品の返品可能期間と返品手数料を指定するには、Schema.org の MerchantReturnPolicy タイプを使用します。これは、hasMerchantReturnPolicy プロパティを使用して Offer タイプ内にネストする必要があります。
商品データ属性
|
データタイプと説明 |
---|---|
以下の schema.org のプロパティは MerchantReturnPolicy タイプです。offers プロパティを使用して商品内にネストする必要があります(下記の例を参照)。 | |
applicableCountry |
2 文字の ISO 3166-1 alpha-2 国コード(「US」など) 3 文字の ISO 3166-1 alpha-3 国コード(「USA」など) 特定の販売者の返品に関するポリシーが適用される国。商品の発送元の国とは異なる場合があります。最大 50 か国まで指定できます。 |
有効な値は、MerchantReturnEnumeration タイプの値です。 MerchantReturnFiniteReturnWindow または MerchantReturnUnlimitedWindow を指定した場合は、returnMethod または returnShippingFeesAmount が推奨されます。さらに、MerchantReturnFiniteReturnWindow を指定した場合は、merchantReturnDays を指定する必要があります。 |
|
merchantReturnDays |
商品の返品が可能な(お届け日からの)日数。 |
returnMethod |
有効な値は、ReturnMethodEnumeration タイプの値です。
|
returnFees | 有効な値は、ReturnFeesEnumeration タイプの FreeReturn です。 |
returnShippingFeesAmount |
商品の返品にかかる送料の情報。 |
例
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"gtin": "12345678901234",
"image": "https://example.com/trinket.jpg",
"name": "素敵なアアクセサリー",
"description": "素敵なデザインのアクセサリー",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 39.99,
"priceCurrency": "USD"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"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"
}
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 60,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}
}
エネルギー効率
Schema.org では、EnergyConsumptionDetails
タイプを使用した商品のエネルギー効率ラベルをサポートしています。これは、EnergyConsumptionDetails
プロパティを使用した商品に指定できます。
商品データ属性
|
データタイプと説明 |
---|---|
以下の schema.org のプロパティは EnergyConsumptionDetails タイプです。 |
|
有効な値は、schema.org の |
|
energy_efficiency_class 属性を指定するために使用した EnergyConsumptionDetails のインスタンスの下に追加し、同じマッピング テーブルを使って値を選択します。energy_efficiency_class が指定されない場合、値 EUEnergyEfficiencyCategoryG が設定されます。 |
|
energy_efficiency_class 属性を指定するために使用した EnergyConsumptionDetails のインスタンスの下に追加し、同じマッピング テーブルを使って値を選択します。energy_efficiency_class が指定されない場合、値 EUEnergyEfficiencyCategoryA3Plus が設定されます。 |
energyEfficiencyScale
、energyEfficiencyScaleMin
、energyEfficiencyScaleMax
の値は、schema.org の EUEnergyEfficiencyEnumeration
列挙型のものであり、以下のように、商品データ仕様の 3 つの省エネ属性の値にマッピングされます。
例
次の例は、schema.org を使用してエネルギー効率の情報を指定する方法を示しています。この例では、給湯器の EU 省エネ性能について、スケール「A+」から「F」のうち「C」を指定しています。
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "1234-5678",
"image": "https://example.com/waterheater.jpg",
"name": "給湯器",
"description": "大型の給湯器",
"gtin": "12345678901231",
"mpn": "WH1234",
"brand": {
"@type": "Brand",
"name": "ExampleWaterHeaterBrand"
},
"hasEnergyConsumptionDetails": {
"hasEnergyEffiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC",
"energyEffiencyScaleMax":
"https://schema.org/EUEnergyEfficiencyCategoryA1Plus",
"energyEffiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryF"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/hotwaterheater",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 1799.00,
"priceCurrency": "EUR"
}
}
計量単位を基準にして販売される商品
Schema.org では、Offer に priceSpecification
プロパティを使用する場合、UnitPriceSpecification
タイプの referenceQuantity
プロパティを使用する商品の単位価格をサポートしています。単位価格を指定するときは、priceSpecification
プロパティを使用して商品の価格と通貨も指定します(Offer には price
と priceCurrency
プロパティを直接使用しないこと)。
商品データ属性
|
データタイプと説明 |
---|---|
以下の schema.org のプロパティは UnitPriceSpecification タイプです。 |
|
価格の計量単位を指定するには、商品価格の指定に使用される
|
|
価格の基準計量単位を指定するには、価格の計量単位の指定に使用される
|
例
次の例は、1 kg あたりの推奨標準価格が付けられている米 5 kg(袋入り)の価格が 3.99 ユーロであることを示しています。これは、1 kg あたり 0.80 ユーロの単位価格で商品が消費者に表示され得ることを意味します。
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "basrice12345",
"image": "https://example.com/rice.jpg",
"name": "バスマティ ライス",
"description": "有機バスマティ ライス(精米済み、5 kg、大袋)",
"gtin": "12345678901231",
"brand": {
"@type": "Brand",
"name": "ExampleRiceBrand"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/basrice1kg",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 3.99,
"priceCurrency": "EUR",
"referenceQuantity": {
"@type": "QuantitativeValue",
"value": 5,
"unitCode": "KGM",
"valueReference": {
"value": 1,
"unitCode": "KGM"
}
}
}
}
}
マークアップのテスト
リッチリザルト ツールを使用して schema.org の実装をテストします(「販売者リスティング」構造化データの報告内容を確認する)。ツールの使用、問題のデバッグ、ツールでの結果の解釈について詳しくは、Google Search Console ヘルプセンターをご覧ください。詳しくは、商品の構造化データについての説明をご覧ください。
構造化データのマークアップの要件
- 構造化データのマークアップは、ウェブサーバーから返される HTML に含まれている必要があります。ページが読み込まれた後に JavaScript で構造化データのマークアップを生成することはできません。
- 購入者の IP アドレスやブラウザの種類によって価格を調整するなど、購入者に関する情報に基づいてランディング ページを変更することはできません。
- 構造化データは、購入者に表示される値と一致する必要があります。商品のランディング ページに不正確なデータを掲載すると、Google のウェブ デベロッパー向けガイドラインへの違反となります。
- 構造化データには JSON-LD を使用することをおすすめします。