##Product
以下の実装をしたケースの紹介です。
https://developers.google.com/search/docs/data-types/product?hl=ja
今回のページの場合は売り物ではなく全国の車のカタログのため推奨フィールドは空が多いです。
ただこのようなケースでも必須フィールドを埋めれば適用することができます。
##コード
テンプレート側にベタ書きでも良かったのですがテンプレートはなるべくスッキリさせたいのと元々裏側でforeachしていたのでそこに入れ込みたく、値を変数に入れてテンプレート側で表示するようにしました。
今回はこちらのページに実装した例です。
structuredData.php
foreach($cars as $key=>$car){
$structuredData[] = array(
"@context" => "https://schema.org",
"@type" => "Product",
"name" => $car['Name'],
"image" => $car['ImagePath'],
"url" => $car['PageUrl'],
"brand" => array(
"@type" => "Brand",
"name" => $car['BrandName']
),
"offers" => array(
"@type" => "Offer",
"price" => $car['Price'],
"priceCurrency" => "JPY"
),
);
}
$structuredData = json_encode($structuredData);
structuredData.template
<script type="application/ld+json">
<?php
if(isset($structuredData) && !empty($structuredData)){
if($structuredData != '[]'){
echo $structuredData;
}
}
?>
</script>
テストツールで見るとこんな感じです。