WooCommerce から Shopify へ商品データを移行する方法はいくつかあります。ShopifyのビルトインのCSVインポート機能を使ってもいいと思いますが、今回は Matrixify のアプリを使って行う方法をご紹介します。
Matrixify の最大の特徴は、WooCommerce API に直接接続してデータを取得する点です。
これにより:
- より多くのデータにアクセス可能
- ファイル操作によるエラーを最小化
- WooCommerce のカスタムフィールドを Shopify のメタフィールドとして移行可能
- 商品説明・コレクション説明内の画像も Shopify へ移行可能
移行できるデータ
| WooCommerce | Shopify |
|---|---|
| 商品(ゴミ箱含む) | 商品(アーカイブとして) |
| カテゴリ | カスタムコレクション |
| 商品・カテゴリ URL | リダイレクト(自動生成) |
| 顧客 | 顧客 |
| 注文 | 注文 |
| クーポン | ディスカウント |
前提条件: WooCommerce API バージョン 3(WooCommerce 3.5 以上)が必要です。
確認方法:https://<あなたのドメイン>/wp-json/wc/v3/にアクセスして JSON が表示されれば OK です。
ステップ 1:WooCommerce API 認証情報を生成する
WordPress 管理画面から以下の順で操作します:
WooCommerce → 設定 → 高度な設定 → REST API → キーを追加

以下の項目を入力します:
| 項目 | 設定内容 |
|---|---|
| 説明 | 任意の名前(例:Matrixify 移行用) |
| ユーザー | API にアクセスするユーザーを選択(基本的に管理者でOK) |
| 権限 | 読み取り(Read) を選択 |
「API キーを生成する」ボタンをクリックすると、Consumer Key と Consumer Secret が表示されます。この2つを必ず控えておいてください。
※キーはセキュリティのため、1度しか表示されません。必ずメモ帳にコピペしておくなどしてください。
ステップ 2:WooCommerce API URL を構築する
以下のテンプレートで URL を組み立てます:
https://<Consumer Key>:<Consumer Secret>@<ドメイン>
例:
https://ck_00a000000a0a00a0000000000a0aaa0a0a0aaa00:cs_1bb111b11111b1b11b1111111111b11bb1b1bbb1@your-woo-domain.com
オプション:移行データを絞り込む URL パラメータ
特定のデータのみ移行したい場合は URL の末尾にパラメータを追加します。
特定エンティティのみ移行
?only=customers,products
指定できる値:products / categories / customers / orders / coupons
注文の絞り込み
?only=orders&orders_created_since=2020-01-01T00:00:00&orders_created_before=2021-01-01T00:00:00&order_status=completed
| パラメータ | 説明 |
|---|---|
order_status |
pending / processing / on-hold / completed / cancelled / refunded / failed / trash |
orders_created_since |
指定日時以降に作成(ISO8601形式) |
orders_created_before |
指定日時より前に作成(ISO8601形式) |
orders_updated_since |
指定日時以降に更新 |
orders_updated_before |
指定日時より前に更新 |
顧客の絞り込み
?only=customers&customer_role=subscriber&customers_updated_since=2023-01-01T00:00:00
customer_role に指定できる値:all / administrator / editor / author / contributor / subscriber / customer / shop_manager
商品の絞り込み
?only=products&product_status=pending,publish&products_updated_since=2023-01-27T00:00:00
product_status に指定できる値:draft / pending / private / publish
差分移行(再移行・追加移行に便利)
以前に移行済みで、更新分だけ追加移行したい場合:
?products_updated_since=2023-10-28T00:00:00&orders_updated_since=2023-10-28T00:00:00&customers_updated_since=2023-10-28T00:00:00
ステップ 3:Matrixify アプリで新規インポートジョブを開始する
- Matrixify アプリの「Import」セクションを開く
- 構築した URL を貼り付け、「Upload from URL」ボタンをクリック
- 新しいインポートページが開き、インポート内容を確認できます

エラーが出る場合: Cloudflare WAF が接続をブロックしている可能性があります。
Matrixify の IP アドレス54.218.250.7をホワイトリストに追加してください。
※この方法を使用したとしても、 Matrixify の無料プランでは、最大 10件しか一度にインポートすることができません。10件以上のすべての商品を一度に追加するには有料プランにする必要があります。
ステップ 4:ジョブ内容を確認し「Dry Run」を選択する
インポートページで以下を確認します:
- Format が「WordPress / WooCommerce API」と表示されているか
- 各エンティティのアイテム数が正しいか
※ WooCommerce API はゲスト購入者(アカウントなし)の顧客情報を返さないため、顧客数が WooCommerce 管理画面より少なく表示されることがあります。ご安心ください—ゲスト顧客は注文データから自動的に作成されます。
次に「Options」セクションで Dry Run にチェックを入れます。
Dry Run とは:実際にインポートせずにデータ変換のみ行い、結果ファイルを生成する機能です。インポート前にデータを確認・修正できます。
ページ上部または下部の「Import」ボタンをクリックして Dry Run を開始します。
ブラウザを閉じても処理はサーバー上で継続されます。完了するとメールで通知が届きます。
ステップ 5:生成された ZIP ファイルをダウンロードして解凍する
Dry Run(またはインポート)完了後、「Download Import Results」ボタンをクリックして ZIP ファイルをダウンロードします。
解凍すると以下が含まれています:
📁 解凍フォルダ
├── 📁 Images/ ← 商品・コレクション説明内の画像ファイル
└── 📄 Import_Result.xlsx ← 変換されたデータファイル
商品メイン画像・コレクションのアイキャッチ画像は Images フォルダには含まれません。Excel ファイルの画像 URL から Shopify が自動でダウンロードします。
ステップ 6:画像を Shopify ファイルにアップロードする
旧 WooCommerce サーバーを停止する前に、説明文内の画像を Shopify にホストさせます。
- Shopify 管理画面 → コンテンツ → ファイル を開く
- 「アップロード」ボタンをクリック
- 解凍した
Imagesフォルダ内のすべてのファイルを選択(Ctrl+A/Cmd+A)してアップロード
⚠️ 画像のファイル名は変更しないでください。ファイル名を変えると、Excel ファイル内のリンクと一致しなくなります。
ステップ 7:「Import_Result」Excel ファイルを確認・編集する
画像アップロード後、生成された Excel ファイルの内容を確認します。
このタイミングでデータのクリーンアップを行うことを強くおすすめします:
- 不完全な電話番号の修正
- 誤字の修正
- バリアントオプション名の統一
- 不要なデータの削除
Shopify に対応するフィールドがないデータは、自動的にメタフィールドとして設定されます。
Excel ファイルのシート構成
| シート名 | 内容 |
|---|---|
| Products | 商品データ(バリアント・画像含む) |
| Custom Collections | コレクション(WooCommerce カテゴリから変換) |
| Redirects | URL リダイレクト(自動生成) |
| Customers | 顧客データ(住所含む) |
| Orders | 注文データ(返金・配送情報含む) |
| Discounts | ディスカウント(クーポンから変換) |
各シートの注意点
商品(Products)
- WooCommerce で4つ以上のオプションがある場合、3つ目以降のオプションは
|で連結されてオプション3に統合されます short_descriptionはデフォルトでメタフィールド(Metafield: woo.short_description)に保存されます。必要に応じてBody HTMLやMetafield: description_tagに移動してください
ディスカウント(Discounts)
WooCommerce と Shopify のクーポン仕様の違いにより、以下のような警告・エラーが発生することがあります:
| メッセージ | 対処法 |
|---|---|
| コレクションと商品・バリアントを同時に指定できない | WooCommerce 側でどちらかに統一してから再移行 |
| 「セール品を除外」はShopifyに変換不可 | Shopify 内で代替のプロモーション戦略を検討 |
| 「除外商品」はShopifyに変換不可 | 適用対象商品を明示的に指定 |
| メールアドレスに対応する顧客が見つからない | Shopify で該当の顧客レコードを作成 |
| 「送料無料を許可」はShopifyで別途設定が必要 | Shopify の配送設定で送料無料を設定 |
| 「除外カテゴリ」はShopifyに変換不可 | 適用対象コレクションを明示的に指定 |
ステップ 8:Shopify のスタッフ注文通知を無効にする
大量の注文をインポートする前に、注文通知メールが大量に届かないよう設定します:
Shopify 管理画面 → 設定 → 通知 → 「スタッフ注文通知」を無効化
ステップ 9:最終 Excel ファイルを Matrixify にインポートする
- Matrixify アプリの「Import」セクションを開く
- 確認・編集した
Import_Result.xlsxをアップロード - フォーマットが「Matrixify」と認識されていることを確認
- 今回は Dry Run を選択しない
- 「Import」ボタンをクリックしてインポート開始
ブラウザを閉じても処理は続きます。完了後にメールで通知が届きます。
ステップ 10:Shopify で移行データを確認する
インポート完了後、ステータスが緑色の「Finished」と表示されます。
Shopify 管理画面で移行されたデータを確認しましょう:
- 商品ページ
- コレクション
- 顧客リスト
- 注文履歴
- ディスカウント
トラブルシューティング
インポートで一部が「Failed」になった場合
- インポート結果の「Import Results」ファイルをダウンロード
- 各シートの「Import Comment」列でエラー理由を確認
- 問題を修正して、失敗した行だけ再インポート
Dry Run をスキップしたい場合
Dry Run は任意です。スキップして直接インポートすることも可能です。その場合でも変換後の Import Result ファイルと画像フォルダは生成されるので、画像のアップロードは必ず行ってください。
速度を上げたい場合
上位プランにアップグレードすることで並列処理数が増加し、インポート速度が向上します(Enterprise プランでは最大 10 並列処理)。

