メインコンテンツにスキップ
バージョン: 1.x

プラグインの競合

プラグインの競合は、WCPOSの問題の最も一般的な原因の1つです。他のWordPressプラグインがWooCommerceやWCPOSの機能に干渉すると、クラッシュ、パフォーマンスの問題、または予期しない動作が発生する可能性があります。

プラグイン競合の兆候

以下の症状がある場合、プラグインの競合が発生している可能性があります:

  • 致命的エラー - 「このウェブサイトで致命的なエラーが発生しました」
  • パフォーマンスの問題 - 読み込みの遅さ、タイムアウト、高負荷
  • 機能の問題 - 期待通りに動作しない機能
  • データ同期の問題 - 製品、注文、または顧客が正しく同期しない
  • 決済ゲートウェイの問題 - チェックアウトの失敗や決済処理エラー

始める前に: ステージングサイトを使用する

重要

本番サイトでプラグインの競合をトラブルシューティングしないでください。 ビジネスの運営に影響を与えないよう、常にステージング環境を使用してください。

ステージングサイトとは?

ステージングサイトは、顧客に影響を与えずに変更を安全にテストできる本番サイトの正確なコピーです。ほとんどの最新のホスティングプロバイダーは、標準機能としてステージング環境を提供しています。

ホスティングプロバイダーがステージングを提供しない場合

ホスティングプロバイダーがステージングサイトを提供しない場合は、提供しているホストに切り替えることを検討してください。これは今や標準機能であり、以下のために重要です:

  • 安全なプラグイン/テーマテスト
  • WordPressの更新
  • 問題のトラブルシューティング
  • 開発作業

ステージングがある推奨ホスト:

  • WP Engine
  • SiteGround
  • Kinsta
  • Cloudways
  • その他多数

ステップ1: 致命的エラーをチェック

クラッシュや致命的エラーが発生している場合は、まずエラーログを確認してください:

  1. WCPOSのログを確認 - エラーメッセージが表示されるログ画面を開きます
  2. 致命的エラーログを確認 - 詳細なエラーメッセージを見つけるにはクリティカルエラーのトラブルシューティングガイドに従います
  3. エラーの詳細をメモ - エラーに言及されているプラグイン名やファイルパスを探します

特定のプラグインに言及した致命的エラーが見つかった場合、それが原因である可能性が高いです。そのプラグインを無効にし、問題が解決されるかテストできます。

ステップ2: プラグイン排除法

ログに致命的エラーがない場合、またはパフォーマンス関連の競合を特定したい場合は、次の系統的アプローチを使用します:

2.1 基準を設定する

  1. ステージングサイトにアクセス
  2. 問題のある機能をテスト - 正確に何が動作していないかや遅いかをメモします
  3. パフォーマンス指標を記録 - パフォーマンス問題の場合、ログから実行時間をメモします

2.2 すべてのプラグインを無効にする(必須のものを除く)

以下のプラグインはアクティブのままにします:

  • WooCommerce
  • WCPOS
  • WCPOS Pro(持っている場合)

それ以外はすべて無効にします:

  1. WP Admin > プラグインに移動
  2. 他のすべてのプラグインを選択
  3. バルクアクションのドロップダウンメニューから「無効化」を選択
  4. 「適用」をクリック

2.3 問題をテストする

  1. キャッシュをクリア - キャッシュプラグインを使用している場合、すべてのキャッシュをクリアします
  2. 問題のある機能をテスト - それは今動作しますか?
  3. パフォーマンスを確認 - 実行時間は改善されましたか?

問題が解決された場合: プラグインの競合があります。ステップ2.4に進みます。

問題が継続する場合: 問題はプラグインの競合ではない可能性が高い。考慮すべきこと:

  • サーバーリソースの問題(サーバーパフォーマンスを参照)
  • テーマの競合(ステップ3を参照)
  • WordPress/WooCommerceのコアの問題

2.4 プラグインを1つずつ有効にする

さて、どのプラグインが競合を引き起こしているのかを特定する必要があります:

  1. 1つのプラグインを有効にする - 最も重要なものから始めます
  2. 機能をテスト - 問題が戻ってきたか確認します
  3. 問題がない場合 - 次のプラグインを有効にして再テストします
  4. 問題が戻る場合 - 競合しているプラグインを見つけました!

プラグインの優先順序(この順番で有効にする):

  1. セキュリティプラグイン - Wordfence、Sucuri など
  2. SEOプラグイン - Yoast、RankMath など
  3. パフォーマンスプラグイン - キャッシング、最適化
  4. 決済ゲートウェイ - Stripe、PayPal など
  5. その他のWooCommerce拡張
  6. 一般的なWordPressプラグイン

2.5 調査結果を文書化する

競合プラグインを特定したら:

  1. プラグイン名とバージョンをメモ
  2. それが引き起こす特定の問題を文書化
  3. 更新バージョンが利用可能か確認
  4. 同様の機能を提供する代替プラグインを探す

ステップ3: テーマの競合をチェックする

テーマがWCPOSに影響を与えることはまれですが(独自のインターフェースを使用しているため)、以下の場合に問題を引き起こすことがあります:

  • チェックアウトプロセス(Webチェックアウトゲートウェイを使用している場合)
  • 管理エリアの機能
  • APIレスポンス

デフォルトテーマでテストする

  1. ステージングサイトで、デフォルトのWordPressテーマに切り替えます:
    • Twenty Twenty-Four
    • Twenty Twenty-Three
    • Twenty Twenty-Two
  2. 問題のある機能をテスト
  3. 問題が解決された場合 - あなたのテーマに競合があります
テーマの影響

テーマがプラグインよりもWCPOSの問題を引き起こす可能性は低いです。POSインターフェースはテーマとは独立して動作します。ただし、テーマは以下に影響を与える可能性があります:

  • WooCommerceのチェックアウトページ
  • WordPressの管理機能
  • REST APIのレスポンス

ステップ4: プラグインの競合を解決する

競合するプラグインを特定したら、いくつかの選択肢があります:

オプション1: プラグインを更新する

  1. 更新を確認 - 競合が新しいバージョンで修正されているかもしれません
  2. まずステージングサイトでプラグインを更新します
  3. 本番サイトで更新する前に徹底的にテストします

オプション2: 代替品を見つける

  1. 同じ機能を提供する代替プラグインを調査する
  2. ステージングサイトで代替プラグインをテストする
  3. プラグインを切り替える際に設定を移行します

オプション3: プラグイン開発者に連絡する

  1. 競合をプラグイン開発者に報告する
  2. 詳細情報を提供します:
    • 関与するプラグインのバージョン
    • WordPressおよびWooCommerceのバージョン
    • 正確なエラーメッセージや動作
    • 問題の再現手順

オプション4: カスタムソリューション

置き換えができない必須プラグインについて:

  1. WordPress開発者に連絡して、カスタム修正を作成します
  2. 競合している機能を無効にするためのプラグイン固有のフックを検討します
  3. POS関連ページでプラグインを無効にするための条件論理を利用します

一般的な競合プラグインタイプ

高リスクプラグインカテゴリ

セキュリティプラグイン:

  • APIリクエストをブロックする可能性があります
  • 認証に干渉する可能性があります
  • 攻撃的なファイアウォール規則を持つことがよくあります

キャッシングプラグイン:

  • APIレスポンスを不適切にキャッシュする可能性があります
  • リアルタイムデータに干渉する可能性があります
  • 古いデータの問題を引き起こす可能性があります

SEOプラグイン:

  • 重いプラグインは管理エリアを遅くする可能性があります
  • 不要なデータベースクエリを追加する可能性があります
  • REST APIレスポンスに干渉する可能性があります

ページビルダー:

  • 管理エリアに重いスクリプトをロードすることがよくあります
  • WooCommerceの管理ページと競合する可能性があります
  • チェックアウトプロセスに干渉する可能性があります

メンバーシップ/制限プラグイン:

  • APIアクセスをブロックする可能性があります
  • ユーザー認証に干渉する可能性があります
  • 必要なリソースへのアクセスを制限する可能性があります

低リスクプラグインカテゴリ

コンタクトフォーム: 通常WCPOSに干渉しません ソーシャルメディアプラグイン: 競合を引き起こすことはまれです 分析プラグイン: 非常に重いものでない限り一般的に安全です 基本的なコンテンツプラグイン: 通常互換性があります

既知のプラグイン競合

以下のプラグインは WCPOS に干渉することが知られています。多くの問題は最近の WCPOS バージョンですでに自動的に修正されています — 最新バージョンに更新することで、設定なしにそれらが解決されます。

ほとんどの修正は「POS を除外する」です

共通点は次のとおりです。WCPOS は WooCommerce REST API に依存しており、一部のフロー(ログイン、支払い、レシート)を iframe でレンダリングします。通常の修正は、他のプラグインから POS エンドポイント/URL/wp-json/wcpos//wp-json/wc/v3//pos/ パス)を除外することであり、プラグインを完全に無効にすることではありません。

セキュリティ・ログインプラグイン

これらは、特にデスクトップ/モバイルアプリのログインにおいて、最も一般的な競合の原因です。

プラグイン症状修正
Wordfenceファイアウォールが REST API をブロックする;2FA コードフィールドがログイン iframe 内でレンダリングされない;制限的な CSP が POS アセットをブロックすることがあるファイアウォールで /wp-json/wcpos//wp-json/wc/v3/ をホワイトリストに登録します。2FA の場合:POS ユーザーに対して一時的に無効にします。CSP は v1.9.0 以降で自動的に除去されます
Really Simple SecurityAPI アクセスをブロックする/リダイレクトを強制するプラグインの Advanced 設定で REST API の制限を無効にします
WPS Hide Loginカスタムログイン URL がアプリのログイン iframe を壊すPOS アクセスには標準の /wp-admin/ ログイン URL を使用します
iThemes / Solid SecurityREST API をブロックするか、POS 呼び出しからブルートフォースロックアウトをトリガーするPOS エンドポイントとサーバー自身の IP のみをホワイトリストに登録します — 一律の IP ルールは避けてください
SucuriWAF が API リクエストをブロックするSucuri ダッシュボードで REST API エンドポイントをホワイトリストに登録します
Security Optimizer管理者の POS ログインをブロックする(「カスタムログイン URL を使用してください」最初にカスタム URL から WP Admin にログインし、その後 /pos に移動します
Force Login(および類似の REST 認証プラグイン)/wp-json/ が 401/403 を返す;古いアプリは 「サイトが WordPress サイトではないようです」 と報告したPOS エンドポイントへの未認証アクセスを許可するか、初回接続時に無効にします。v1.x のアプリは実際のエラーメッセージを表示するようになりました
LoginPressメールベースのログインを強制する;マルチユーザーの POS ログインを壊すユーザー名でのログインを許可するか、POS アクセスに対して無効にします
JWT Authentication プラグイン有効化後、すべての POS API リクエストで 403(ログインは成功しても、それ以外はすべて失敗する)v1.8.x 以降で自動修正されました。古いバージョンでは、JWT プラグインを無効化するか、POS エンドポイントを除外します
Captcha / reCAPTCHAデスクトップアプリでのログインループ(captcha が iframe 内でレンダリングできない)POS ログイン URL に対して captcha を無効にします
Defender ProX-Frame-Options ヘッダーがすべての POS iframe(ログイン、支払い、レシート)をブロックするサイト全体で X-Frame-Options を無効にするのではなく、/pos/ に POS 固有の例外を追加します
Jetpack CRM Client PortalPOS ログインを完全に壊すClient Portal 拡張機能だけを無効にします

パフォーマンス・キャッシュ・最適化プラグイン

プラグイン症状修正
WP Rocket, Autoptimize, Hummingbird, SmushJS の遅延/最小化がチェックアウトと Stripe Terminal を壊すJS 最適化から /pos/ URL を除外します
LiteSpeed Cacheデスクトップアプリのチェックアウトで絶え間ないリロードループ;制限的な CSPWCPOS を更新し、キャッシュをパージし、POS ページをキャッシュから除外します。CSP は v1.9.0 以降で自動除去されます
Image PrioritizerHTTP の Link ヘッダーをスパムし、REST API ディスカバリーを壊す;デスクトップアプリが 「WordPress サイトではないようです」 と表示するプラグインを無効化します

ページビルダー・フロントエンドインジェクター

プラグイン症状修正
Elementorelementor-frontend.js が POS iframe 内のチェックアウトアコーディオンを壊す — 支払い方法が展開されないElementor のスクリプト読み込みから POS ページを除外します
Omnisend / マーケティングプラグインチェックアウト iframe にスクリプトを注入し、レイアウトと支払いを壊すPOS の Checkout Settings を使用して、不要なスクリプトを無効にします
MyStickyElements / Complianzチェックアウト iframe にオーバーレイ(固定ボタン、Cookie バナー)を注入する/pos/ URL を除外するように設定します

WooCommerce 拡張機能・その他のプラグイン

プラグイン症状修正
WooCommerce Subscriptionsv1.7→v1.8 のアップグレード中の移行スクリプトの競合Subscriptions を無効化し、POS Pro を有効化し(移行を実行させ)、その後再度有効にします
WP Activity Logすべての POS アクションをログに記録 → postmeta の肥大化 → 「商品が 10 件しかない」無効化するか、POS の投稿タイプをログ記録から除外します
Jetpack / Astra / Xerosave_post にフックするもの全般)すべての POS API 呼び出しで重複したメタ行(あるストアでは 1 つの商品で 36,867 行に達した)クリーンアップ移行により v1.8.12 以降(無料)/ v1.8.14 以降(Pro)で自動修正されました — 更新するだけです
Stripe TaxREST API で作成された注文(POS が注文を作成する方法)と互換性がない回避策なし — 互換性がありません
MollieBACS(銀行振込)方法を POS チェックアウトから隠すことがあるMollie を最新バージョンに更新します
CTX FeedPOS 設定ページで断続的な 403 エラー確認のために無効化します;既知の回避策はありません
サードパーティのバーコードスキャナープラグイン注文 API の JSON を破損させ、注文の作成/表示を壊すそれらを無効化します;POS の組み込みバーコードスキャンを使用します
MailerLite(Signup Forms + WooCommerce)POS の注文作成で 500 エラー(メモリ枯渇)確認のために無効化し、その後 MailerLite に連絡します
The Courier Guy ShippingPOS の注文作成がサーバーエラーで失敗する以前のバージョンにロールバックするか、開発者に連絡します
PixelYourSite / PixelMySite致命的エラー:bool に対するメンバー関数 is_type() の呼び出し一時的に無効化します
Google Listings & Adsオートローダーの競合 → 「Class WCPOS\…\Stores not found」 クリティカルエラーすべての POS プラグインを削除し、最新の Pro スタンドアロンのみを再インストールします
Stripe Terminal:グローバルに有効にしないでください

Stripe Terminal ゲートウェイは POS Settings 内でのみ有効にし、WooCommerce > Settings > Payments では決して有効にしないでください。グローバルに有効にすると、公開ストアのチェックアウトに表示され、オンラインチェックアウトフローがクラッシュします。

サーバーレベルの競合

原因症状修正
カスタム CSP ヘッダー.htaccess、Nginx、またはセキュリティプラグイン)POS がロゴで止まる;JS/CSS がブロックされるv1.9.0 以降では POS ページで自動除去されます。サーバーレベルの CSP の場合は、script-src/style-srccdn.jsdelivr.net を許可するか、/pos/ の例外を追加します
GoDaddy Website Firewall/wp-json/ をブロックする(「Received 'undefined'」ファイアウォールで /wp-json/ の URL パスを許可します — サーバーパフォーマンスを参照

予防のヒント

定期的なメンテナンス

  1. プラグインを最新に保つ - 常に最新のバージョンを使用します
  2. 未使用のプラグインを削除 - 無効化するだけでなく、削除します
  3. 本番サイトに適用する前にステージングで更新をテストします
  4. サーバーパフォーマンスのメトリックを使用して、パフォーマンスを定期的に監視します

プラグイン選択のベストプラクティス

  1. 信頼できる開発者を選ぶ - レビューと更新頻度を確認します
  2. 冗長な機能を避ける - 同じことを行う複数のプラグインをインストールしないでください
  3. 互換性情報を読む - プラグインがWooCommerceとテストされているか確認します
  4. 最小限のプラグインから始める - 必要に応じて機能を徐々に追加します

ヘルプを得る

プラグインの競合を解決できない場合:

Proユーザー向け

Proサポート

Proユーザーはプラグイン競合の解決に対して優先サポートを受けます。私たちのチームがあなたのために競合を特定し、解決する手助けをします。

コミュニティサポート

サポートに連絡する際

以下を提供してください:

  1. アクティブなプラグインのリストとバージョン
  2. WordPressおよびWooCommerceのバージョン
  3. 問題の詳細な説明
  4. すでに試した手順
  5. ログからのエラーメッセージ
  6. 関連する場合はサーバーパフォーマンスメトリック