WordPressの管理画面、ふと「もしかして知らない誰かに入られていないかな」と不安になることはありませんか。
私もサイトをいくつか運用しているときに、ログイン履歴を見たら心当たりのないIPアドレスがずらっと並んでいて、背筋が冷たくなった経験があります。
WordPressでログイン履歴を確認する目的とメリット

まずは、そもそもWordPressのログイン履歴とは何なのか、そしてなぜわざわざ確認する必要があるのかを整理しておきます。ここがあいまいなままだと、「とりあえずプラグインを入れただけ」で満足してしまい、肝心の運用につながらないことが多いです。
WordPressのログイン履歴とは何か
ログイン履歴は、ざっくり言うと「誰が、いつ、どこから、ログインしようとしたのか」を残した記録です。
代表的な項目をまとめると、イメージしやすくなります。
| 項目 | 内容 |
|---|---|
| 日時 | ログインやログアウトが行われた時間 |
| 結果 | 成功・失敗・ロックなどのステータス |
| ユーザー名 | ログインに使われたユーザー名(ログインID) |
| IPアドレス | アクセス元のインターネットアドレス |
| ログイン元の種類 | 通常ログイン画面か、API経由かなど |
| ブラウザ・OS | どんな端末・ブラウザからログインしたか(プラグインによっては取得) |
WordPressのログイン履歴を見られるようにしておくと、例えば次のようなことが分かります。
- 自分が寝ている時間帯に、海外のIPから何度もログイン失敗していないか
- 社内メンバーや外注が、どのくらいの頻度で管理画面を触っているのか
- 会員制サイトで、特定ユーザーがいつログインしているか
イメージとしては、「管理画面の入り口に防犯カメラをつける」ようなものだと考えると分かりやすいです。
ログイン履歴を取らないと起こりがちなリスク
逆に、ログイン履歴を残していないWordPressサイトには、次のようなリスクがあります。
- 不正ログインされても「いつ」「どこから」入られたのかが分からない
- 改ざんやスパム投稿が発生しても、どのアカウントがトリガーになったのか追えない
- 複数人運用なのに、誰がどんなタイミングで更新したのか見えない
- トラブルが起きたとき、ホスティング会社や制作会社と原因を検証しづらい
特に、管理者アカウントのパスワードが弱かったり、ユーザー名が「admin」のように推測しやすいままだったりすると、攻撃者からすると格好の標的です。
その状態でログイン履歴も取っていないと、気づいたときには「いつから侵入されていたのか」が全く分からない、という最悪のパターンになりかねません。
どんなサイトほどログイン履歴が大事か
正直なところ、「小さなブログだし大丈夫でしょ」とログイン履歴を気にしていない人は多いです。
ですが、体感としては次のようなサイトほど、WordPressのログイン履歴をきちんと見られるようにしておくべきです。
- 会員制サイトやオンラインサロンなど、ユーザー情報を扱うサイト
- お問い合わせフォームで名前やメールアドレスなどを受け取っているサイト
- 社内ポータルやクライアント限定ページをWordPressで運用しているケース
- 複数の外部ライターや代理店がログインして記事を更新しているメディア
こうしたサイトでは、不正ログインが1回起きただけでも、信頼面や契約面で大きなダメージになる可能性があります。
ログイン履歴は「できればあった方がいい便利機能」ではなく、「最低限の保険」として考えておくと安心です。
プラグインでWordPressログイン履歴を確認する方法

ここからは、具体的にWordPressのログイン履歴を確認する方法に入っていきます。まずは一番手軽で、ほとんどの人におすすめできる「プラグインでログイン履歴を取る方法」から紹介します。
ログイン履歴が見られる代表的なプラグイン
ログイン履歴を記録できるWordPressプラグインは、ざっくり分けると次の3タイプがあります。
| 用途 | プラグイン例 | 特徴 |
|---|---|---|
| 総合セキュリティ系 | SiteGuard WP Plugin / XO Security など | ログイン履歴に加え、ログインロックや画像認証などもまとめて設定できる |
| 操作ログ全般系 | Simple History / WP Activity Log など | ログイン履歴だけでなく、投稿の更新やプラグイン変更なども記録できる |
| ログイン履歴特化系 | User Login History / When Last Login など | ログイン関連のログに特化し、一覧で細かく確認しやすい |
ざっくりした選び方は次のとおりです。
- まだセキュリティプラグインを入れていない → 総合セキュリティ系でログイン履歴もまとめて管理
- すでにセキュリティプラグインを使っている → ログだけ欲しいのでログイン履歴特化系を追加
- 「誰が何を編集したか」まで追いかけたい → 操作ログ全般系を導入
このあと、代表的なプラグインを例に、WordPressのログイン履歴をどう見るか具体的に流れを追っていきます。
SiteGuard WP Pluginでログイン履歴を確認する手順
日本語で使いやすく、導入しているサイトも多いのがSiteGuard WP Pluginです。
このプラグインを例に、WordPressのログイン履歴を確認するまでの流れを整理しておきます。
ざっくりした手順は次のとおりです。
- WordPressの管理画面にログインする
- プラグインから「SiteGuard WP Plugin」をインストールして有効化する
- 管理画面メニューに追加された「SiteGuard」→「ログイン履歴」を開く
- 一覧から日時・結果・ログイン名・IPアドレスなどを確認する
ステップを表にすると、よりイメージがつきやすくなります。
| ステップ | 操作内容 |
|---|---|
| 1 | 管理画面メニューの「プラグイン」→「新規追加」を開く |
| 2 | 検索フォームで「SiteGuard WP Plugin」と入力して検索する |
| 3 | プラグインをインストールして有効化する |
| 4 | メニューに追加された「SiteGuard」→「ログイン履歴」をクリックする |
| 5 | ログイン履歴の一覧から、怪しいログがないかをチェックする |
ログイン履歴の画面では、1行ごとに「日時」「結果(成功・失敗・ロックなど)」「ログイン名」「IPアドレス」「ログインの種類」が並びます。
まずはここを定期的に眺める習慣をつけるだけでも、WordPressの不正ログイン対策としてかなり安心感が変わってきます。
User Login Historyで細かいログイン履歴をチェック
ログイン履歴だけをとことん追いかけたい場合は、User Login Historyのような専用プラグインも便利です。
こうしたログイン履歴特化型のプラグインでは、次のような情報をまとめて記録できます。
- ログイン・ログアウトした時間
- ユーザー名・ユーザーID
- 権限ロール(管理者・編集者など)
- IPアドレスや国、タイムゾーン
- ブラウザやOSの種類
- ログインに成功したか、失敗したか
WordPressの管理画面からインストールして有効化すると、メニューに「User Login History」などの項目が追加されます。
そこを開くと、テーブル形式でログイン履歴がずらっと並ぶので、「このユーザーはどこからログインしているのか」「このIPは怪しくないか」といった確認がしやすくなります。
会員制サイトや社内向けポータルなど、「誰がどこからログインしているか」を細かく追いたい場合、こうしたWordPressログイン履歴の専用プラグインはかなり頼りになる存在です。
コードでWordPressのログイン履歴機能を自作する方法

ここからは、少し中級者向けの内容です。プラグインにあまり頼りたくない、もしくは社内ルールに合わせてWordPressのログイン履歴を細かくカスタマイズしたい場合は、コードで自作する選択肢もあります。
自作でログイン履歴を取るメリットと注意点
WordPressのログイン履歴をコードで自作するメリットは、主に次のようなものです。
- 必要な情報だけをログに残せるので、データが無駄に増えにくい
- 既存プラグインと機能がかぶらないように調整しやすい
- 自社の監査ルールや社内システムの仕様に合わせたログ形式にできる
一方で、注意すべきポイントも多いです。
- PHPやWordPressのフックに、ある程度慣れている必要がある
- テーマやプラグインのアップデートの影響を受ける可能性がある
- ログが増えすぎると、データベースが肥大化してサイトが重くなる
個人ブログや小規模サイトなら、基本的にはプラグインで十分です。
企業サイトや会員制サービスなどで、WordPressログイン履歴の扱いを細かくコントロールしたい場合に、コードでの自作を検討するイメージが近いと思います。
wp_loginフックでログイン履歴を保存する流れのイメージ
実際のコードはここでは省略しますが、WordPressでログイン履歴を自作する流れをざっくり言葉で追ってみます。
| ステップ | 処理内容 |
|---|---|
| 1 | wp_login などのフックに、自分で用意した関数を紐づける |
| 2 | ログインしたユーザー情報(ユーザー名・ID・権限など)を取得する |
| 3 | $_SERVER からIPアドレスやブラウザ情報を取得する |
| 4 | 取得した情報を配列やオブジェクトにまとめる |
| 5 | 独自テーブルやオプションに、ログイン履歴として保存する |
ログイン失敗時のログも残したい場合は、wp_login_failed のようなフックも組み合わせます。
これらを組み合わせることで、「成功ログ」と「失敗ログ」の両方を、WordPressの中に蓄積していくイメージです。
処理自体はそこまで難しくありませんが、一覧表示のときに何千件ものログを一気に読み込んでしまうと、管理画面が重くなることがあります。
ページネーションで件数を区切るなど、見せ方の設計も一緒に考えておくと、WordPressログイン履歴を快適に運用しやすくなります。
保存先テーブルやログ項目をどう設計するか
WordPressのログイン履歴を自作するなら、「どこに」「どんな形で」保存するかも大事なポイントです。
ログ用テーブルのイメージを、簡単に表にしてみます。
| 項目名 | 型のイメージ | 説明 |
|---|---|---|
| id | 整数 | 自動採番のID |
| user_id | 整数 | WordPressユーザーID |
| user_login | 文字列 | ログイン名 |
| role | 文字列 | ユーザー権限(administrator など) |
| ip_address | 文字列 | IPアドレス |
| user_agent | 文字列 | ブラウザ・端末情報 |
| status | 文字列 | 成功・失敗などのステータス |
| created_at | 日付時刻 | ログインが行われた日時 |
必要に応じて、国コードやタイムゾーン、ログイン元のページなどを足していくこともできます。
ただし項目を増やせば増やすほど、1件あたりのログサイズは大きくなるので、「どれくらいの期間分を残すか」「どのタイミングで古いログを削除するか」といった運用のルールもセットで決めておくと安心です。
WordPressログイン履歴の見方と不審アクセスのチェックポイント

ログイン履歴を記録できるようになったら、次は「どう読み取るか」です。ここでは、私が普段WordPressのログイン履歴を見るときに意識しているチェックポイントを紹介します。
ログイン履歴で必ずチェックしたい4つの項目
最低限、次の4つはログイン履歴で確認しておきたい項目です。
- 日時
- ログイン結果(成功・失敗・ロックなど)
- ユーザー名
- IPアドレス
それぞれ、次のような視点で見ると分かりやすいです。
- 日時:自分が作業していない時間帯に、ログイン試行が集中していないか
- 結果:同じIPや同じユーザー名で、失敗が何度も繰り返されていないか
- ユーザー名:実在しないユーザー名や、管理者アカウントへの攻撃がないか
- IPアドレス:心当たりのない地域や、明らかに不自然な国からのアクセスがないか
見慣れてくると、「これは自分や社内メンバーの動き」「これは明らかにおかしい」というのが、ぱっと見で分かるようになってきます。
不正ログインの典型パターンと見分け方
WordPressのログイン履歴を眺めていると、「これは攻撃っぽいな」と分かるパターンがいくつかあります。
| パターン | ログイン履歴の特徴 | 疑われる攻撃 |
|---|---|---|
| 短時間で大量のログイン失敗 | 同じIPから短い時間に何十回も失敗している | 総当たり(ブルートフォース)攻撃 |
| 管理者ユーザー名への集中攻撃 | 「admin」のような名前で失敗が続いている | 管理者アカウントを狙った攻撃 |
| 海外IPからのアクセス | 普段とは全く違う国や地域からのログイン試行が多い | 乗っ取り目的の不正ログイン |
| API経由の大量試行 | 通常ログインではなくXML-RPCなどからの試行が多い | 自動ツールによる連続攻撃 |
こうしたWordPressログイン履歴が見えたら、次のような対策を検討します。
- 管理者アカウントのパスワードを、推測しづらい強力なものに変更する
- ログイン試行回数の制限や、一定回数の失敗でロックする設定を有効にする
- ログインURLを変更したり、画像認証やreCAPTCHAを導入したりする
- 不要であればXML-RPCの機能を無効化する
大事なのは、「ログイン履歴を眺めて終わり」ではなく、「怪しい動きが見えたら具体的なアクションにつなげる」ことです。
ログイン履歴と合わせて見るべきその他のログ
ログイン履歴だけでも役立ちますが、他のログと組み合わせると、WordPressの状態がもっと立体的に見えてきます。
- サーバー側のアクセスログやエラーログ
- 操作ログ(投稿の更新やプラグインの有効化・無効化など)
- セキュリティプラグインのアラート履歴
例えば、WordPressのログイン履歴で怪しいIPを見つけたら、同じIPがどんなURLにアクセスしているかをサーバーログで確認します。
ログインに成功している場合は、その時間帯に投稿や固定ページ、テーマファイルが書き換えられていないか、操作ログも追いかけていきます。
こうして複数のログを組み合わせることで、「数字の一覧」だったログイン履歴が、「サイトに対して何が行われたのか」というストーリーとして見えてくるようになります。
WordPressログイン履歴まわりのトラブルと対処法

便利なはずのWordPressログイン履歴ですが、実際に運用すると細かいトラブルも起こります。ここでは、よくあるつまずきと、そのとき私ならどう対処するかをまとめておきます。
ログイン履歴が表示されない・記録されない場合
「プラグインを入れたのに、WordPressのログイン履歴がまったく増えない」という相談をいただくことがあります。
代表的な原因と対処法を整理すると、次のようになります。
| トラブル | 主な原因 | 対処法 |
|---|---|---|
| ログイン履歴が空のまま | プラグイン導入前のログインは記録されていない | インストール以降のログから確認する |
| 一部のログしか残っていない | 保存件数に上限が設定されている | プラグインの設定でログ保持数を増やす |
| 特定ユーザーのログがない | 別のドメインや管理画面からログインしている | ログインURLやマルチサイトの設定を確認する |
| ログイン履歴の画面が真っ白 | PHPエラーやメモリ不足などの不具合 | 一度プラグインを停止し、ログやエラー内容を開発者に確認してもらう |
特に多いのが、「プラグインを入れる前のログイン履歴はそもそも残っていない」というケースです。
そこは仕様なので、あきらめて「これからのログをしっかり見る」と割り切った方が前向きです。
ログイン履歴プラグイン同士の競合に注意
WordPressサイトを長く運用していると、気づかないうちに似た機能のプラグインをいくつも入れてしまうことがあります。
ログイン履歴まわりでも、次のような競合がよく見られます。
- 複数のセキュリティプラグインでログインロック機能をONにしている
- ログイン履歴プラグインと操作ログプラグインが、同じフックを取り合っている
- キャッシュプラグインとログイン履歴画面の相性が悪く、表示がおかしくなる
こうしたときは、次のステップで整理するとスムーズです。
- まず「総合セキュリティ」「ログイン履歴」「操作ログ」の役割を紙に書き出す
- 本当に必要なプラグインだけを残し、機能がかぶる部分はどちらか片方だけにする
- 問題が出ている場合は、プラグインを1つずつ停止して原因を切り分ける
WordPressログイン履歴は大事ですが、プラグインを入れすぎてサイトが重くなったり、ログイン自体が不安定になってしまっては本末転倒です。
なるべくシンプルな構成を目指すと、トラブルも減りやすくなります。
ログイン履歴の保存期間とサイトの重さのバランス
ログイン履歴を延々と取り続けると、いずれデータベースの容量が気になってきます。
特に会員数が多いサイトでは、WordPressのログイン履歴だけでテーブルがかなり大きくなることも珍しくありません。
バランスを取るために、次のような工夫がおすすめです。
- 「直近〇か月分だけ残す」など、保存期間の目安を決めておく
- 古いログをCSVにエクスポートしてから、プラグインの削除機能で消す
- 保存件数の上限を決め、上限を超えたら古いものから自動で消す
また、IPアドレスやユーザー名などは、状況によっては個人を特定しやすい情報になります。
社内ルールやプライバシーポリシーも踏まえ、「どのくらい細かくログを残すか」「誰がログイン履歴を見られるのか」も、合わせて決めておくと安心です。
よくある質問(WordPressログイン履歴編)

最後に、WordPressの相談を受ける中で、ログイン履歴まわりでよく聞かれる質問をまとめておきます。迷いやすいポイントなので、事前にさらっと目を通しておくと楽になります。
Q1. WordPress標準機能だけでログイン履歴は確認できますか?
残念ながら、WordPress本体だけでは、管理画面からログイン履歴を一覧表示する機能は用意されていません。
ログイン失敗など一部の情報はサーバー側のログに残りますが、「WordPressの管理画面で、日付順にログイン履歴をチェックする」といったことはできない仕様です。
そのため、WordPressのログイン履歴をちゃんと管理したい場合は、プラグインを使うか、コードでログを保存する仕組みを自作する必要があります。
多くのサイトでは、まずプラグインで対応し、必要に応じてカスタマイズしていく形が現実的です。
Q2. どのログイン履歴プラグインを入れればいいですか?
サイトの状況によってベストは変わりますが、目安としては次のように考えています。
- セキュリティ対策もまとめて強化したい → SiteGuard WP Plugin や XO Security のような総合セキュリティ系
- すでにセキュリティプラグインが入っている → User Login History や When Last Login など、ログイン履歴に特化したもの
- 投稿の更新やプラグイン変更などもログに残したい → Simple History や WP Activity Log といった操作ログ全般系
ポイントは、「1つの目的に対して、似た機能のプラグインをいくつも入れない」ことです。
WordPressのログイン履歴をしっかり取りつつ、サイト全体の安定性とのバランスも考えて構成を決めていきましょう。
Q3. ログイン履歴に知らないIPがあったらどうすればいいですか?
WordPressのログイン履歴を見て、覚えのないIPアドレスからのアクセスを見つけたときは、次の順番で落ち着いて確認するのがおすすめです。
- まず自分や社内メンバーが、別の場所やスマホからログインしていないか思い出す
- 同じIPから短時間に何度もログイン失敗していないか確認する
- 明らかに不審な動きなら、そのIPからのアクセスを制限できないか検討する
- 同じ時間帯に、投稿やテーマファイルなどが勝手に書き換えられていないかもチェックする
「怪しいかも」と感じた時点で、管理者アカウントのパスワード変更や、二段階認証の導入など、すぐにできる対策を進めておくと安心です。
ログイン履歴は、違和感を覚えたときに「すぐ動くための材料」として活用していきましょう。
WordPressのログイン履歴を活用してサイトを守ろう(まとめ)
ここまでの内容を振り返ります
- WordPressのログイン履歴は「誰が・いつ・どこからログインしたか」の記録で、管理画面の防犯カメラのような役割を持つ
- プラグインを使えば、初心者でもかんたんにログイン履歴を取って確認できる
- コードで自作すれば、必要な情報だけを柔軟に保存できるが、運用設計と技術的な知識が必要
- ログイン履歴を見るときは、「日時」「結果」「ユーザー名」「IPアドレス」の4つを重点的にチェックすると分かりやすい
- ログイン履歴プラグインは入れすぎず、保存期間やログ件数にも気を配ると、サイトの重さと安全性のバランスが取りやすい
今日からできる最初の一歩としては、まず自分のWordPressサイトにログインして、「ログイン履歴を確認できるプラグインが入っているか」をチェックしてみてください。
まだ何もしていない状態であれば、この記事で触れたようなログイン履歴系のプラグインを1つ導入し、数日から数週間ほどログを眺めてみるだけでも、多くの気づきが得られるはずです。
WordPressのログイン履歴を味方につけて、あなたの大事なサイトを一緒に守っていきましょう。



