Category: CSV・データ処理

  • Shopify商品CSVのHandleがずれると何が壊れるか

    Shopify商品CSVのHandleがずれると何が壊れるか

    Shopifyの商品CSVでは、Handle が商品を見分ける重要な列です。タイトルやSKUを直しただけのつもりでも、Handleが変わっていると、既存商品の更新ではなく別の商品として扱われたり、画像やバリエーションの対応が崩れたりします。

    まず何が起きているか

    Handleは商品ページURLにも使われる識別子です。CSVで既存商品を更新するとき、同じ商品として扱いたい行のHandleが既存データと一致しているかを確認します。商品名を変更したからといって、Handleまで毎回変える必要があるとは限りません。逆に、移行作業で複数商品に同じHandleが入っていると、意図しないまとまり方になります。

    Handleずれで起きやすいこと

    • 更新したつもりの商品が新規商品として作られる
    • 同じ商品内に入るはずのバリエーションが別商品に分かれる
    • 画像行が別の商品に紐づく
    • 旧URLを前提にした内部リンクや広告URLの確認が必要になる
    • 在庫CSV側のHandleと商品CSV側のHandleが一致しない

    確認する列

    商品CSVでは HandleTitleOption1 NameOption1 ValueVariant SKUImage Src を並べて見ます。単品商品なら1つのHandleに1行だけの場合もありますが、色やサイズのバリエーションがある商品は、同じHandleの複数行で構成されます。画像だけの行があるCSVでは、Handleのずれが画像紐づけのずれとして出ることもあります。

    手作業で直す場合

    まず管理画面から現在の商品CSVをエクスポートし、更新用CSVのHandleと突き合わせます。既存商品を更新したいなら、既存CSVのHandleを基準にします。新しい商品として作りたいものだけ、新しいHandleにします。表計算ソフトでタイトルからHandleを再生成する場合は、既存商品まで一括で変換しないように、更新対象を別シートで絞ってから作業します。

    自動化できる部分

    投入前チェックでは、Handleの重複数、空欄、全角文字やスペースの混入、既存CSVに存在しないHandle、既存CSVにはあるが更新CSVにはないHandleを一覧化できます。また、同じHandleの中でOption列の組み合わせが重複していないかも機械的に確認できます。ただし、URLを変更してよいか、SEOや広告リンクの影響をどう扱うかは店舗側の判断です。

    注意点

    Handleを直せばすべて元通りになるとは限りません。すでにインポート済みで新規商品が作られている場合は、重複商品の削除、在庫、画像、公開状態の確認が別途必要になります。公式サポートの代行ではなく、CSV上で何が起きそうかを整理する実務メモとして扱ってください。初回相談では、Handle列の例を数行だけ伏せ字で共有できれば十分な場合があります。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopify CSVでバリエーションが壊れる前に見るOption列とVariant列

    Shopify CSVでバリエーションが壊れる前に見るOption列とVariant列

    Shopifyの商品CSVで色やサイズを触るときは、商品名よりも Option 列と Variant 列の関係を見る必要があります。価格だけ更新したつもりでも、Optionの値が少し変わると別バリエーションのように扱われ、SKUや在庫、Barcodeとの対応が崩れることがあります。

    まず何が起きているか

    Shopifyでは、同じ商品に複数の選択肢がある場合、Optionの組み合わせごとにバリエーションが作られます。たとえば「色」と「サイズ」がある商品なら、赤/S、赤/M、青/Sのような組み合わせがVariantになります。CSVではこの組み合わせを行で表すため、1つのセルだけでなく行全体の対応を見ます。

    よくある原因

    • Option1 Name を「Color」から「カラー」に変えて、既存データとずれる
    • Option1 Value の表記ゆれで同じ色が別扱いになる
    • SKU列だけ並べ替えられ、Option列との対応が崩れる
    • 価格、Barcode、重量などのVariant列を別バリエーションに入れてしまう
    • 単品商品からバリエーション商品へ変える作業を一括で行う

    確認する列

    まず Handle ごとに行をまとめます。その上で Option1 NameOption1 ValueOption2 NameOption2 ValueOption3 NameOption3 Value を見ます。次に Variant SKUVariant PriceVariant BarcodeVariant Inventory Tracker を横に並べ、Optionの組み合わせと一致しているか確認します。

    手作業で直す場合

    いきなり全商品を修正せず、代表的な1商品を管理画面で開き、現在のバリエーション一覧をCSVと照合します。Option名は既存の商品に合わせ、値の表記も「S」「M」「L」なのか「Small」「Medium」なのかを揃えます。SKUやBarcodeはOption列から自動で推測せず、仕入れ元データや現行エクスポートを正として見比べます。

    自動化できる部分

    チェックツール化しやすいのは、同一Handle内のOption組み合わせ重複、Option名の表記ゆれ、SKU空欄、SKU重複、Barcodeの桁や先頭0の欠落、価格の空欄です。投入前に「このHandleではバリエーション数が何件から何件に変わるか」を出すだけでも、事故はかなり見つけやすくなります。商品の選択肢をどう設計するかは、人間が販売方法を見て決める部分です。

    注意点

    バリエーションの修正は、商品ページの見た目だけでなく在庫、広告フィード、受注後のSKU確認にも影響します。CSVだけを見て正解を断定せず、管理画面と現在の受注・倉庫運用も確認してください。初回相談では、全CSVではなく問題が出ている1商品の列構成だけでも、壊れ方の整理はできます。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopifyの商品登録CSVを入れる前に確認する列と壊れやすい項目

    Shopifyの商品登録CSVを入れる前に確認する列と壊れやすい項目

    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商品だけで試しにインポートする 想定外の上書きや崩れを事前に見つけるため

    バックアップの手順:

    1. Shopify管理画面 > 商品 > エクスポート を開く
    2. 「すべての商品」を選択し、「エクスポート」をクリックする
    3. ダウンロードした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が削除されていないか 049012345678904901234567890 になる
    数字のみか 数字以外の文字が含まれていないか バーコードとして認識されない
    桁数 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を確認する手順:

    1. CSVのImage Src列のURLをコピーする
    2. シークレットウィンドウ(Chromeの場合はCtrl+Shift+N)を開く
    3. URLをアドレスバーに貼り付けて画像が表示されるか確認する
    4. ログインが必要なページが表示される場合、その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やスクリーンショットを送る必要はありません。

    無料診断を依頼する