アクティビティログとWordPressマルチサイト
アクティビティログはWordPressのマルチサイトネットワークと完全に互換性があります。ネットワーク全体で有効にして1か所からすべてのサイトを監視するか、個々のサイトで有効にしてより詳細な制御を行います。
このガイドでは、アクティビティログがWordPressマルチサイトネットワークでどのように機能するか、有効化、イベント記録、サイト固有のフィルタリングについて説明します。
マルチサイトネットワークでの有効化
アクティビティログは、マルチサイトのインストールで次の2つの方法で有効化できます。
ネットワーク有効化
ネットワーク管理 › プラグインに移動し、アクティビティログをネットワーク全体で有効にします。これにより、ネットワーク上のすべてのサイトでプラグインが自動的に有効化され、各サイトのログデータベーステーブルが作成されます。ネットワークに追加された新しいサイトでもプラグインは自動的に有効化されます。ネットワーク全体で有効化されると、プラグインの管理メニューと設定は、個々のサイトの下に表示されるのではなく、ネットワーク管理の下に移動します。
サイトごとの有効化
各サイトの[プラグイン]画面から、特定のサイトでのみプラグインを有効にします。これにより、どのサイトを監視するかをより詳細に制御でき、プラグインのメニューと設定はネットワーク管理の下ではなく、そのサイト自体の管理下に保持されます。
プラグインがネットワーク全体で有効化されると、イベントログはそのプラグイン有効化イベントのメタデータにnetwork_wide: trueフラグを記録するため、ネットワーク全体でのプラグインの変更とサイトごとの変更を区別できます。
ライセンスの有効化は、アクティビティログがネットワーク全体で有効化されたときにネットワークレベルで処理され、個々のサイトではなくネットワークのメインURLに紐付けられ、ライセンスのサイト数はネットワーク上のすべてのサイトをカバーします。
イベントの記録方法
各サイトの[プラグイン]画面から、特定のサイトでのみプラグインを有効にします。これにより、どのサイトを監視するかをより詳細に制御でき、プラグインのメニューと設定はネットワーク管理の下ではなく、そのサイト自体の管理下に保持されます。
プラグインがネットワーク全体で有効化されると、イベントログはそのプラグイン有効化イベントのメタデータにnetwork_wide: trueフラグを記録するため、ネットワーク全体でのプラグインの変更とサイトごとの変更を区別できます。
ライセンスの有効化は、アクティビティログがネットワーク全体で有効化されたときにネットワークレベルで処理され、個々のサイトではなくネットワークのメインURLに紐付けられ、ライセンスのサイト数はネットワーク上のすべてのサイトをカバーします。
管理画面でのサイト別フィルタリング
特定のサイトの管理エリア(アクティビティログ › アクティビティログ)からアクティビティログを表示する場合、ログにはそのサイト固有のログテーブルから、そのサイトのイベントのみが表示されます。
プラグインがネットワーク全体で有効化され、メニューがネットワーク管理の下に表示される場合でも、アクティビティログはすべてのサイトのイベントを単一の結合ビューにマージしません。特定のサイトのイベントを確認するには、そのサイト固有のアクティビティログページに直接アクセスするか(または最初にネットワーク管理からそのサイトに切り替える)、各サイトを個別に確認してください。
WP-CLIでのサイト別フィルタリング
マルチサイトネットワークでは、WP-CLIの独自の–urlフラグとプラグインの–site_idフラグを組み合わせて、特定のサイトのデータをエクスポートします。
wp duplicator-activity-log export --url=https://site2.example.com --site_id=2
–url
各サイトのイベントはそのサイト固有のテーブルに格納されているため、WP-CLIがどのサイトのコンテキストで実行されるかを指定します。URLとサイトIDを対象サイト固有の値に置き換えてください。サイトのブログIDを見つけるには、次を実行します。
wp site list --fields=blog_id,url
–site_id
--site_idを他のエクスポートフラグと組み合わせることができます。たとえば、サイト3からすべての高重大度のイベントをエクスポートするには、次のようにします。
wp duplicator-activity-log export --url=https://site3.example.com --site_id=3 --severity=high --format=csv > site3-high.csv
サイト別設定 vs ネットワーク全体設定
アクティビティログの設定(一般、イベント、通知)はサイトごとに構成されます。ネットワーク上の各サイトは、独自の次の設定を持つことができます。
- ログ保持期間
- 有効または無効化されたイベントカテゴリ
- 通知受信者とトリガー
- ログ記録方法(同期対非同期)
ネットワークレベルでのグローバル設定の上書きはありません。各サイト管理者は独自のアクティビティログ構成を管理し、保持期間はサイトごとに構成されるため、日次クリーンアップジョブもサイトごとに実行され、ネットワーク全体ではなくサイトごとに古いエントリが削除されます。ライセンスのアクティベーションは、プラグインがネットワークアクティベートされたときにネットワークレベルで処理される唯一の例外であり、上記で説明したとおりです。
これで完了です。アクティベーション、イベント記録、設定が正しくスコープされているため、アクティビティログはネットワーク上のすべてのサイトに変更をクリーンに追跡します。
追跡される内容の完全なリストについては、アクティビティログは何を追跡しますか?を参照してください。特定のサイトで保持期間、通知、またはログ記録方法を調整するには、アクティビティログ設定の構成を参照してください。