← ブログ
約5分で読めます

商品画像のファイル名|SKU起点の命名規則

SKU・ビューコード・背景の3要素で商品画像に名前を付ける方法。カタログを検索可能でスクリプト対応に保つルールと、壊す文字を解説します。

  • product photography
  • file naming
  • ecommerce
  • catalogue management
  • workflow
  • background removal
  • bulk processing
商品画像のファイル名|SKU起点の命名規則

「TS-4410の背面を、白背景で1枚ください」と頼まれたとします。共有ドライブを開くと、IMG_4471 copy 2 final.pngとIMG_4471 copy 2 final (1).png、そしてNEW EDITS USE THESEという名前のフォルダーが出てきます。10分後、あなたはまだサムネイルを開き続けています。

命名規則は、カタログ運用でいちばん安上がりな解決策です。半日の合意だけで済み、新しいソフトも要らず、写真を撮った本人がいなくなっても残ります。数千枚の規模でも破綻しない方式を紹介します。

SKUを必ず先頭に置く

ファイル名はアルファベット順に並ぶので、最初の項目がフォルダーを整理する軸になります。そこには決して変わらない識別子、つまり商品フィードに書かれているとおりのSKUを置きましょう。そうすれば、誰が保存したものであっても、同じ商品の画像はひとかたまりになります。

白い面に置かれた淡い色落ちのジーンズ。下げ札には印刷されたバーコード、商品コード、サイズ30が見えます

日付を先頭にすると(2026-07-14_shoot_final)撮影日ごとにまとまりますが、それは誰も検索しない唯一の軸です。

項目は3つで足ります。

  • TS-4410 ― フィードからそのまま写したSKU
  • MAIN ― カメラが何を写しているか
  • white ― 被写体の後ろに何があるか

つなげるとTS-4410_MAIN_white.png。この一覧を見た人は開かなくても中身が分かり、スクリプトはアンダースコアで分割できます。

撮影前にビューコードを決めておく

2つ目の項目は、固定して文書化した語彙があってはじめて機能します。コードは一度作ったら、その場の思いつきで増やさないこと。ヒーローカットはMAIN、決まった順番の追加カットはPT01からPT08、ほかにALT-back、DETAIL-clasp、SCALE。

数字はゼロ埋めします。PT1ではなくPT01です。エクスプローラーやFinderは数字を数値として並べますが、シェルの一覧やスクリプト、オブジェクトストレージのキーはただの文字列として並べるため、PT11がPT2のあとではなくPT1とPT2のあいだに入り込んでしまいます。

Amazon自身の画像ファイル名の規則はセラーセントラルのヘルプページ、つまり出品者ログインの内側にあり、ここと同じ区切り文字とはかぎりません。数千枚をリネームする前に、ご自分のアカウントで最新の書式を確認してください。そのうえで、識別子が先、ビューコードが次、という考え方はどの販売チャネルでも守りましょう(Amazon商品画像の要件|白背景ルールと作り方)。

商品だけでなく背景にも名前を付ける

1枚の写真から、いくつもの納品物が生まれます。マーケットプレイス用の純白、バナー用のブランドカラー、資料用の透過、カテゴリー一覧用のドロップシャドウ。どれがどれか名前が語らなければ、間違ったものを出してしまいます。

スタジオに並んで立てられた背景紙のロール。白、クリーム、タン、ピンク、グリーン、ネイビー、ブラックがそろっています

3つ目の項目も、短い固定リストにします。無加工のカメラ元データはraw、ほかにwhite、brand、透過はcut、shadow、ライフスタイル背景はlife。remover.bgで背景を差し替えるとき――単色でも、任意の色でも、自分の写真でも――その書き出しにどの接尾辞が付くのかを始める前に決めておき、ダウンロードしたらすぐリネームしましょう。

拡張子も情報を担います。透過の出力はPNGかWebPでなければならず、JPEGで保存された_cutはバリエーションではなくバグです(背景を透過したPNGを数秒で作る方法(2026年版))。マーケットプレイス向けの白背景はたいていJPEG、サイト用の画像はWebPが増えています。

静かに物事を壊す文字

  • スペースは使わない。 URLでは%20になり、引用符で囲まないシェルスクリプトを壊し、アップロードフォームに黙って書き換えられます。
  • ASCIIだけを使う。 #と?はURLのパス部分を終わらせ、&はクエリパラメータを区切るので、ファイル名にこれらが入るとリンクが途中で切れたり分かれたりします。アクセント付きなどの非ASCII文字は、URIで許された文字集合の外にあるためパーセントエンコードされ、読めない文字列になります。丸かっこはパスとしては正当ですが、それでもマークダウンのリンクや、引用符で囲まないシェルコマンドを壊します。
  • 大文字小文字はどちらかに固定する。 WindowsとmacOSは既定で大文字と小文字を区別しないためTS-4410とts-4410は衝突しますが、Linuxのサーバーやオブジェクトストレージは2つのファイルとして保持します。どちらかに統一しましょう。
  • 区切り文字は階層ごとに1つ。 項目のあいだはアンダースコア、項目の中はハイフン。
  • 状態を表す語は入れない。 final、FINAL2、new、use-thisは1週間で嘘になります。バージョン管理はリネームではなく、ファイルの置き換えで行いましょう。

カメラの元データと切り抜きは分けて残す

元データは絶対に上書きしないこと。TS-4410_MAIN_raw.jpgとTS-4410_MAIN_white.jpgが並んでいれば、ブランドカラーが変わったときに、統合された書き出しから救い出すのではなく元データから切り抜き直せます。

アップロードの上限は25 MBで、大きなカメラのファイルはこれを超えることがあります。まずお使いの写真編集ソフトで縮小してください。その縮小版は3つ目の成果物なので、名前を付けましょう(TS-4410_MAIN_upload.jpg)。

命名こそが一括処理を可能にする

一括処理はHTTP APIから動くので、すべてのファイルは名前で指定されます。決まりきった名前は、決まりきったジョブを生みます。スクリプトがTS-4410_MAIN_raw.jpgを読み、TS-4410_MAIN_cut.pngを書き、何度実行しても安全です。出力のパスが入力から一意に決まるからです。

暗いモニターに表示された、行番号付きでシンタックスハイライトされたPythonのコード。要素を順に処理して1つずつ出力するループが見えます

期待される出力名と、実際に出来上がったものを突き合わせれば、その差分が失敗したSKUの名前になります。リクエスト側については背景削除API|画像を自動で切り抜き・透過のガイドが扱っています。

ルールカード

これを共有ドライブに貼っておきましょう。

  1. SKU_VIEW_BACKGROUND.ext、この順番で。
  2. SKUはフィードから1文字ずつそのまま写す。
  3. ビューは合意したリストから。数字はゼロ埋め。
  4. 背景も合意したリストから。拡張子はそれと一致させる。
  5. 大文字小文字は固定、ASCIIのみ、スペース・日付・状態語は入れない。
  6. 元データは_rawとして残し、決して上書きしない。

今週、直近100枚を手作業でリネームしてください。そこから先は、もう手間がかかりません。

あわせて読みたい