2024年9月23日に WooCommerce developer blog に掲載された Recent updates to error handling and optional remote error logging の翻訳記事です。
WooCommerce 9.4のリリースに伴い、エラーハンドリングの改善と、オプションでのリモートエラーロギングシステムが導入されました。これらの更新は、WooCommerceの安定性を高め、開発者やストアオーナーが問題をより迅速に解決できるよう設計されています。
対象ユーザー
これらの改善は、使用状況追跡を有効にしているストアにのみ適用されます。収集するデータやプライバシーに関する詳細は、WooCommerceの使用状況追跡をご覧ください。ストアは、WooCommerce > 設定 > 高度な設定 > WooCommerce.comで「使用状況追跡を有効にする」のチェックボックスを選択または解除することで、データ共有のオプトインまたはオプトアウトが可能です。
WooCommerce 9.4で導入されるオプションのリモートエラーロギング
WooCommerce 9.4では、使用状況追跡にオプトインしているユーザー向けに、オプションのリモートエラーロギングシステムが導入されます。
- リモートエラーロギングのEpic: #49276
- サーバーサイドのリモートエラーロギングの実装: #49599
- JSリモートロギングパッケージの追加: #49702
利点
このリモートロギング機能には以下の利点があります:
- 迅速な修正: 詳細なエラーデータにより、問題の解決が迅速になります。
- 安定性の向上: エラーの早期検出により、WooCommerce の体験がより安定します。
- 洞察の向上: 集約されたエラーデータは、開発の優先順位を決定する際に役立ち、ユーザーにとって重要な領域に焦点を当てることができます。
データのプライバシーとセキュリティ
ユーザープライバシーを重視し、以下の対策を講じています:
- オプトインのみ: リモートロギングは、使用状況追跡に明示的にオプトインしたユーザーにのみ有効です。
- データのサニタイズ: エラートレース内のファイルパスやURL文字列は、機密情報を除去するようサニタイズされます。
- 高度なデータ保護: 以下の機密情報は自動的に編集されます:
- メールアドレス
- 電話番号
- クレジットカード番号
- IPアドレス
- データ収集の制限: エラーの診断と解決に必要な情報のみを収集します。URLのクエリパラメータも、機密情報を収集しないようプレースホルダーに置き換えられます。
収集するデータやプライバシーに関する詳細は、WooCommerceの使用状況追跡をご覧ください。
リモートロギングシステムは、サーバーサイド(PHP)またはクライアントサイド(JavaScript)でエラーが発生したかに応じて、異なる情報セットをキャプチャします。
リビジョン履歴
WooCommerce 9.5では、以下の重要なプライバシー強化が行われます:
- WooCommerceによって特定されたエラーのみをログに記録するよう変更(以前はトレース内にWooCommerceファイルが含まれるすべてのエラーを記録していました)
- メールアドレス、電話番号、クレジットカード番号、IPアドレスなどの機密ユーザーデータの自動編集を追加
どのような情報をログに記録しているか?
共通フィールド
すべてのログには以下が含まれます:
- host: サイトのホスト名
- request_uri: リクエストのURL
- message: エラーメッセージ
- trace: エラースタックトレース
- wc_version: WooCommerceのバージョン
- wp_version: WordPressのバージョン
- tags: エラーの種類を識別するタグ(例: PHP、JS)
PHP特有のフィールド
サーバーサイドのログには追加で以下が含まれます:
- php_version: サーバーで動作しているPHPのバージョン
- store_id: WooCommerceストアの一意の識別子
- JavaScript特有のフィールド
クライアントサイドのログには追加で以下が含まれます:
- browser_version: ユーザーのブラウザバージョン
- browser_name: ユーザーのブラウザ名
WooCommerce をインストールすると、リモートログ機能はデフォルトで無効になります。使用状況の追跡を有効にした場合にのみ有効になります。

使用状況の追跡を有効にしていて、リモートエラーログを無効にしたい場合は、woocommerce_feature_remote_logging_enabled オプションを no に設定することで無効にできます。たとえば、WP CLI 経由で wp option update woocommerce_feature_remote_logging_enabled no を実行して、この機能を無効にすることができます。これは他の追跡機能には影響しません。
WC Admin のエラー処理の改善
WooCommerce 9.1 では、WC Admin ページのエラー処理を強化し、安定性と回復力を高めました。
WC Admin コンポーネントツリーの最上部にグローバルエラー境界を追加しました。これにより、未処理のエラーがキャッチされ、WC Admin アプリ全体がクラッシュするのを防ぎます。
- React 管理でエラーを処理するためのグローバル ErrorBoundary コンポーネントを追加 #48250
- アクティビティ パネルをエラー境界でラップ #48415
利点
- 処理されないエラーによるアプリ全体のクラッシュを防止
- ユーザーフレンドリなエラーメッセージを表示
- ページを再読み込みするか、コミュニティからサポートを求めるオプションをユーザーに提供


また、@woocommerce/components パッケージに実験的な汎用エラー境界コンポーネントも導入しました。このコンポーネントは、エラーを UI の特定の部分に分離し、他のコンポーネントが正常に機能し続けることを可能にします。

フィードバックと貢献
私たちはあなたのフィードバックと貢献を大切にしています。ご質問やご提案がある場合、または貢献したい場合は、以下にコメントを残すか、リモート エラー ログに関する GitHub ディスカッションに参加してください。あなたのご意見をお待ちしています!
開発者とユーザーの両方のために WooCommerce を強化し続けるので、今後のアップデートにご期待ください!

