WooCommerce 商品 CSV のインポートエラー:原因と対処法
WooCommerce の商品 CSV でよくあるインポートエラーを解決します。SKU の欠落、無効なタイプ、バリエーション行の問題、価格の書式、属性の列を扱います。
- ✓WooCommerce の CSV インポートでよくあるエラーとそれぞれの意味
- ✓Type 列がインポートの動作をどう決めるか
- ✓親商品とバリエーションの関係のエラーの直し方
- ✓価格、真偽値、属性の正しい書き方
- ✓WooCommerce のインポーターのエラーレポートの使い方
CSV を修正しますか?アップロードするとすぐに検証と自動修正が行われます。
CSV修正ツールを開くWooCommerce は CSV インポートをどう検証するか
WooCommerce に標準で付いている商品インポーターは、CSV ファイルを読み込み、列名で各列を対応付けます。そして各行を WooCommerce の商品データの仕組みに照らして検証します。検証に失敗すると、その行はスキップされてエラーが記録されます。インポート後には、取り込まれた行数、スキップされた行数とその理由がまとめて表示されます。
WordPress を日本語で使っている場合、エクスポートの列名は日本語になります(例:Type ではなく「タイプ」)。インポーターはどちらの列名も認識します。このガイドでは英語の列名で説明します。
検証のルールを知っておけば、インポートの失敗のほとんどは事前に防げます。
エラー:商品タイプが無効または未入力
原因:Type 列に認識されない値が入っている、または列自体がありません。
使える値:
| Type | 説明 |
|---|---|
| simple | バリエーションのないシンプルな商品 |
| variable | バリエーションのある商品(親行) |
| variation | 可変商品の特定のバリエーション(子行) |
| grouped | 関連商品のグループ |
| external | 外部サイトにリンクする商品 |
対処法:
Type列がなければ追加する- 独自の値や綴りの間違った値を、上のいずれかに置き換える
Variable(大文字の V)とvariableは別物なので、小文字を使う
エラー:SKU がない、または重複している
原因:シンプル商品や可変商品の行で SKU が空になっている、または同じ SKU が2つの行に入っています。
WooCommerce は、インポートする行と既存の商品を対応付けるための一意の識別子として SKU を使います。SKU が空だと、既存の商品が更新されず、インポートのたびに新しい商品が作られます。
対処法:
- すべての商品行(シンプル商品と可変商品の親行)に一意の SKU を付ける
- バリエーション行は親の SKU を引き継いでも独自の SKU を持ってもよいが、ほかの商品の SKU と重複させない
- Excel の
COUNTIFで重複を探す:=COUNTIF($A:$A, A2)の結果が1より大きければ重複
エラー:通常価格が無効
原因:Regular price に通貨記号(€、$)が入っている、小数点にカンマを使っている(19,99)、またはシンプル商品や可変商品で空になっています。
対処法:
- 通貨記号を取り除く:検索と置換で
$、€、£を削除する - 小数点のカンマをピリオドに直す:
19,99→19.99 - シンプル商品と可変商品にはすべて価格を入れる(バリエーション行は親の価格を引き継げる)
エラー:真偽値のフィールドが無効
原因:WooCommerce の真偽値の列(In stock?、Backorders allowed?、Sold individually?、Is featured?)は 1(真)か 0(偽)しか受け付けません。yes、TRUE、Y などの値は検証エラーになります。
対処法:真偽値をすべて置き換えます。
| 置換前 | 置換後 |
|---|---|
| yes、Yes、TRUE、true | 1 |
| no、No、FALSE、false | 0 |
「セル内容が完全に同一であるものを検索する」を有効にして検索と置換を使ってください。
エラー:バリエーションの親商品が見つからない
原因:Type: variation の行が、インポートファイルにもデータベースにも存在しない親商品を参照しています。
WooCommerce のバリエーション行には親商品が必要です。親との紐づけは、Parent 列(データベース上の親商品の ID を入れる)か、同じインポートファイルに親商品を含めることで行います。
対処法:
- 親商品の行を同じ CSV ファイルに含める
- バリエーション行の
Parent列に、親商品の WooCommerce 商品 ID(WordPress 管理画面に表示される番号)を入れる - 親行が
Type: simpleではなくType: variableになっていることを確認する
エラー:属性の列が認識されない
原因:属性の列名が WooCommerce の命名規則に正確に沿っていません。
WooCommerce の属性列の形式:
Attribute 1 name:1つ目の属性の名前(例:Color)Attribute 1 value(s):その行の値(例:Blue、複数ならBlue | Red)Attribute 1 visible:商品ページに表示するなら1、非表示なら0Attribute 1 global:グローバル属性を使うなら1、ローカル属性なら0
対処法:
- スペースを含めて正確な形式で書く:
attribute_1_nameやAttribute1NameではなくAttribute 1 name - 属性は1から順に番号を付ける
- 番号を飛ばさない(Attribute 2 を使っていないのに Attribute 3 を使わない)
エラー:画像の URL にアクセスできない
原因:Images 列の画像 URL が一般公開された HTTPS の URL ではない、ログインが必要、または HTTPS 以外のプロトコルを使っています。
WooCommerce はインポート中に画像をダウンロードして、メディアライブラリに保存します。
対処法:
- 画像の URL をそれぞれブラウザで開き、ログインなしで画像が直接表示されるか確認する
- HTTP ではなく HTTPS の URL を使う
- Google ドライブや Dropbox の画像は、共有リンクではなく直接ダウンロードのリンクを使う
- 画像が localhost やステージングサーバーにある場合は、先に一般公開された場所へ移す
WooCommerce のインポートのエラーレポートの読み方
インポートが終わると、WooCommerce は次のようなまとめを表示します。
- 「X 件の商品をインポートしました」:作成または更新に成功した件数
- 「X 件の商品が失敗しました」:「インポートログを表示」をクリックすると、どの行がなぜ失敗したかがわかる
インポートログには行番号と具体的なエラーが表示されます。行番号を使って CSV 内の行を探してください(見出しが1行目なので、データは2行目から始まります)。
StriveFormats で自動修正
WooCommerce の CSV を StriveFormats にアップロードしてください。商品タイプ、SKU、価格、真偽値、属性の列、親商品とバリエーションの関係をチェックし、安全に直せる問題は自動で修正します。
CSVをStriveFormatsにアップロードして、即座に検証・自動修正・クリーンなエクスポートを行いましょう。