futureshopに登録した商品画像の復元(移管やバックアップ時の覚書)
お読みになる前に:アップロード前の画像ファイルの原本全てを管理保持されている方へ
以下の手順が必要ありません、商品コードと連番の割り当てられた画像ファイルを一つのzipファイルにして「product.zip」というファイル名でupload/image/ にアップロードするだけで完了します。
※ただし画像ファイル名と商品URLコードが完全一致している必要はあります。
※※追記1:ファイルサイズが大きいとバッチが走り出すまでに200MBで15分程のタイムラグが発生します。バッチ処理自体も1時間を優に超す処理時間が必要です。500個程度20MB程度だと5分ずつぐらいで動作するので使い分けましょう。
※※追記2:googleデータフィードから取得した商品URLコードはexcelで開くと化ける恐れがありますのでexcelを起動してからcsvからデータを取得で開いた上で目視で確認もしつつ、関数で結合する場合はTEXT関数でフォーマットが無い場合はセルをそのまま指定しましょう。"@"等でつなぐと変な値になったりします。
全体手順
既存のFutureshopに登録されている画像をFTPでitembox/product/より取得
↓
個別フォルダにダウンロードされた画像ファイルを同階層に移動
↓
WEB管理画面からGoogleデータフィード用ファイルのダウンロード
(内部連番<>商品URLコード対比のリストの原本)
↓
リストの不要な列の削除しファイル名と完全一致するようにExcel等で成型
↓
Nameryで処理できるファイル数ずつ一括置換を実行
↓
全て置換したら小分けしてproduct.zipにしてからupload/image/に設置
以上の流れとなっております。よろしければご覧ください!
1:登録済みファイルの取得
FTPでVPS(CMS-Wordpress)側ではない方に接続して「itembox」「product」の中にある商品画像ファイルを全てダウンロードします。
登録した商品の順に内部連番で管理されており、各種のサイズ違いが自動生成されるため、内部連番の「百千万の桁の数値」のフォルダ毎に振り分けて格納されています。
さらに画像ファイルは内部連番(0000000XXXXX)フォルダ別に格納されており、画像ファイル名は内部連番(0000000XXXXX)-画像連番(01~05)-s(m,l,xs,xl,xxl).jpgのルールで自動生成されています。
(画像連番は画像ホスティングオプション契約で1商品で最大40種)
移管や再度商品情報に画像を一括登録する際には、「商品URLコード」-01(05).jpgのファイル名形式に沿っていないと上書きや新規登録が行われません。
この為、内部連番に自動変換されている画像ファイルをダウンロードして来た物をそのままFTPでアップロードすれば良いという訳にはいかない訳です。
2:原本ファイルのみの選択
windowsの検索機能を使ってサブフォルダ以下に含まれている画像もまとめて表示させる事ができます。
元々の画像の形式が固定長の為、「"0000000?????-??.jpg"」(※ダブルクォーテーション「"」も必要)で検索する事で原本サイズのオリジナルファイルだけにHITさせる事が出来ます。
こちらのファイルを全て選択して別のフォルダの同じ階層に一旦コピーしてしまいましょう。
置換対象ファイルが1つのフォルダに多すぎる場合、後の一括置換検索の時にフリーズしてしまう恐れがあります。
そのため、再度500個ずつ程度にフォルダ分けする必要がありますが、これはNameryというソフトを利用する場合です。
Excelのマクロ等を利用する場合はこの小分け作業は不要かもしれませんが今回はNameryでの一括置換を前提に話を進めます。
3:内部連番と商品URLコードのリストの取得
futureshopから登録済みデータを取得します。管理画面にログインしてから上部の「運用」「商品管理」「商品データ一括取得」の順に移動します。
4:Namery用タブ区切り変換リストの作成
3で取得したデータを元に、画像ファイル名(左)を商品URLコード(右)に一括置換するリストを生成します。
Excelで既存の内部連番と完全一致する表示に変換していきます。
あとは対象の商品URLコードの連番数をつけた後の全行をコピーして-01の部分を-02~と繰り返していけば-05までの変換元変換先リストが完成します。
変換対象ファイルが変換リストに無いのは問題ありません。-05まで殆どありませんでしたが、抜け漏れを回避するために全て-05まで作成しました。
完成したリストは次のシートに2列だけコピーしてきてタブ区切りの.txtファイルに保存してExcelを閉じましょう。(開いていると排他処理でエラーになります)
5:Nameryで実際に痴漢してみよう!
右下のタブのSubをクリックして「文字リストを使う▼」をクリックし「ファイル読込」をクリックします。
以上でフォルダの中のファイルの一括置換が出来上がります。
ファイル数によっては複数のフォルダに分けて繰り返し実行しなければなりませんので、対象のファイルとフォルダで実行してください。3000ファイル程度読み込むとNameryが固まる時がありますので、5回ぐらいに分けてやった方が良いと思います。
6:product.zipにフォルダの中身だけ纏めて圧縮
商品URLコードのファイル群が出来上がったら、先のwindows検索機能を使うか、各フォルダの中身を切り取り貼り付けで一つのフォルダの中に纏めて配置し、全てのファイルを選択した状態でzipファイルに圧縮してください。
※この時フォルダに入れているとfutureshop側がエラーになる仕様です。
全部一度にやると失敗していると面倒なので、まずは数個、数行のリストで試してみる事をオススメいたします。
product.zipの設置は繰り返しても同じ商品URLコードに対しては上書き処理されるので心配ありません。
以上でFutureshopに登録した画像からFutureshopの別サーバやバックアップから復元する手順の紹介を終わります。
ここまでお読み頂けた方に感謝を。
シェイシェイ
ECショップ運用者の方はご苦労をなされていると思う中、備忘録として残しておきます。今後のアップデートで方法は変わってしまうかもしれませんが、対処方としてはアナログで場当たり的ですので、応用できる所があれば幸いです。
P.S.
Excelでのファイル一括変換の方が安定してたかもです💦
ここから先は
¥ 10,000
この記事が気に入ったらサポートをしてみませんか?