
ステージングサイトに新しいWooCommerce商品を追加し、注文や取引などの他のデータに影響を与えずに、その新商品だけを本番サイトに反映したいと思うことがあるでしょう。そのため、WooCommerceの商品データを含む関連テーブルのみをコピーするように注意する必要があります。
商品の保存場所を知ることが重要な理由
WooCommerceの商品がどこに保存されているかを理解しておくと、以下のような場面で役立ちます:
- カスタムクエリ: レポートやカスタム機能のためにSQLクエリで商品データを取得する。
- データベースの最適化: 不要なデータをクリーンアップしてパフォーマンスを向上させる。
- トラブルシューティング: 商品詳細の欠落や誤りに関する問題を解決する。
- データ移行: 異なるWordPressインストール間で商品を移動する。
WooCommerceの商品データを保存する主要なテーブル
WooCommerceは商品データを主に次の2つのテーブルに保存します:
wp_posts– post typeがproductまたはproduct_variationの商品エントリを含みます。

wp_postmeta– 各商品の追加メタデータを保存し、post_id(商品ID)で関連付けられます。

商品のカテゴリー、タグ、属性を保存するテーブル
中核となる商品テーブルに加えて、WooCommerceは商品タイプ、カテゴリー、サブカテゴリー、タグ、属性を管理するために、いくつかの分類体系(タクソノミー)関連のテーブルを使用します:
wp_terms– 商品のカテゴリーとタグを保存します。wp_termmeta– 商品タームのメタデータを保存します。wp_term_taxonomy– タクソノミーのタイプ(例: カテゴリー、タグ、属性)を定義します。wp_term_relationships– 商品とそのカテゴリーや属性を結びつけます。wp_woocommerce_termmeta– WooCommerce固有の追加タームデータを保存します。wp_woocommerce_attribute_taxonomies– 商品属性を特に管理します。
WooCommerceの商品タイプと表示設定
WooCommerceはproduct_typeタクソノミーを使ってさまざまな商品タイプを扱います。これには次のデフォルトオプションが含まれます:
simple– バリエーションのない標準商品。grouped– 関連商品の集まり。variable– 複数のバリエーションを持つ商品。external– 外部のウェブサイトで販売される商品。
WooCommerce 3以降では、product_visibilityという新しいタクソノミーが次を管理します:
- 検索とカタログでの表示 –
exclude-from-searchやexclude-from-catalogなどの用語を使用します。 - おすすめ商品 –
featuredという用語で識別されます。 - 在庫状況 – 在庫切れの商品を示すために
outofstockを使用します。 - 評価 –
rated-1からrated-5までの用語が商品レビューを分類します。
各商品属性はカスタムタクソノミーとして保存されるため、商品を動的に分類・フィルタリングしやすくなります。
本番サイトへ商品データをコピーする際のベストプラクティス
新しい商品をステージングサイトから本番サイトへ移動するときは、注文や顧客の取引などの重要なデータを上書きしないようにしてください。そのためには:
- 関連テーブルのみコピー –
wp_posts、wp_postmeta、およびタクソノミー関連のテーブルに集中します。 - 注文関連テーブルを除外 – 必要でない限り、
wp_woocommerce_プレフィックスのテーブルは避けます。 - データベース移行ツールを使用 – WP Migrate DB ProやWP All Exportなどのプラグインがプロセスを効率化できます。
まとめ
WooCommerceの商品は主にwp_postsとwp_postmetaに保存され、カテゴリー、属性、表示設定は関連するタクソノミーテーブルで管理されます。この構造を理解しておくと、本番ストアの運用に影響を与えずに商品データを安全に移行するのに役立ちます。
参考資料:
- 標準のテーブル: WordPressデータベースの説明
- 専用のテーブル: WooCommerceデータベースの説明