YahooショッピングにCSVで商品データを移行する(カラーミー向け)

カラーミーショップユーザーのクライアント様から、Yahooショッピング(プロフェッショナル)への出店準備のご依頼をいただきましたので、備忘ついでに記事にしました。

内容は、サイト構築にあたってのカラーミーショップとの比較・相違点についてや、商品データを移行する際の要点についてです。ご参考にどうぞ。

比較 – デザイン面について

デザイン面において、カラーミーショップはとても自由度が高いです(ほとんどのことができます)。
一方、Yahooショッピングのテンプレートは、1カラム・2カラム(サイドメニュー左固定)となっています(下画像)。

Yahooショッピングのストアデザイン画面

各エリア(ヘッダー、フッター、サイドメニュー、コンテンツ部分)に表示する項目をドラッグします。
各表示項目は編集可能で表示形式を調整したり、たとえばフリースペースならHTMLタグが書けます。

Yahooショッピングのページレイアウト

HTMLの知識がなくても、デザインを選択し設定項目を埋めるだけで、ショッピングサイトがある程度できるようになっています。

ヘッダー・フッターを凝ったり、サイドメニューにバナーを配置したり、その他デザインを作り込む場合はフリースペースにHTMLタグを書いて実現します(使用タグに制限あり)。
CSSは「トリプル(※)」に申し込んでいれば、外部ファイルとして読み込めます。申し込んでいなければ、インラインで書きます。

※トリプル=レンタルサーバーのようなファイル置き場+追加機能。値段が高い(3,000円/300MB、5,000円/10GB)。
ここ以外のレンタルサーバーに置いている外部ファイルは、基本的にYahooショッピングから読み込めません。
ファイル置き場用途以外にも、トップページをテンプレートとは関係なしに自由に作れたり(3カラムも)、jQueryを動かしたりできるのだそうな(スライダーも)。
トップページのサブドメインが「shopping.geocities.jp」になります。

カスタムページ(カラーミーショップでいうところのフリーページ)が999枚作れます。こちらはトリプル不要。

比較 – 機能面について

サイト構築する際には、機能面についても違いを知っておく必要があります。
YahooショッピングでjQueryを動かすには「トリプル」の申し込みが必要になります。
スマホページは自動生成で、レスポンシブ非対応、カスタマイズできるところはわずか。
各ページ、SSL化されています。

・カラーミーショップにあって、Yahooショッピングにないもの

アップ画像の上限枚数が50枚と多い、最近見た商品、グループ、複数配送先、細かいオプション設定(※)個別送料独自ドメイン

・どちらにもあるもの

お気に入り、売れ筋商品、関連商品、レビュー、メルマガ、クーポン、ギフト、名入れ、年齢確認、代引手数料、副管理者、API、CSV、FTPで画像アップロード

・Yahooショッピングにあって、カラーミーにないもの

カテゴリが深く作れる、画像ファイル(zip)の一括アップロード、ブランド・スペック・価格帯絞込み再入荷機能期間限定のセール価格

絞込み、再入荷、セールについては、カラーミーショップ制作のヒアリングでもよくうかがう、カラーミーショッで改善してほしい点。絞込みは、グループを使ってお客様の使い勝手が向上するように工夫されているショップも多いと思います。

※印 オプションごとに型番・価格がつけられる点、オプション組み合わせ上限はかなり多い(いくつかは不明)

商品データ移行の概要

Yahooショッピングに商品登録する際に必要なデータは、カテゴリデータ、商品データ、オプションデータ、在庫管理データ、商品画像データになります。
カラーミーショップの商品データ(CSV)、商品オプションデータ(CSV)をダウンロードし移行用データを作成します。
移行用データ作成には、ExcelのVBA(Visual Basic for Applications)プログラミングが必要です
(商品データが100件程度でしたら、手動でもできるかも)。

データ移行に取り掛かる前にまずはじめに、
・元データ(カラーミーショップのデータ)が正しく入力されているか確認する。
・移行するデータと移行しないデータを区別して、作業量を減らす。

商品データを移行する前に、まずカテゴリから

・カテゴリをセットする(基本的に手動)

カテゴリ管理からカテゴリデータをダウンロードし、項目を埋めていきます。
カテゴリ名、サイドナビのカテゴリ画像とカテゴリリスト画像(商品一覧ページの上部に表示されるカテゴリ一覧用サムネイル)のファイル名をセットします。
画像のファイル名は適当につけて、画像管理>追加画像にアップロードしておきます。

カテゴリーが多い場合は、カラーミーショップの商品データ(CSV)をダウンロードして、VBAで抽出するようにプログラミングします。
最初にカテゴリー大とカテゴリー小でソートして、一件前のデータと比較して、一致なら次を読み込み、不一致なら書きこんでから次を読む、こんな感じです。

・カテゴリデータの対応について

path: カテゴリ―大:カテゴリ―小(コロン:でつなぐ)
category_image:  カテゴリリスト画像(アップロードしたファイル名)
navi_image: サイドナビのカテゴリ画像(アップロードしたファイル名)

商品データの対応と変換について

・商品データの対応について

path: カテゴリ―大:カテゴリ―小(コロン:でつなぐ)
name:  商品名(全角75文字、超えるとアップロード時にエラー)
code: 商品ID
sub-code: オプションID(空欄でOK、オプションデータのアップロード時にセットする)
original-price: 定価
price: 販売価格
caption: 商品説明(※要変換)
explanation: 簡易説明、ページ概要(HTMLタグ不可の項目)
relevant-links: 組合せ購入パターン(CSVにデータが含まれていないので、手動)
ship-weight: 重量
meta-desc: ページ説明文
sale-limit: 最大購入数量
product-code: 型番
jan: JAN/ISBN(GTIN)
condition: 状態(空欄は新品)
product-category: 入力推奨項目(※手動)
display: 掲載設定(掲載する=1、掲載しない=0)
sort_priority: 表示順

以上の項目はカラーミーショップの商品データ(CSV)をExcelで読み込んで、VBAで変換します。
商品説明を置換する際には、Excelの「正規表現検索」が便利です。

※要変換 改行を<BR>に変換(カラーミーショップの設定で自動改行になっているとき)。リンク先、画像URLの修正。

※手動 yahoo-product-codeは必須項目ではありませんが、Yahooショッピングの検索対象のため入力推奨となっています。Yahooショッピング側で決められた商品カテゴリのコードのようなものですので、カテゴリーでソートして手動入力します。

オプションデータのセットが一番大変

カラーミーショップは、オプションごとに型番、販売価格がセット可能です。
一方、Yahooショッピングは、オプションごとの型番、販売価格のセット不可です。ある商品に紐づいているオプションは、型番も販売価格も同じになります。
このような場合は、新たに商品登録してページを分けてほしいと、Yahooショッピングでは言っています。

また、Yahooショッピングでは、オプションの組み合わせが最大100です。カラーミーショップでそれ以上使っている場合は、検討が必要になります。

カラーミーショップの商品オプションデータ(CSV)をExcelで読み込んで、VBAで変換します。
商品オプションデータの販売価格と商品データの販売価格が異なる場合は、考慮した作り込みが必要になります。

・オプションデータの対応について

code: 商品ID
sub-code: オプションID
name: 商品名(入力しない)
option-name1: 登録種別nameのオプション名1
option-value1: 登録種別itemのオプション名1
option-name2: 登録種別nameのオプション名2
option-value2: 登録種別itemのオプション名2

在庫管理データもオプションがあると大変

オプションありの商品とオプションなしの商品で分けて移行用データを作ると、理解しやすいと良いと思います。
まず、商品オプションデータ(CSV)と商品データ(CSV)を商品IDでソートします。
VBAで各CSVの商品IDをマッチングして、オプションあり・オプションなしの商品の商品IDを二つに分けます。

在庫数は、商品オプションデータ(CSV)に在庫数が入力されている場合は最優先でセット。
在庫数の空欄はアップロード時にエラーになるので、「在庫管理しない」場合も大きい数字をセットしておくこと。

・在庫管理データの対応について

code: 商品ID
sub-code: オプションID(オプションなしの場合は空欄)
quantity: 在庫数(空欄は不可。9桁、最大999,999,999)
allow-overdraft: 在庫管理しないと少し似ている(※)

※「在庫管理しない」場合はquantityに大きい数字をセットして、allow-overdraft=1(在庫数を超えた注文を許可)

商品画像データのダウンロードとアップロード

Yahooショッピングは一商品につき画像枚数は21枚まで(商品画像1枚+商品詳細画像20枚)、カラーミーショップは最大50枚です。カラーミーショップのほうが画像枚数が多いので、枚数制限からはみ出た分はアップロードできません。
また、Yahooショッピングでは、png画像は不可です。

カラーミーショップの商品データ(CSV)には、商品画像URL、その他画像1URL~その他画像9URLの10枚分のURLは取得できますが、CSVからはそれ以上のその他画像URLは不明です。
ファイル名は連番で付けられていますので、Irvineなどのダウンロードツールで連番部分をURL展開して、ファイルがあるものとしてダウンロードを試行してみるのがよいと思います。

IrvineのURL展開例) https://img??.shop-pro.jp/ショップのアカウントID/数字/product/商品ID_o[10-20].jpg

Yahooショッピングの商品画像は「商品コード.jpg」、商品詳細画像は「商品コード_連番.jpg」のファイル名でアップロードします(ファイル拡張子は適宜)。
商品コード(CSVでの項目 code)にカラーミーショップの商品IDをセットしておけば、画像ファイル名置換の手間が大幅に減ります。
カラーミーショップのファイル名と違う所は連番前に「o」が付いているか付いていないかだけなので、リネームツールで取り除けば、準備完了になります。
画像管理からアップロードすると、自動的に商品データと紐づけされ商品ページに表示されます。

おわりに

送料、支払い方法の変更があるか確認が必要です。

オプション関連をきちんと作り込むのが結構大変です。

商品点数が少ない、オプションなし、商品説明にHTMLタグが含まれない、などの条件が整えば、Excelのオートフィルタや置換など使って、VBAなしに移行用データを作ることが可能かも。

在庫連携(在庫連動)が必要な場合は、手動なのか有料の外部ツールの導入するのか。
運用面でも違いが出てきますので、その点もあらかじめ検討しなければいけません。

カテゴリーとカテゴリの文字の揺らぎは、カラーミーショップとYahooショッピングの用語として、書き分けています。

よく読まれている記事