ガイド
Shopifyに商品を一括登録する方法
Shopifyでは、CSVファイルから多数の商品をまとめて作成・更新できます。インポートの仕組み、つまずきやすいポイント、そして商品データがサプライヤーのPDFにある場合の対処法を紹介します。
ShopifyのCSVによる商品インポートは、カタログを一括で追加する標準的な方法です。Shopifyの形式でスプレッドシートを用意し、管理画面からアップロードすると、商品、バリエーション、画像が作成されます。
どのインポートでも同じですが、成否は投入するデータで決まります。このガイドでは、CSVの手順、代替手段、そして後から数百点の商品を修正する手間を省くための事前準備を説明します。
方法1:Shopify管理画面で商品CSVをインポートする
Shopifyの管理画面で「商品」を開き、「インポート」を選択します。Shopifyの商品形式のCSVをアップロードし、ハンドルが一致する商品を上書きするかどうかを選んで、プレビューを確認してから実行します。ファイルはバックグラウンドで処理され、完了すると通知が届きます。
- Shopifyの商品CSVのサンプルテンプレートから始めるか、既存の商品をエクスポートして正確な列を確認します。
- URL handle列(旧テンプレートではHandle)が商品を識別します。同じhandleを持つ行は、同じ商品のバリエーションまたは追加画像です。
- 主な列には、Title、Description(Body (HTML))、Vendor、Product category、Type、Tags、Status、Option1 name / Option1 value、SKU(Variant SKU)、Price、Barcodes(Variant Barcode)、Product image URL(Image Src)があります。
- 画像は、インポート時に公開URLから取得されます。
- 特殊文字が崩れないよう、ファイルはUTF-8のCSVで保存してください。
バリエーションを正しく扱う
最初のインポートでは、多くの人がバリエーションでつまずきます。1つの商品には、最大3つのオプション(たとえばサイズ、色、素材)を設定できます。商品の最初の行には、商品レベルの項目とオプション名を入れ、同じハンドルを持つ続く各行が、オプション値、SKU、価格、在庫を持つバリエーションを1つずつ追加します。
オプション名は行をまたいで同一にし、各バリエーションのオプション値の組み合わせは一意にして、すべての行がちょうど1つのバリエーションに対応するようにします。バリエーション列はあるのにOption1 nameとOption1 valueがない行があると、Shopifyはデフォルトのバリエーションを作成し、既存のバリエーションを削除します。
方法2:一括インポートアプリ
Shopify App Storeのインポートアプリは、標準のCSV機能を拡張します。ExcelやGoogleスプレッドシートへの対応、メタフィールド、サプライヤーのフィードからのスケジュールインポート、他のプラットフォームからの移行などです。繰り返しインポートする場合や、標準のCSVでは扱えない項目が必要な場合に検討する価値があります。
方法3:Shopify Admin API
アプリやカスタム連携は、CSVファイルの代わりに、ShopifyのAdmin APIを通じて商品を作成できます。これによりスプレッドシートのやり取りが完全に不要になり、多くのカタログ・出品ツールがShopifyで商品を作成する方法です。
Doc2Shelfはこの方法を採用しています。OAuthでストアを接続し、確認済みの出品情報が、画像、価格、カテゴリーとともに下書き商品として作成されます。
Shopify向けの商品データの準備
一括アップロードの前に、次の点を確認してください。
- すべての商品に一意のハンドルを、すべてのバリエーションに一意のSKUを付けます。
- タイトルは一定のパターンに揃えます(例:ブランド+商品名+主要な属性)。
- 説明文はサプライヤーの文章をそのまま貼り付けず、自社の文章にします。HTMLはシンプルなものにします。
- 仕様の単位と名称を統一し、オプション、タグ、メタフィールドとして使えるようにします。
- 最初は非公開の状態でインポートし、公開する前にサンプルを確認します。
商品データがサプライヤーのPDFにある場合
CSVインポートは、整った構造化データがすでにあることを前提としています。サプライヤーが仕様書やカタログをPDFで送ってくる場合は、まず誰かがタイトル、仕様、識別子を抽出し、説明文を書く必要があります。これがたいてい作業全体で最も時間のかかる部分です。
Doc2Shelfはこの工程を置き換えます。サプライヤーのPDFを読み取り、確認用の信頼度情報とともに商品データを抽出し、Shopifyの出品用文章の下書きを作成し、確認済みの商品を、CSVを使わずに、接続したストアに下書きとして作成します。
Shopify商品CSVの列:現在の名称と旧名称の対応
Shopifyは、商品CSVのいくつかの列名を変更しました。現在のCSVリファレンスでは、URL handle、Description、SKU、Barcodesといったラベルが使われていますが、多くのテンプレートやチュートリアルでは、依然としてHandle、Body (HTML)、Variant SKU、Image Srcが紹介されています。Shopifyは旧列名との後方互換性を維持しているとしているため、古いファイルでもインポートできます。ただし、新たにエクスポートするファイルは現在のラベルを使い、両方の表記が混在したファイルは確認しにくくなります。
この表は、一括登録で必要になることが多い列を扱っています。BarcodeからBarcodesへの名称変更はShopifyのドキュメントに明記されていますが、その他の旧ラベルは各項目の内容から対応付けたものです。ご自身のストアからのエクスポートと照合して確認してください。ヘッダーは大文字と小文字が区別されます。
| 現在の列名 | 内容 | 例 | 旧ラベルまたは備考 |
|---|---|---|---|
| Title | 商品名 | ステンレス製ケトル 1.7 L | 商品を作成するために必須。 |
| URL handle | 商品URLに使われる、商品の一意な識別子 | steel-kettle | 旧テンプレートではHandleと表記。同じhandleを持つ行は1つの商品に属する。 |
| Description | 商品説明 | コードレスケトル。… | 旧テンプレートではBody (HTML)と表記。 |
| Vendor | ブランドまたは製造者 | Acme | — |
| Product category | Standard Product Taxonomyのカテゴリー | hg-15-1-2 | 完全な階層表記かカテゴリーIDのどちらか一方。両方は指定しない。 |
| Type | 自社で決める商品タイプ | 電気ケトル | カテゴリーとは異なり、自由な形式。 |
| Tags | カンマ区切りのタグ | コードレス, キッチン | 1商品につき最大250個のタグ。 |
| Status | 商品のステータス | draft | 下書きとしてインポートし、確認してから有効化する。 |
| SKU | バリエーションのSKU | KTL-SLV | 旧テンプレートではVariant SKUと表記。 |
| Barcodes | バリエーションのバーコード | gtin:4006381333931 | 旧称はBarcode(さらに前はVariant Barcode)。複数ある場合はセミコロンで区切る。タイプのプレフィックスは省略可。 |
| Option1 name / Option1 value | 最初のオプションと、このバリエーションの値 | Color / Silver | Option2とOption3も同じパターン。 |
| Option1 LinkedTo | オプションとカテゴリーメタフィールドの紐づけ | product.metafields.shopify.[attribute] | 任意。下記の分類体系のセクションを参照。 |
| Price / Compare-at price | 販売価格と比較価格 | 49.90 / 59.90 | Price / [Market]の列には、市場別の価格が入る。 |
| Inventory quantity | 手持ち在庫数 | 25 | Inventory trackerの列と連動して機能する。 |
| Weight value (grams) | バリエーションの重量(グラム) | 1200 | 旧テンプレートではVariant Gramsと表記。Weight unit for displayは、買い物客に表示される単位を設定する。 |
| Product image URL | 商品画像の公開URL | https://cdn.example.com/kettle.jpg | 旧テンプレートではImage Srcと表記。 |
| Image position / Image alt text | ギャラリーの順序と代替テキスト | 1 / ステンレス製ケトル(正面) | 代替テキストは512文字まで。 |
| Variant image URL | このバリエーションが選択されたときに表示される画像 | https://cdn.example.com/kettle-black.jpg | — |
| SEO title / SEO description | 検索結果に表示されるタイトルとメタディスクリプション | — | それぞれ70文字、320文字まで。 |
| メタフィールドの列 | 商品メタフィールドの値 | Material (product.metafields.custom.material) | ヘッダーの形式:Name (product.metafields.namespace.key)。 |
バリエーションとオプション:制限と落とし穴
Shopifyの商品には、最大3つのオプション(たとえばSize、Color、Material)と、最大2,048のバリエーションを設定できます。バリエーションの上限は、2025年10月にShopifyが引き上げるまで100でした。そのため、それ以前に書かれたテンプレートやガイドには、今も古い数字が載っています。一部のテーマ、アプリ、販売チャネルは古い上限を前提に作られているため、数百のバリエーションを持つ商品をインポートする前に、お使いのものを確認してください。
商品の最初の行には、商品レベルの項目とオプション名を入れます。同じURL handleを持つ後続の各行は、オプション値、SKU、価格、重量、在庫を持つバリエーションを1つ追加し、商品レベルの項目は空にします。
更新のインポートでは、2つの挙動に注意が必要です。SKUや重量などのバリエーション列を含む行でOption1 nameとOption1 valueを省略すると、Shopifyはデフォルトのバリエーションを作成し、既存のバリエーションを削除します。また、オプション値を変更すると(たとえば「Grey」を「Gray」に変更)、バリエーションIDが削除されて新しいIDが作成されるため、それらのIDを参照しているアプリやフィードが動かなくなる場合があります。
| 行 | URL handle | Title | Option1 name | Option1 value | SKU |
|---|---|---|---|---|---|
| 最初の行 | steel-kettle | スチールケトル | Color | Silver | KTL-SLV |
| 次の行 | steel-kettle | (空) | (空) | Black | KTL-BLK |
ShopifyのCSVでの商品画像
Shopifyはインポート時に、Product image URL列から画像をダウンロードするため、各URLは公開されていて、画像ファイルを直接指している必要があります。ログインが必要なリンク、プレビューページが開くリンク、インポートの実行前に有効期限が切れるリンクは、画像が取り込まれない典型的な原因です。
1つの商品には、最大250枚の画像またはその他のメディアを設定できます。最初の画像は商品の最初の行に入れ、それ以降の画像は、同じURL handle、画像URL、Image position、Image alt textを持つ独立した行に追加します。買い物客がバリエーションを選んだときに特定の画像を表示するには、そのバリエーションの行のVariant image URLにURLを入れます。
代替テキストは512文字まで設定でき、Shopifyは125文字以内を推奨しています。商品タイトルの繰り返しではなく、画像に写っているもの(「ステンレス製ケトル、水量計付きの正面」など)を記述します。
商品カテゴリー、メタフィールド、Standard Product Taxonomy
Product category列では、商品の主な機能に基づいて、ShopifyのStandard Product Taxonomyからカテゴリーを割り当てます。完全な階層表記(例:Home & Garden > Linens & Bedding > Bedding > Bed Sheets)か、カテゴリーID(例:hg-15-1-2)のどちらかを入力します。両方は入力しません。カテゴリーのない商品は、未分類として扱われます。
カテゴリーを設定すると、そのカテゴリーメタフィールドが利用できるようになります。分類体系ではこれを商品属性と呼びます。たとえばShopifyのShirtsカテゴリーには、size、neckline、fabric、colorなど9つがあり、colorの値はスウォッチとして表示できます。Option1 LinkedTo列は、バリエーションオプションを、これらのカテゴリーメタフィールドのいずれかに紐づけます。
カテゴリーはナビゲーションにとどまらず、Shopify Taxが税率を設定する際にも利用されます。一方、Typeは自分で定義する自由形式のラベルで、自社のフィルターやレポートに役立ちます。
カスタム商品メタフィールドは、Name (product.metafields.namespace.key)という見出しの列でインポートします(例:Material (product.metafields.custom.material))。バリエーションのメタフィールドは商品CSVではサポートされていないため、管理画面、アプリ、またはAPIで設定してください。
ShopifyのCSVの制限とSEO項目の文字数
ここに示すのは、Shopifyが商品CSVのインポートと商品レコードについて公開している制限です。古いガイドに載っている数値(特に100バリエーションという上限)は、すでに古くなっています。
SEO titleとSEO descriptionの列には、検索結果に表示されるタイトルとメタディスクリプションを入力します。カタログ全体に同じパターンをコピーするのではなく、商品ごとに書いてください。商品名と、サイズ、素材、型番など、買い物客が検索する属性を先頭に置きます。
| 項目 | 上限 | 対応方法 |
|---|---|---|
| CSVファイルのサイズ | 15 MB | 大きなカタログは分割する。1つの商品のすべての行は同じファイルにまとめる。 |
| 商品あたりのオプション数 | 3 | それ以上の違いは、別の商品またはメタフィールドとして設計する。 |
| 商品あたりのバリエーション数 | 2,048 | テーマとアプリが多数のバリエーションを扱えるか確認する。 |
| 商品あたりの画像とメディアの数 | 250 | ギャラリーは、買い物客の判断に役立つ画像にとどめる。 |
| 商品あたりのタグ数 | 250 | タグは、絞り込みや自動化に使う。 |
| 商品またはバリエーションあたりのバーコード数 | 20 | タイプが分かっている場合は、gtin:などのタイプのプレフィックスを付ける。 |
| SEO title | 70文字 | 商品名と主要な属性を先頭に置く。 |
| SEO description | 320文字 | 重要な情報を先頭に、商品の概要をまとめる。 |
| 画像の代替テキスト | 512文字(125文字以内を推奨) | 画像に写っているものを説明する。 |
上書きか新規作成か:更新時の挙動
商品を作成するだけなら、CSVに必要なのはTitleだけです。バリエーションを追加する場合は、URL handleも必要です。既存の商品を更新するには、URL handleとTitleが必要で、インポートの開始時に、handleが一致する商品を上書きするかどうかを選択します。
上書きは、含めたすべての列について確定的なものとして扱ってください。最も安全な手順は、エクスポート、編集、再インポートです。変更したい商品をエクスポートし、変更が必要なセルだけを編集し、オプションの列はそのまま残し、上書きをオンにして編集したファイルをインポートします。ゼロから作った情報の少ないファイルでは、上で説明したバリエーションの削除が起きやすくなります。
確定する前にインポートのプレビューを確認し、大規模な更新は、まず数点の商品で試してください。編集前に作成したエクスポートが、問題が起きたときに元に戻す手段になります。
インポート前のチェックリストとトラブルシューティング
大規模なインポートの前に、次の手順を順に確認してください。その後の表は、特によくある問題を扱っています。
- ストアから商品を1つエクスポートし、そのヘッダー行を再利用して、列名が完全に一致するようにします。
- すべての商品に一意のURL handleを、すべてのバリエーションに一意のSKUを付けます。
- オプション名と値の表記が一貫しているかを確認し、すべてのバリエーション行にオプション値があることを確認します。
- Product categoryには、分類体系からコピーした階層表記またはIDを入力します。
- 画像URLのサンプルをプライベートブラウジングのウィンドウで開き、ログインなしで読み込めることを確認します。
- 最初の実行では、Statusをdraftに設定します。
- UTF-8のCSVとして保存し、ファイルが15 MB未満であることを確認します。
- まず5〜10点の商品をインポートし、管理画面とストアフロントで確認してから、残りをインポートします。
| 問題 | 考えられる原因 | 対処法 |
|---|---|---|
| ファイルが拒否される | 15 MBを超えている、またはUTF-8のCSVとして保存されていない | 商品単位でファイルを分割し、UTF-8のCSVとして保存し直す |
| 列が無視される | ヘッダーのスペルミス、または大文字・小文字の違い | 新たにエクスポートしたファイルからヘッダーをコピーする |
| 更新後にバリエーションが消える | Option1 nameとvalueなしでバリエーション列を送信した | オプションの列を含めて再インポートする |
| アプリがバリエーションを認識しなくなる | オプション値の名前が変更され、新しいバリエーションIDが作成された | オプション値の名前変更は慎重に行い、影響を受けるアプリを再接続する |
| 商品が誤って分割・統合される | 1つの商品の行ごとにURL handleが異なる | 商品ごとに同一のhandleを1つ使う |
| 画像が表示されない | URLが公開されていない、画像ファイルを直接指していない、または期限切れ | 画像は安定した公開URLでホストする |
| カテゴリーが設定されない | 階層表記の入力ミス、または階層表記とIDの両方を指定した | 分類体系からコピーしたものを、どちらか一方だけ使う |
| バーコードが受け付けられない | 指定したタイプに対して桁数が合っていない | GTIN:8、12、13、または14桁。UPC:8または12桁。EAN:8または13桁 |
| メタフィールドの値が入らない | ヘッダーの形式が誤っている、またはバリエーションのメタフィールド | Name (product.metafields.namespace.key)を使う。バリエーションのメタフィールドは別の方法で設定する |
よくある質問
- Shopifyに無料で商品を一括登録するにはどうすればよいですか?
- 「商品」→「インポート」にある標準のCSVインポートを使います。すべてのShopifyプランに含まれており、Shopifyの形式のCSVファイルから商品、バリエーション、画像を取り込めます。
- ExcelからShopifyに商品をアップロードできますか?
- 標準のインポーターはCSVが必要なため、ExcelシートをShopifyの列名でUTF-8のCSVとして保存してください。一部のインポートアプリは、Excelファイルを直接読み込めます。
- CSVインポートで既存の商品は上書きされますか?
- 既存の商品が更新されるのは、ハンドルが一致する商品を上書きするオプションを選んだ場合のみです。実行前にインポートのプレビューを確認し、まず小さなファイルでテストしてください。
- 画像がインポートされないのはなぜですか?
- 画像URLは、画像ファイルへの公開された直接リンクである必要があります。ログインが必要なリンク、Webページにリダイレクトされるリンク、一時的なファイル共有サービスのリンクは、たいてい失敗します。
- ShopifyのProduct CSVで必須の列はどれですか?
- 商品を作成するために必須なのはTitleのみで、バリエーションを追加する場合はURL handleも必要です。既存の商品を更新するには、URL handleとTitleを含めます。それ以外はすべて任意ですが、実用的な出品情報には通常、価格、SKU、カテゴリー、説明文、画像が必要です。
- Shopifyの商品には、バリエーションをいくつまで設定できますか?
- 最大3つのオプションにわたって、最大2,048件のバリエーションを設定できます。Shopifyは2025年10月に上限を100件から引き上げたため、100件と記載している古いテンプレートやガイドは現状に合っていません。
- ShopifyのCSVでメタフィールドをインポートできますか?
- 商品のメタフィールドは可能です。Name (product.metafields.namespace.key) という見出しの列を追加します。バリエーションのメタフィールドは商品CSVではサポートされておらず、管理画面、アプリ、またはAPIで設定する必要があります。
- Shopifyの商品CSVの最大サイズはどのくらいですか?
- 商品CSVは15 MBを超えられません。大きなカタログは複数のファイルに分割し、1つの商品に属する行はすべて同じファイルに入れてください。