クライアントのEC-CUBEで作られたショッピングサイトを更新するお仕事がり、長いこと2系を使っているお客さんだったので、最近リリースされたEC-CUBE Ver.2.25を使ってみました。
まあ、いつもの事なのですが、バージョンナンバー末尾が0のバージョンは、まぁバグが出る出るw
構築しながらいくつかバグ潰しておきました。
そんな中で、商品データの構造化マークアップをいつもの様に追加していたのですが、どうも商品カテゴリで設定値が無効とのエラーが出る。
「あれ?なんでだ?」
と思って調べてみたら、なんとほんの2日前にアップデートされてました。
Googleの公式発表はこちら
相変わらず日本語のドキュメントはまだ更新されていないので、ちょっとハマりましたw
Google Product CategoryとECサイトの商品カテゴリは別
ちょっとハマり所なのですが、schema.orgのProductオブジェクトのCategoryはそのショッピングサイトで決めてる商品カテゴリとは別物です。
Googleが独自に定めているGoogle Product Categoryというものを使います。
Google Product CategoryをCategoryCodeとしてマークアップする
このcategory属性の値としてCategoryCodeを使います。
"category": [
{
"@type": "CategoryCode",
"inCodeSet": "https://www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt",
"codeValue": "2271"
},
{
"@type": "CategoryCode",
"inCodeSet": "https://www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt",
"codeValue": "Apparel & Accessories > Clothing > Dresses"
},
"Dresses",
"Special Occasion > Wedding & Bridal Party Dresses"
]
この、inCodeSetにGoogleのProduct Category CodeのURLを指定する必要があります。
サンプルコードでは英語のリストだったのですが、日本語のリストを指定しました。
日本語のURL: https://www.google.com/basepages/producttype/taxonomy-with-ids.ja-JP.txt
codeValueは誤字脱字でエラーになるのを防ぐために、カテゴリ階層の文字列ではなく、数字のカテゴリコードを書いておいた方が良いです。
頑張ってこの長大なカテゴリリストから目当てのカテゴリを探してください。
というか、EC-CUBEにもGoogle Product Categoryのコード入れるカラムあった方が良いですね。
ECサイトの商品カテゴリはproduct_typeを使う
じゃあ、EC-CUBEで指定しているカテゴリは入れられないのか?と言うとproduct_typeという属性で入れることができます。
これはそのまんま文字列なのですが、各カテゴリ階層ごとに>か|で区切った文字列になります。
例:
"product_type": "トップス > Tシャツ"
EC-CUBEのテンプレート(Smarty, twig)での書き方は、EC-CUBEカスタマイズブログに書いておきます。
これで自動的にGoogleショッピングのマーチャントセンターに商品情報がカテゴリ込みで登録される様になります。
とくに商品カテゴリを指定しなくとも、Googleが自動でカテゴリを当てはめてくれるのですが、ちょこちょこ見当はずれなカテゴリを割り当ててしまうんですよね。
これでそういったカテゴリ間違いも無くすことができます。
