
仕入先の価格表はWooCommerceの商品カタログではありません。CSVをインポートする前に、各列をSKU、商品名、価格、カテゴリー、属性へ割り当てます。
仕入先の列をWooCommerceの商品フィールドにマッピングする方法
仕入先の列をWooCommerceの商品フィールドにマッピングするとは、価格表の各情報を商品名、SKU、価格、カテゴリー、画像、属性のどれにするか決めることです。卸売業者から届くファイルには、商品コード、販売用説明、商品群、EANなど、独自の見出しが使われています。一方、WooCommerceは異なる列名と、商品タイプごとの形式を想定しています。対応表を作らずにインポートすると、情報が不足した商品ページや重複商品、各種フィードで受け付けられないデータが発生します。
クローラーは、表示されているタイトル、商品説明、画像、そしてWooCommerceがページ上ですでに公開している構造化データを読み取ります。仕入先の説明列を商品名に入れると、タイトルが段落のようになります。SKUがなければ、次回の同期で照合キーを使えません。EANを自由記述のメモに入れると、GTINはフィードに入りません。仕組みは不思議なアルゴリズムではなく、空欄や誤った場所に置かれたフィールドとして確認できます。

仕入先のファイルがそのままWooCommerceで使えない理由
仕入先の価格表は卸売販売のためのツールであり、カタログのスキーマではありません。列名、小数の表記、商品分類は、WooCommerceの標準フィールドと一致しないことがあります。
卸売業者は、発注する人が使いやすいように、社内コード、圧縮された説明、段階価格、ケース入数などをシートにまとめます。WooCommerceは購入者と検索エンジンのために、読みやすい商品名、安定したSKU、店舗で想定する小数点形式の価格、ショップのカテゴリー、フィルターで使える表示属性、公開URLの画像を必要とします。両者が共有するのは商品、価格、バーコードといった事実であり、形式ではありません。
説明用の例として、商品を扱う店舗が、COD、DESCR、PZ、FAM、BARCODEという列を持つCSVを受け取ったとします。DESCRのセルには「VASO SMALTO BLU D20 H18 PZ/CT 6」と入っています。この文字列はタイトルでも説明でも、属性の集合でもありません。3つの情報が1つに圧縮されています。分解しないままインポートすると、アシスタントが引用しにくい商品ページになり、Google Shoppingにはノイズの多いタイトルとして読み取られます。
ページの本文と構造化データは一緒に機能します。マークアップがページ上のタイトル、価格、在庫状況と一致すると、価格や在庫の事実を補強できます。
WooCommerce商品の必須フィールドと任意フィールド
商品ページを作るだけなら商品名があれば足ります。販売するには価格が必要で、在庫管理を行う場合は数量も必要です。重複を防ぐにはSKUが必要で、それ以外の項目がショップとフィードにおける商品ページの完成度を左右します。
WooCommerceの標準CSVでは、固定された英語の見出しが認識されます。仕入先の見出しを残したまま、インポートプラグインが「理解する」と期待することはできません。列名を変更するか、「商品」「インポート」の画面で対応付ける必要があります。よく使うフィールドは次のとおりです。
- Name:ページや検索結果に表示される商品名。
- SKU:ショップ内で使う一意のキー。SKUがないと、再インポート時に重複するおそれがあります。
- Type:simple、variable、variation、grouped、external。
- Regular price:ショップの形式に合わせた通常価格。通常は小数点を使います。
- Description と Short description:ページの長文と一覧用の要約。
- Categories と Tags:既存のカテゴリー、またはインポート前に作成するカテゴリー。
- Images:CSVの仕様に従って記載する公開URL。複数可。
- Attribute n name / Attribute n value(s):グローバル属性またはローカル属性(色、サイズ、素材など)。
- Parent:variationの行だけに記載する親商品のSKU。
- Stock と In stock?:在庫管理を有効にしている場合の数量と在庫フラグ。
重量、長さ、配送クラス、税クラス、グローバル識別子(仕入先の資料にある場合のGTIN)は、公開に必須ではありません。ただし、フィードや商品ページでは、これらがないことがすぐに分かります。Google Search Centralによると、商品には主に2種類の構造化データがあります。WooCommerceが生成するマークアップは、ページに記載された商品名、価格、在庫状況と一致する場合にのみ、これらの事実を補強します。
同じショップで複数の仕入先の価格表をインポートする場合同じショップで複数の仕入先の価格表を扱う場合、SKUを名前空間として考えます。2社の卸売業者が同じ「1001」というコードを使うことがあります。SKUに接頭辞(FORN1-1001)を付けるか、仕入先の列を非表示の属性として保持してください。仕入先を商品名の一部にしてはいけません。GTINが存在し有効なら、物理的な商品の識別情報として扱います。SKUは、あなたの管理システムにおける行の識別情報です。
仕入先の列を1列ずつ読み取り、マッピングする方法
仕入先のCSVを開き、各見出しを一覧にして、WooCommerceの転記先フィールドを横に記入します。その際、分割または破棄する値についてのルールも決めます。
いきなりインポートを始めないでください。まず、元の見出し、WooCommerceのフィールド、データ整形ルールという3列のマッピングシートを作ります。このルールがあれば、同じ列が複数のフィールドに入ったり、どこにも入らなかったりするのを防げます。
- UTF-8でエンコードされた表計算ファイルとして開きます。イタリア語版Excelがセミコロンを使っていた場合、保存前に区切り文字を確認し、無作為に変換しないでください。
- 先頭行を固定して見出しを確認します。CODICE、ART、ITEM、REFはSKUの候補、DESCRIZIONE、NOME、ITEM NAMEは商品名の候補、EAN、GTIN、BARCODE、UPCはグローバル識別子の候補として記録します。
- WooCommerceで「商品」「インポート」を開き、標準の見出し(Name、SKU、Regular price、Categories、Images、Attribute 1 name)と比較します。一致しない場合はCSVの見出しを変更するか、インポート画面のプルダウンで手動対応します。
- 曖昧な列ごとにルールを書きます。たとえば、FAMIGLIAはショップに同じカテゴリーを作成してからCategoriesへ、COLOREとTAGLIAは商品名ではなくグローバル属性(「商品」「属性」)へ入れます。
- Typeを選びます。1行が1つの販売商品ならsimple。同じモデルに複数のサイズや色があるなら、variableの親商品と、親SKUをParentに入れたvariationの行にします。
- 数値を統一します。小数点にカンマを使う価格は、ショップが想定する形式に変換します。数量は整数にします。重量はWooCommerceの「設定」「商品」で指定した単位に合わせます。
- 10行のテストCSVを保存し、下書きとしてインポートします。カタログ全体を変更する前に、商品名、SKU、価格、在庫、属性、画像を確認します。
前後の違いを示す説明用の例です。変換前の1セルには「MAGLIA COTONE UOMO BLU M 19,90 8001234567897」と入っています。マッピング後は、商品コードからSKUを取得し、Nameを「コットン製ブルーシャツ メンズ」、属性を素材=コットン、色=ブルー、サイズ=M、Regular priceを19.90とします。GTINは、バーコードが仕入先の資料にあり、チェックデジットを通過する場合だけ設定します。ケースに関する記述は商品名にしません。
日々の作業に時間をかけられない場合日々の作業に時間をかけられない場合、新しい行を毎回手動でマッピングする必要はありません。対応表をテンプレートシートに固定し、価格表を受け取るたびに見出しだけを変更します。仕入先が列を追加した場合は例外として扱い、無視するか、既存の属性に割り当てます。隠れたコストはインポート自体ではなく、毎回ルールを作り直すことです。
よくあるエラー
SEOとフィードを損なうマッピングエラーは、いつも似ています。汚れたタイトル、ショップのカテゴリーではなく仕入先のカテゴリーを使うこと、GTINを作ったり誤ったフィールドに入れたりすること、バリエーションを単純商品に分けることです。
仕入先の説明をそのままタイトルにする。ショップには、すべて大文字で、ケース入数、社内コード、サイズが連結された商品名が表示されます。これは、DESCRが唯一のテキスト列であり、Nameに入っているためです。短いタイトル(商品、素材、特徴)を抽出し、残りをDescriptionまたは属性に移して解決します。Title Caseはデータを整理した後に適用するもので、整理の代わりにはなりません。
仕入先のカテゴリーをショップのカテゴリーとしてコピーする。「商品」「カテゴリー」に「CERAMICA」「Ceramica」「ceramiche」のような重複項目が多数作られ、テーマのフィルターが機能しなくなります。FAMIGLIAが、ショップで決めた分類体系と一致していないためです。先にWooCommerceでカテゴリー階層を作成し、対応表でマッピングします(FAMIGLIA「CER-VAS」→カテゴリー「花瓶」)。Googleの分類カテゴリーは別のフィールドです。ショップのスラッグではなく、確認なしにCSVへ推測で入れるものでもありません。
GTINを誤った場所に入れる、または作成する。フィードで識別子の欠落、重複、無効が報告され、商品ページではコードがメモ欄に表示されます。BARCODEをDescriptionに入れたか、第三者サイトからEANをコピーしたことが原因です。仕入先の資料(列、パッケージ写真、PDF)からのみコードを転記し、存在しなければ空欄にします。GTINをウェブで探したり、作成したりしてはいけません。
バリエーションを単純商品としてインポートする。「同じセーター、サイズ違い」の商品ページが複数作られ、URLも別々になり、最初の更新で価格が分かれます。価格表に子SKUごとの行があり、すべての行をType simpleでインポートしているためです。親をType variableにし、バリエーションに使う属性を設定します。子の行はType variation、Parentには親SKUを入れ、1行につき属性値を1つだけ設定します。WooCommerce開発者ブログによると、WooCommerce 11.1以降は各ショップでバリエーションギャラリーが有効になる予定です。親だけでなく、バリエーションごとの画像もマッピングするとよいでしょう。
陶器を販売し、約40商品を管理する職人の場合陶器を販売し、約40商品を管理する職人は、釉薬、直径、ケース入数が同じセルに入ったシートを工房から受け取ることがあります。この場合、マッピングは短く、一度行えば済みます。独自SKU、形と色を含む商品名、直径と釉薬の属性、配送用の重量を設定します。花瓶がそれぞれ一点物なら、可変商品は不要です。Type simple、個別の画像、Parentなしで対応できます。
仕入先のシートから公開カタログへCSVをインポートする
WooCommerceの標準CSVインポートで公開されるのは、すでにマッピングした情報だけです。まずテストファイルを読み込み、列を対応付け、下書きの商品ページを確認してから、カタログ全体をインポートします。
管理画面の手順は「商品」「インポート」です。WooCommerceはファイルを要求し、CSVの各見出しを既知のフィールドのプルダウンと並べて表示します。列名をName、SKU、Regular priceなどの標準名に変更していれば、対応付けはほぼ自動です。CODやDESCRを残している場合は手動で選択します。既存商品の更新オプションはSKUをキーに使います。SKUがなければ、更新ではなく新しい行が作成されます。
- まず公開済みの商品1件をCSVでエクスポートし(「商品」「エクスポート」)、列のひな型として使います。これはインポートが曖昧さなく理解できる語彙です。
- 仕入先の値を、その見出しの下にコピーします。元の価格表はアーカイブとして残し、インポート用ファイルは整理済みの派生ファイルにします。
- 最初の処理ではPublishedを-1(下書き)にします。これにより、汚れたタイトルがショップに公開されるのを防げます。
- ファイルをアップロードし、列ごとの対応を確認してインポートを開始します。その後、通常商品、バリエーション、画像なしの商品を1件ずつサンプル確認します。
- 商品ページを1件ずつ修正するのではなく、シートを直してSKUで更新インポートします。商品名、価格、在庫、属性が一致したら、Publishedを1にします。
仕入先からCSVではなく組版された価格表が届く場合、抽出作業はマッピングの前段階です。その場合は、PDFから商品データへ変換してから、列をWooCommerceのフィールドに合わせます。ラベル写真も同じです。まず見えている事実を抽出し、その後でSKU、商品名、属性に対応付けます。

大規模カタログのマッピングを手作業なしで効率化する方法
大規模カタログでは、インポート前に対応ルール、グローバル属性、カテゴリーを固定し、仕入先が実際に変更した列だけを更新すると、マッピングを効率化できます。
何千行もの商品を開き、タイトルを手作業で整理したくなるかもしれません。しかし、この方法は拡張できません。まずショップを準備します。「商品」「属性」で、色、サイズ、素材、ブランドをグローバル属性として作成し、ショップで使う値を登録します。「商品」「カテゴリー」でカテゴリー階層を確定します。マッピングシートでは、仕入先の値をこれらの一覧へ対応付けます。インポート時には既知の値が入力され、新しい値は一覧と一致しないため、すぐに確認できます。
- 価格表の更新では、SKUを使って価格、在庫、在庫状況だけを更新します。
- すでに読みやすい日本語に書き直したNameとDescriptionは、自動更新の対象外にします。
- 新規SKU用、更新用、バリエーション用にファイルを分けます。
- Parent列が埋まり、整合するまでは、同じCSVに単純商品とバリエーションを混在させません。
- フィールドが存在しない列(段階割引、最低発注量、卸売業者の内部メモ)はインポートファイルから除外します。
GTINは、販売者の資料、パッケージ写真、PDF、CSVの列からのみ読み取り、チェックデジットを通過したものを使います。作成したり、ウェブで探したりしてはいけません。同じ価格表を複数の販売チャネルに合わせる場合
同じ価格表を複数の販売チャネル(Amazon、eBay、Etsy)に合わせる場合、事実の管理元を決める必要があります。WooCommerceではSKU、ショップ用の商品名、価格、在庫を管理します。マーケットプレイスには、仕入先の生CSVではなく、派生したエクスポートを渡します。Amazon用タイトルをショップのNameに入れると、ショップで有用な表現が失われます。チャネルごとの属性またはエクスポート列を用意し、サイトの商品ページ向けに考えたNameを1つだけ持つ方がよいでしょう。
購入アシスタント向けのフィードを作る場合も、OpenAI仕様の9つのフィールド(item_id、title、description、url、brand、seller_name、image_url、availability、通貨付きのprice)を使います。GTINとMPNは任意です。これらのフィールドはWooCommerceのマッピング後に埋めるもので、NameやSKUの代わりではありません。linkとimage_linkという名称はMerchant Centerに属し、そのフィードの名称ではありません。
Katapicが価格表を正しいフィールドへ移す方法
KatapicはCSV、PDF、写真からデータを取り込み、確認済みの事実だけで空欄を補い、双方向の同期で商品ページをWooCommerceに送り返します。
仕入先からシートが届いた場合は、CSVインポートで作業用カタログに取り込みます。組版された価格表なら、ページごとの読み取りでテキストと埋め込み画像を抽出し、商品に対応付けます。写真からKatapicが商品、ブランド、カテゴリー、属性を認識し、すべて公開前に編集できます。空欄の補完は別の作業であり、明示的に依頼された場合に、出典付きで行います。
アカウント不要・読み取り専用で利用できる、公開WooCommerceカタログの無料スキャンでは、商品ページごとに2つのスコア(通常検索とアシスタント対応)に加え、欠落または誤ったフィールドについてのデータ準備状況のチェックが表示されます。関連性と完全性は無料アカウントで追加されます。Googleの分類カテゴリーはショップのカテゴリーごとに提案され、あなたが確認すると、確認済みのIDがフィードに入ります。バリエーションと思われる商品(サイズ、色、パッケージだけが異なる同じタイトル)は、1つの商品のバリエーションとして提案され、確認した場合にのみグループ化されます。
WooCommerceとの同期は双方向で、無料のプラグインを使います。商品ページの書き直しは主張の検証を経ます。ブランド、認証、ブランドの沿革は捏造しません。ウェブで見つかった寸法が販売者のタイトルと矛盾する場合は、販売者のデータが残ります。無料の修正(すべて大文字のタイトルのTitle Case化、HTMLの整理、商品の状態、メーカーGTINなしの表示、バリエーションのグループ化、Googleカテゴリーの確認)は、明示的に確認した場合にのみ適用され、取り消すこともできます。WooCommerceカタログを整えるなら、あなたがすでに持っている事実から始め、代わりに生成した文章から始めることはありません。
WooCommerceのCSVマッピングに関するよくある質問
CSVインポートでWooCommerce商品に必要なフィールドは何ですか?商品ページを作るには、少なくともNameが必要です。販売するにはRegular priceが必要で、在庫管理を有効にしている場合は、StockとIn stock?も必要です。SKUは作成フォームで必須ではありませんが、SKUがないとインポートで更新できず、重複が作られます。バリエーションがある場合はTypeが必要です。カテゴリー、画像、属性、GTINは公開を妨げませんが、これらの情報がない商品ページはショップとフィードにとって情報量が不足します。
仕入先ファイルの列をWooCommerceの商品フィールドにマッピングする方法は?対応表を作成します。価格表の各見出しに、転記先フィールド(SKU、Name、Regular price、Categories、Images、Attribute)とデータ整形ルールを割り当てます。その後、CSVの見出しを標準名に変更するか、「商品」「インポート」で手動対応します。まず10行を下書きとしてテストします。商品名、価格、属性が一致してから、SKUで更新しながら残りをインポートします。
仕入先のEANはWooCommerceの商品ページのどこに入れますか?EANは商品名や説明ではなく、商品のグローバル識別子(GTIN)に入れます。仕入先の資料に記載され、チェックデジットを通過する場合だけ転記します。列が空欄なら、フィールドも空欄のままにします。ウェブでコードを探したり、作成したりしてはいけません。EANをメモに入れてもフィードには入りませんし、商品ページの助けにもなりません。
SKUを重複させずにWooCommerceの商品CSVをインポートするには?各行にショップ内で一意のSKUを設定します。インポート時に既存商品の更新を選択すると、WooCommerceはSKUをキーとして使います。2社の仕入先が同じコードを使う場合は、SKUに接頭辞を付けます。SKUなしのファイルを複数回インポートしないでください。まず「商品」「すべての商品」でSKUを検索し、その後に価格と在庫の更新を実行します。
WooCommerce商品にGoogleカテゴリーを割り当てるには?ショップのカテゴリー(「商品」「カテゴリー」)は、Googleの分類カテゴリーとは別です。まず内部のカテゴリー階層を決め、仕入先の商品群をそこへマッピングします。その後、フィードで使う確認済みのGoogle IDを別途割り当てます。卸売業者のFAMIGLIA文字列をGoogleのフィールドにそのまま貼り付けないでください。確認がなければ、テーマで使うショップカテゴリーにとどまり、チャネル用の分類IDにはなりません。
仕入先のバリエーションが別々の行で届いた場合はどうなりますか?サイズや色ごとに1行あり、それらをsimpleとしてインポートすると、似た商品ページと別々のURLが作られます。正しいマッピングは、バリエーション属性を持つvariableの親商品と、Parentに親SKUを入れたvariationの子商品です。子の行には属性値を1つだけ入れます。バリエーション画像は親だけでなく子の行に紐付けることで、ギャラリーに正しい商品を表示できます。
PDFの価格表を、マッピングするCSVとして扱えますか?はい。ただし2段階で行います。まずページと表から事実(コード、商品名、価格、埋め込み画像など)を抽出してグリッドを作ります。そのグリッドに、CSVと同じマッピングルール(SKU、Name、価格、カテゴリー、属性)を適用します。抽出を省略し、ページ数の多いPDFから手作業でコピーすると、汚れたタイトルや空欄のフィールドが生まれます。
よくある質問
- CSVインポートでWooCommerce商品に必要なフィールドは何ですか?
- 商品ページを作るには、少なくともNameが必要です。販売するにはRegular priceが必要で、在庫管理を有効にしている場合は、StockとIn stock?も必要です。SKUは作成フォームで必須ではありませんが、SKUがないとインポートで更新できず、重複が作られます。バリエーションがある場合はTypeが必要です。カテゴリー、画像、属性、GTINは公開を妨げませんが、これらの情報がない商品ページはショップとフィードにとって情報量が不足します。
- 仕入先ファイルの列をWooCommerceの商品フィールドにマッピングする方法は?
- 対応表を作成します。価格表の各見出しに、転記先フィールド(SKU、Name、Regular price、Categories、Images、Attribute)とデータ整形ルールを割り当てます。その後、CSVの見出しを標準名に変更するか、「商品」「インポート」で手動対応します。まず10行を下書きとしてテストします。商品名、価格、属性が一致してから、SKUで更新しながら残りをインポートします。
- 仕入先のEANはWooCommerceの商品ページのどこに入れますか?
- EANは商品名や説明ではなく、商品のグローバル識別子(GTIN)に入れます。仕入先の資料に記載され、チェックデジットを通過する場合だけ転記します。列が空欄なら、フィールドも空欄のままにします。ウェブでコードを探したり、作成したりしてはいけません。EANをメモに入れてもフィードには入りませんし、商品ページの助けにもなりません。
- SKUを重複させずにWooCommerceの商品CSVをインポートするには?
- 各行にショップ内で一意のSKUを設定します。インポート時に既存商品の更新を選択すると、WooCommerceはSKUをキーとして使います。2社の仕入先が同じコードを使う場合は、SKUに接頭辞を付けます。SKUなしのファイルを複数回インポートしないでください。まず「商品」「すべての商品」でSKUを検索し、その後に価格と在庫の更新を実行します。
- WooCommerce商品にGoogleカテゴリーを割り当てるには?
- ショップのカテゴリー(「商品」「カテゴリー」)は、Googleの分類カテゴリーとは別です。まず内部のカテゴリー階層を決め、仕入先の商品群をそこへマッピングします。その後、フィードで使う確認済みのGoogle IDを別途割り当てます。卸売業者のFAMIGLIA文字列をGoogleのフィールドにそのまま貼り付けないでください。確認がなければ、テーマで使うショップカテゴリーにとどまり、チャネル用の分類IDにはなりません。
- 仕入先のバリエーションが別々の行で届いた場合はどうなりますか?
- サイズや色ごとに1行あり、それらをsimpleとしてインポートすると、似た商品ページと別々のURLが作られます。正しいマッピングは、バリエーション属性を持つvariableの親商品と、Parentに親SKUを入れたvariationの子商品です。子の行には属性値を1つだけ入れます。バリエーション画像は親だけでなく子の行に紐付けることで、ギャラリーに正しい商品を表示できます。
- PDFの価格表を、マッピングするCSVとして扱えますか?
- はい。ただし2段階で行います。まずページと表から事実(コード、商品名、価格、埋め込み画像など)を抽出してグリッドを作ります。そのグリッドに、CSVと同じマッピングルール(SKU、Name、価格、カテゴリー、属性)を適用します。抽出を省略し、ページ数の多いPDFから手作業でコピーすると、汚れたタイトルや空欄のフィールドが生まれます。


