概要

カラーミーなどのECサイトといえばSEO。商品情報の基本SEO対策としてschemeを使った構造化マークアップを施す。
div,spanなどのhtmlタグの中に埋め込むのは手間なので、JSON-LD方式で書いた。

消費税設定が外税で3番のタイプ:表示が、1,058円(税78円)のタイプのお店は、このままコピーペーストで使えるとおもいます。

コード

記載する場所は、カラーミーの商品詳細テンプレートのHTMLの最下部。

<script type="application/ld+json">
{
"@context": "http://schema.org/",
"@type": "Product",
"description": "<{$product.explain}>|strip_tags",
"name": "<{$product.name}>",
"SKU": "<{$product.id}>",
"image": "http:<{$product.img_url}>",
"offers": {
"@type": "Offer",
"availability": "http://schema.org/InStock",
"price": "<{$product.sales|regex_replace:"/\,/":""|regex_replace:"/円|\(税.*円\)/":""}>",
"priceCurrency": "JPY"
}
}
</script>

解説

カラーミーの価格のタグ<{$product.sales}>は、このストアの場合、3,240円(税240円) という表記になっていた。

schemaは、桁区切りコンマや日本語、カッコを取り除いた、3420という数字だけにしなくてはいけない。

その部分を処理しているはこの部分。

<{$product.sales|regex_replace:"/\,/":""|regex_replace:"/円|\(税.*円\)/":""}>

smartyのregex_replace関数を適用、「 , 」 そして「 円(税 円)」 を空白文字列に置換してます。

外部リンク