2026年5月21日
2026年5月21日
WordPressでユーザーのアクティビティログを記録する方法|Simple Historyの使い方
複数の人が管理画面を使うサイトでは、「誰が・いつ・何をしたか」の記録(アクティビティログ)があると、誤操作の原因を探したり、身に覚えのないログインに気づいたりできます。WordPress 本体にはこの記録機能が無いため、プラグインを入れて記録します。
この記事では、無料で使えて画面が分かりやすい Simple History を使った記録の方法を説明します。プラグインの情報は 2026年11月時点のものです。
主なプラグインの違い
アクティビティログのプラグインはいくつかありますが、WordPress.org の公式ディレクトリで広く使われているのは次の2つです。
| プラグイン | 向いている用途 |
|---|---|
Simple History(スラッグ simple-history) |
投稿・ユーザー・プラグインなどの変更を、読みやすい文章の形で時系列に見たい。ダッシュボードで手軽に確認したい |
WP Activity Log(スラッグ wp-security-audit-log) |
イベント ID 単位で記録対象を細かく選びたい。ファイルの変更やセッションなども含めて、監査ログとして詳しく残したい |
WP Activity Log の設定は WordPressのセキュリティ監査ログを設定する方法 で説明しています。プラグインを使わず、フックで自分で記録する方法は WordPressのユーザー活動ログを記録する方法 を参照してください。
Simple History で記録される主な操作
Simple History の無料版は、次のような操作を記録します(公式の説明から抜粋)。
- ログイン・ログアウト・ログイン失敗
- 投稿・固定ページ・カスタム投稿タイプの作成・編集・削除
- メディアのアップロード・編集、カテゴリー・タグ、コメント、メニュー、ウィジェットの変更
- ユーザーのプロフィール変更・権限グループの変更
- プラグイン・テーマのインストール・更新・有効化・無効化・削除
- WordPress 本体と翻訳の更新、設定画面での変更
記録されるのはプラグインを有効にした後の操作だけです。有効にする前の操作はさかのぼって記録できません。
手順1: プラグインを入れる
管理画面の「プラグイン」→「新規プラグインを追加」で「Simple History」を検索し、インストールして有効化します。WP-CLI が使える場合は次のコマンドでも同じです。
wp plugin install simple-history --activate
2026年11月時点の Simple History(5.36系)は、WordPress 6.3 以上・PHP 7.4 以上が必要です。
手順2: ログを見る
有効化すると、管理画面の左メニューに Simple History のメニューが追加されます(初期設定ではメニューの上のほう)。ここを開くと、操作の一覧が新しい順に表示されます。ダッシュボードにもウィジェットが追加され、最近の操作をすぐ確認できます。
一覧では、日付の範囲、ユーザー、操作の種類、キーワードで絞り込めます。たとえば、ログイン失敗だけを表示したい場合は、操作の種類やキーワードで絞り込みます。IP アドレスをクリックすると、同じ IP アドレスからの操作をまとめて表示できます。
メニューの場所は、Simple History の設定画面で、メニューの上・下、または「ダッシュボード」や「ツール」の中に変えられます。
手順3: 保存期間を決める
Simple History は古いログを自動で削除します。初期設定の保存期間は 30日 です(バージョン 5.25.0 より前から使っているサイトは60日)。管理画面から保存期間を変える機能は有料版のものですが、無料版でもフィルターで日数を変えられます。
次のコードは、保存期間を90日にする例です。テーマの functions.php ではなく、テーマを変えても残る自作の小さなプラグイン(例: wp-content/plugins/my-simple-history-settings/my-simple-history-settings.php)に書くと管理しやすくなります。
<?php
/*
* Plugin Name: My Simple History Settings
* Description: Simple History の保存期間と閲覧権限を変える。
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// ログの保存期間を90日にする
add_filter( 'simple_history/db_purge_days_interval', function ( $days ) {
return 90;
} );
保存期間を長くすると、その分データベースが大きくなります。ログイン失敗が大量に記録されるサイトでは、保存期間とデータベースの容量の両方を見て決めます。
手順4: ログを見られるユーザーを制限する
初期設定では、edit_pages の権限を持つユーザー(標準の権限グループでは「編集者」以上)がログを見られます。IP アドレスは管理者にだけ表示されます。ログを管理者だけに見せたい場合は、閲覧に必要な権限をフィルターで変えます。上のプラグインに次を追加します。
// ログを見られるのを manage_options の権限を持つユーザー(管理者)だけにする
add_filter( 'simple_history/view_history_capability', function ( $capability ) {
return 'manage_options';
} );
手順5: ログを書き出す・コマンドで確認する
管理画面からはログを CSV や JSON で書き出せます。サーバーで WP-CLI が使える場合は、コマンドでも一覧や書き出しができます。
# 新しい順に20件を表で表示
wp simple-history event list --count=20
# ログイン失敗を検索して表示
wp simple-history event list --search="failed" --count=50
# 日付を指定して CSV に書き出す
wp simple-history event list --date_from="2026-11-01" --count=1000 --format=csv > history.csv
--format には table(初期値)・json・csv・yaml を指定できます。ほかの絞り込みの指定は wp help simple-history event list で確認できます。
注意すること
- 個人情報の扱い。 ログにはユーザー名やメールアドレス、IP アドレスが含まれます。Simple History は IP アドレスの末尾を伏せて保存します(IPv4 なら最後の数字、IPv6 なら後半)が、ほかの記録と合わせると人を特定できる場合があります。ログを記録していることをプライバシーポリシーに書いてください。Simple History は「設定」→「プライバシー」の「ポリシーガイド」に、記載例の文章を追加します。
- ログは同じデータベースにある。 管理者権限を奪われると、ログも消されたり書き換えられたりするおそれがあります。不正アクセスの調査にも使いたい場合は、Web サーバーのアクセスログを別に保管するか、外部にログを送る仕組み(有料版のログ転送など)を検討します。
- ログイン対策も合わせて行う。 ログはあくまで記録です。ログイン失敗が多い場合は、ログインの試行回数の制限や二段階認証で守りを固めます。方法は ブルートフォース攻撃への対策 を参考にしてください。
まとめ
- WordPress 本体には操作の記録機能が無いため、Simple History などのプラグインで記録します。
- 有効化すると、左メニューとダッシュボードで操作の一覧を確認でき、ユーザーや日付、キーワードで絞り込めます。
- 保存期間は初期設定で30日です。
simple_history/db_purge_days_intervalフィルターで変えられます。 - 閲覧できるユーザーは
simple_history/view_history_capabilityフィルターで制限できます。 - WP-CLI の
wp simple-history event listで一覧の表示や CSV への書き出しができます。