Shopifyに商品登録CSVをインポートする前に、Handle・Title・Variant SKU・Variant Barcode・Option列など特定の列を確認しておかないと、商品名が消える、バリエーションが壊れる、JANコードの先頭0が消えるといった事故が起きます。投入前はCSVバックアップの運用と差分previewで見る列をセットにすると安全です。SKUとBarcodeの列の違いは別記事も参照してください。
インポート前の3つの前提 — バックアップ・差分確認・小規模テスト
商品CSVをインポートする前に、以下の3つを毎回必ず行います。バックアップ手順の詳細はCSVバックアップを取らずに一括更新しない運用、Google Sheetsで編集する場合はCSVをGoogle Sheetsで編集するときの注意も確認してください。
| 前提手順 |
何をするか |
なぜ必要か |
| バックアップ |
現在の商品CSVをエクスポートして保存する |
上書き事故が起きた際に元に戻すため |
| 差分確認 |
エクスポートしたCSVとインポート予定のCSVを比較する |
どこが変わるかを事前に把握するため |
| 小規模テスト |
1〜5商品だけで試しにインポートする |
想定外の上書きや崩れを事前に見つけるため |
バックアップの手順:
- Shopify管理画面 > 商品 > エクスポート を開く
- 「すべての商品」を選択し、「エクスポート」をクリックする
- ダウンロードしたCSVファイルに日付を付けて保存する(例:
products_backup_20260521.csv)
Handle列 — 既存商品の更新か新規作成かを分ける
Handleは商品CSVで最も重要な列です。Handleが一致する既存商品がある場合は「更新」、一致しない場合は「新規作成」になります。ここがずれると、意図しない重複商品ができる原因になります。
| チェック項目 |
確認内容 |
事故の例 |
| 空欄がないか |
Handleが空欄の行はないか |
インポート時にエラーになる、または意図しない新規商品ができる |
| 重複がないか |
同じHandleが複数行にまたがっているか(バリエーション行は正常な重複) |
商品情報が統合されるべき行が分断される |
| 余分な空白がないか |
Handleの前後にスペースが入っていないか |
別商品として新規作成される |
| 大文字小文字 |
Handleの大文字小文字が既存商品と完全に一致するか |
一致しない場合は新規商品として作られる |
実務上の注意:
- バリエーションがある商品は、同じHandleで複数行になります。1行目が親商品、2行目以降がバリエーション行です
- HandleはURLの末尾(例:
my-product-name)として使われるため、SEO上の意味もありますが、本記事ではインポート時の整合性に焦点を当てます
Handleのズレを検出する例:
既存商品のHandle: organic-green-tea-50g
CSVのHandle: organic-green-tea-50g (末尾にスペースあり)
→ 別商品として新規作成される可能性がある
Title列とBody HTML列
Title列
| チェック項目 |
確認内容 |
事故の例 |
| 空欄がないか |
商品名が入っているか |
商品名なしの商品ができる |
| 文字化けしていないか |
日本語が正しく表示されるか |
UTF-8以外で開いた場合に文字化け |
| HTMLタグが入っていないか |
タイトルにHTMLが含まれていないか |
商品名にタグがそのまま表示される |
Body HTML列
| チェック項目 |
確認内容 |
事故の例 |
| HTMLの崩れがないか |
開始タグと終了タグがペアになっているか |
レイアウト崩れ |
| 空欄の扱い |
空欄にした場合の挙動を確認する |
既存商品の説明文が消える可能性がある |
- 空欄にした場合、既存商品の説明文が消える可能性があります。空欄 = 「変更しない」ではなく、空欄 = 「説明文をクリア」として処理されることがあります
- ExcelでCSVを開くと、HTMLタグ内の特殊文字が変換されることがあります。テキストエディタで元の内容を確認してください
Variant SKU列とVariant Barcode列
この2つの列は混同しやすいため、特に注意が必要です。SKUは店舗内の管理番号、BarcodeはJANコード等の識別コードです。
Variant SKU列
| チェック項目 |
確認内容 |
| 店舗内で一意か |
同じSKUが別商品に割り当てられていないか |
| 空欄の意図 |
空欄は「変更しない」ではなく「空で上書き」の可能性がある |
| 形式 |
使用しているSKUの規則と合っているか |
Variant Barcode列(JANコード等)
| チェック項目 |
確認内容 |
事故の例 |
| 先頭0が消えていないか |
Excelで開いた際に先頭の0が削除されていないか |
04901234567890 が 4901234567890 になる |
| 数字のみか |
数字以外の文字が含まれていないか |
バーコードとして認識されない |
| 桁数 |
JAN(13桁)またはUPC(12桁)の正しい桁数か |
Merchant Centerのinvalid_gtinエラーになる |
| SKUと混同していないか |
SKU列にJANコード、Barcode列に管理番号が入っていないか |
Merchant Centerでgtinエラーになる |
先頭0対策:
- ExcelでCSVを開く前に、Variant Barcode列の書式を「文字列」に設定する
- または、テキストエディタでCSVを開いて先頭0が残っているか確認する
- Google Sheetsの場合も、インポート時に「文字列」として読み込む設定にする
Option列(Option1 Name / Option1 Value / Option2 Name / Option2 Value / Option3 Name / Option3 Value)
バリエーションを構成するOption列は、間違えるとバリエーションが消えたり、不要なバリエーションが増えたりします。
| チェック項目 |
確認内容 |
事故の例 |
| Option Nameの統一 |
「色」と「カラー」など、同じ軸の名前が統一されているか |
別軸として認識される |
| Option Valueの統一 |
「赤」と「レッド」など、同じ値の表記揺れがないか |
別バリエーションとして作られる |
| 行の並び順 |
同一Handle内でOption行が連続しているか |
バリエーションが正しく紐づかない |
| Option列数 |
既存商品のOption数と一致しているか |
3つ目のOptionが消える、または増える |
実務上の注意点:
バリエーションを変更する場合(例: サイズ展開をS/M/LからXS/S/M/Lに増やす)、既存のバリエーション行を残したまま新しい行を追加する形にします。既存のバリエーション行をCSVから削除すると、そのバリエーションが消える可能性があります。バリエーション行の削除がどう扱われるかは、最新の公式ヘルプで確認してください。
Image Src列とVariant Image列
Image Src列
| チェック項目 |
確認内容 |
事故の例 |
| URLがhttpsか |
httpのURLが含まれていないか |
セキュリティ警告、画像が表示されない |
| URLにアクセスできるか |
シークレットブラウザでURLを開いて画像が表示されるか |
画像が紐づかない |
| 同一Handleの画像行 |
同じHandleで複数の画像行がある場合、行が連続しているか |
画像の順序が入れ替わる |
Variant Image列
| チェック項目 |
確認内容 |
| 画像URLが正しいか |
Variant Imageに指定したURLが存在するか |
| 商品画像と一致しているか |
そのバリエーションに適切な画像か |
画像URLを確認する手順:
- CSVのImage Src列のURLをコピーする
- シークレットウィンドウ(Chromeの場合はCtrl+Shift+N)を開く
- URLをアドレスバーに貼り付けて画像が表示されるか確認する
- ログインが必要なページが表示される場合、そのURLは一般公開されていないためインポート後に画像が表示されません
Status列とPublished列
この2つの列は似ていますが、意味が異なります。混同すると公開中の商品が非公開になったり、意図と違う状態になったりします。
| 列名 |
値の例 |
意味 |
| Status |
active / draft / archived |
商品の状態 |
| Published |
TRUE / FALSE |
公開チャネルに表示するかどうか |
| チェック項目 |
事故の例 |
Statusをdraftにするつもりがarchivedになっている |
商品がアーカイブされてストアフロントに表示されなくなる |
PublishedをFALSEにするつもりがStatusをdraftにしている |
意図と違う非公開状態になる |
既存商品のStatusをactiveからdraftに変更する意図があるか |
公開中の商品が非公開になる |
Tags列
| チェック項目 |
確認内容 |
事故の例 |
| 既存タグの維持 |
インポートCSVのTags列に既存のタグが含まれているか |
既存タグが消えて新しいタグだけになる |
| 区切り文字 |
タグの区切りがカンマになっているか |
一つの長いタグとして登録される |
| 空欄の扱い |
Tags列を空欄にした場合、既存タグが消えるか |
フィルタや自動化に使っているタグが消える |
Tags列を空欄にした場合の挙動は、最新の公式ヘルプで確認してください。空欄 = 「変更しない」ではなく、空欄 = 「タグなしで上書き」になる可能性があります。
空欄列の扱い — 「変更しない」と「クリアする」の違い
CSVの空欄がどう扱われるかは、列によって異なります。この違いを理解しておかないと、意図せずデータを消してしまう事故につながります。
| パターン |
説明 |
例 |
| 空欄 = 上書き |
空欄にすると既存の値がクリアされる |
Tags、Body HTML、Variant SKUなどで起きる可能性がある |
| 空欄 = 無視 |
空欄の場合は既存の値が維持される |
一部の列でこの挙動になることがある |
| 列ごと省略 |
列自体をCSVに含めない場合 |
省略した列の扱いは公式ヘルプで確認する |
不安な場合は、変更したい列だけを残したCSVを作るのではなく、エクスポートしたCSVの変更箇所だけを書き換えてインポートする方が安全です。
Excel / Google Sheetsで起きやすい変換事故
CSVをExcelやGoogle Sheetsで開いて編集すると、以下の事故が起きやすくなります。インポート前にテキストエディタで開いて確認することをお勧めします。
| 事故 |
原因 |
対策 |
| JANコードの先頭0が消える |
Excelが数値として認識する |
列の書式を「文字列」にしてから開く |
| ハイフン区切りの値が日付になる |
1-2 等が日付として認識される |
列の書式を「文字列」にする |
| HTMLタグが崩れる |
特殊文字の自動変換 |
テキストエディタで確認する |
| 文字化け |
Shift-JISで保存される |
UTF-8で保存する |
| 数式が入る |
セルの自動補完 |
CSV保存後にテキストエディタで確認する |
| 列ずれ |
共同編集時に列が挿入・削除される |
インポート前に列数を行ごとに確認する |
インポート前チェックシート
CSVをShopifyにアップロードする前に、以下の項目を確認します。
| # |
チェック項目 |
確認方法 |
| 1 |
バックアップCSVをエクスポートした |
管理画面 > 商品 > エクスポート |
| 2 |
Handleに空欄・前後スペースがない |
テキストエディタで確認 |
| 3 |
Handleの大文字小文字が既存商品と一致している |
既存CSVとの比較 |
| 4 |
Titleが空欄でない |
CSVで目視確認 |
| 5 |
Body HTMLのHTMLタグが崩れていない |
テキストエディタで確認 |
| 6 |
Variant Barcodeの先頭0が残っている |
テキストエディタで確認 |
| 7 |
Variant SKUとVariant Barcodeを混同していない |
内容の確認 |
| 8 |
Option列のName/Valueが既存と一致している |
既存CSVとの比較 |
| 9 |
Image SrcのURLがhttpsでアクセス可能 |
シークレットブラウザで確認 |
| 10 |
StatusとPublishedの値が意図通り |
値の確認 |
| 11 |
Tags列に既存タグが含まれている(タグを維持する場合) |
既存CSVとの比較 |
| 12 |
1〜5商品だけでテストインポートした |
管理画面 > 商品 > インポート |
| 13 |
テスト後の結果を確認し、問題がないか確認した |
商品管理画面で確認 |
自動的に検出できる部分と人間の判断が必要な部分
自動検出しやすい項目
以下の項目は、CSVの値を機械的にチェックすることで事前に検出できます。
- Handleの空欄・重複・前後空白の検出
- Handleの大文字小文字の不一致検出(既存CSVとの比較)
- Title、Body HTMLの空欄検出
- Variant Barcodeの桁数チェック(12桁または13桁)
- Variant Barcodeの先頭0消失検出(数字のみで12桁または13桁に満たない場合)
- Variant SKUの重複検出
- Image SrcのURL形式チェック(httpsかどうか)
- Status列とPublished列の有効値チェック
- 文字コードの検出(UTF-8以外の可能性)
- 行数と列数の異常検出
- 更新前後差分の行番号付きレポート
人間の判断が必要な項目
以下は機械的なチェックだけでは判断できず、担当者の事業知識や判断が必要です。
- どの列を本当に更新するか(全列更新か、特定列のみか)
- 既存商品の更新か新規作成か
- Tags列の内容の取捨選択
- 商品説明文(Body HTML)の崩れの修正内容
- バリエーション構成の変更が事業上適切か
- 空欄にする列が本当にクリアしてよいか
- 復旧が必要になった時の判断
- インポート後の表示確認
関連して確認したい記事
CSVを送らなくても、列名・更新したい作業・不安な事故だけで確認順を整理できます。初回相談では機密CSVやスクリーンショットの送付は不要です。
相談時に用意するとよい情報
- 更新したい内容(新規商品追加 / 既存商品更新 / バリエーション変更など)
- 対象商品のおおよその件数
- 現在使っているCSVエディタ(Excel / Google Sheets / テキストエディタなど)
- 過去にCSV投入でトラブルがあった場合はその内容
この記事の内容で困っている方へ
Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。
無料診断を依頼する