楽天商品データをYahooショッピングへ移行するのは意外と大変。

簡単なようで難しい、モールからモールへのデータ移行に挑戦してみました。
楽天とYahooショッピングではデータ形式がかなり異なるため、単純に並び替えただけでは登録することは出来ません。
商品数が少なければ、手動でコピーペーストでも良いのですが、いかんせんスマートじゃない。

というわけで、今回はストアコンバーターを使用してみます。

 

ストアコンバーターとは

ストアコンバーター

ストアコンバーターは無料版と有料版があります。

最初に結論から書いてしまいますが、実際に使用される場合には有料版を使いましょう。
無料版では制限が多く、ほとんど効果がありません。
特に画像ひもづき転送とプロダクトカテゴリ自動変換は必須です。
これを手動で行うのはかなり大変です。

さて、今回は、あえて無料版でどこまで出来るのか試してみます。

無料版ストアコンバーターでの変換手順

1)楽天からCSVデータをダウンロードしましょう。

当たり前ですが、楽天からCSVデータを取得出来なければ話が進みません。CSVデータダウンロードは有料ですが、ここはどうしようもありませんので有料で申し込んでください。

ダウンロードするデータは下記の3つです。

商品ファイル dl-itemxxxxxxxxxxxx.csv
項目選択肢ファイル dl-selectxxxxxxxxxxxx.csv
カテゴリーファイル dl-item-catxxxxxxxxxxxx.csv

一部の商品だけを登録したい場合は、あとで必要商品だけピックアップ出来ますので、今の段階では全てダウンロードしましょう。

storeconverter01

2)環境設定

ヤフーの商品コードに、以下のどちらの番号を使うか?

  • 商品管理番号(商品URL)
  • 商品番号

今回は「商品管理番号」を選択する。
楽天とYahooショッピングでディレクトリが同じ方が変換過程を短縮できるので、都合が良い。

ヤフーの商品情報(explanation)欄を使用するか?
検索対象項目なので、もちろん使用する。

送料無料商品のヤフー「重量欄」に設定する数値を入力するか?
楽天は商品ごとに送料無料設定を指定できるが、Yahooショッピングでは指定できない。
それを可能とするためには送料設定をくすうする必要がある。
今回は送料無料は想定外だが、将来的に使用する可能性は否めないので、値は使用する。

環境設定は以上。

storeconverter02

3)データ変換する

ダウンロードした楽天3ファイルをアップロードし、変換する。
基本的な作業はこれだけ。

全商品をアップロードしたが、欲しい商品は一部だけなので、商品管理番号をしていすれば、必要な商品だけを抜き出すことが出来る。

4)データを修正する

はっきりいってこのタスクが一番手間がかかる。
というよりも、このデータ修正がもっとも重要な箇所なのだ。

楽天の商品名は255バイトだが、Yahooショッピングは150バイトしかない。大抵の場合「商品名が長い」と言われるのだ。
で、151バイト以降をバッサリ削除すれば簡単なのだが、商品名はSEOに大いに関連する。
商売上、バッサリ削除することは見過ごせないのである。

ストアコンバーターの有料ツールを用いれば、ストアコンバーターの管理画面上で一括置換を行うことは可能だ。
だが、さっきも書いたように、バッサリ削除できないのだ。
商品ごとに事情が異なる。
ここは目視で調整するしかない。

また楽天のPC用販売説明文やスマートフォン用商品説明文に書かれたHTMLも修正が必要になる。
<style>指定されていてもYahooショッピングでは反映しない。手動で修正するしかない。
HTMLタグが正しく書かれていれば良いが、間違っていることも多々ある。

5)有料機能は使ったほうが簡単

とはいえ、ストアコンバーターはよく出来ており、とくに下記の機能においては素直に有料版をしようしたいもの。手動ではかなりの手間がかかる。

  • プロダクトカテゴリ自動変換
  • ブランドコード編集
  • 画像自動ひもづき転送

商品画像をダウンロードしよう

ストアコンバーターの無料版では商品画像をダウンロード出来ないので、手動で出来るか挑戦する。

楽天のCSVデータからは商品画像URLが取得できる。
URLがあれば一括ダウンロードすることは可能である。

しかしYahooショッピングでは、商品と商品画像はコードで紐付いている。
そのため商品画像に商品コードを含んだファイル名に変換する必要がある。

なので、画像をダウンロードして、任意のファイル名に変換して保存する。ということができれば良い。

のだが、方法が見つからないんですよねぇ・・。
ダウンロードすることは出来る。
リネームすることも出来る。
でも両方同時することが意外と難しい。

で、考えたところ

macはwgetがないので、curlを使う。

 

curl コマンドを利用してダウンロードすることが可能らしい。

このコマンドならば、URLとファイル名を一行で指定することが出来るので、URLリストとファイル名リストを作成するれば、一括ダウンロード&リネームが可能なはず。

というわけで、スクリプトを作成して実行!

おお、早い。ダウンロードもすいすいである。
が、どうも失敗するファイルがある。
画像ファイルが存在しないのかと思ったが、どうもそうではないようだ。
一括ダウンロード出来るが、失敗も多く、その失敗をチェックする作業が負担になる。

さて、どうしたものか・・。

Google Apps Scriptで画像をダウンロードしてGoogle Driveに保存する方法

こちらを参考にしてみた。

Googleスプレッドシートにスクリプトを書いてダウンロードする。

が、なぜかソース通りに作成したのにスクリプトが動かない。
どうも指定が間違っているようなので、一部修正。
ついでにファイル名を入力する欄も追加して、ファイル名をスプレッドシートから取得して画像をGoogleドライブに保存するように修正してみた。

もし画像が存在しなかったらエラーになるので、エラー処理も追加。

これで実行!

うむ、遅い。実行速度は非常に遅い。しかもGoogleのスクリプトには実行時間に制限があるから、処理が長いと途中で中断されてしまう。
でも画像のダウンロードには失敗しないようだ。

これなら少し時間をかければ、一括ダウンロード&リネームが出来そう。

どうも100画像ずつであればスクリプトが取得してくれるようなので、数回にわけて画像をダウンロード&リネームができました。
ここまでくればFTPでYahooショッピングにアップロードすればOK。

プロダクトカテゴリを登録しよう

これを手動でするのはとても大変です。
冒頭でも書きましたが、有料版を使用しましょう。

ちなみに今回は使用するプロダクトカテゴリが3種類くらいしか無いので、手動で行いました。

単純に一括置換でOK。

HTMLを修正しよう

はい、これが一番大変です。

無料版を使用したので、画像URLが楽天のままです。
HTMLのIMG タグを調べて、手動で画像をダンロードしつつ、画像パスを変更します。

有料版をしようしていれば、自動で画像をダウンロードしてくれて、パスも変更してくれるらしい。
やはり有料版にすればよかったか・・。
いや、もう遅い。
ちくちくと地道に変更あるのみ。

さらに、HTMLの不具合も修正します。

楽天で使用できても、Yahooショッピングで使用できないタグがあります。
Style指定は出来ないし、Fontタグも使えない。
HTMLの記述が正しければ良いが、往々にして、HTMLの記述間違いもある。

パソコン版とスマートフォン版と2種類の記述があるので作業量も倍。

あとは、ひたすら、ちくちくと地道に修正するのみ、修正するのみ・・。

 

修正後は目視確認しよう

当たり前ですが、人間の集中力には限界があります。
機械的作業をいつまでも継続できないです、たいてい、どっか間違えます。

あとはひたすら、確認・確認。

完成です。

商品データの数だけ、修正と確認を繰り返して、ようやく完成です。

長い道のりでしたね。