WordPressのログイン画面を守る方法|URL変更・認証強化

WordPressのログイン画面を守るには、①二段階認証(できればパスキー)で認証を強くする、②ログイン試行回数を制限する、③ログインできるアカウントを必要な人だけに絞るの3つを優先します。ログインURLの変更は、攻撃の数を減らす補助的な手段です。WordPress.orgの公式ドキュメントも、ログインURLを隠すことは「ノイズを減らせるが、唯一の防御にすべきではない」としています。
パスワードの決め方や二段階認証の考え方など、WordPressに限らない基本は不正アクセス対策の基本で解説しています。WordPressの対策全体はWordPressのセキュリティ対策の完全ガイドをご覧ください。

WordPressのログイン画面が狙われる理由
WordPressのログイン画面が狙われるのは、場所が決まっていて、自動化されたプログラムで大量に試せるからです。WordPress.orgの公式ドキュメント「Brute Force Attacks」は、総当たり攻撃を「侵入のもっとも単純な方法」と説明し、ユーザー名とパスワードの組み合わせを当たるまで繰り返し試す手口だとしています。
狙われる入口は、ログイン画面だけではありません。
| 入口 | 内容 | 狙われ方 |
|---|---|---|
/wp-login.php | 標準のログイン画面 | IDとパスワードの総当たり |
/xmlrpc.php | 外部のアプリなどからWordPressを操作する仕組み(XML-RPC) | 1回の通信で多数のパスワードを試す手口に悪用される |
| ユーザー名の露出 | /?author=1 のようなURLからユーザー名が分かる場合がある | ユーザー名が分かれば、あとはパスワードを当てるだけになる |
WordPress.orgのドキュメントは、xmlrpc.php が総当たり攻撃の頻繁な標的であり、特に system.multicall という命令が悪用されると注意しています。使っていなければ無効にし、使う場合は制限をかけるよう勧めています。
ログイン画面を守る対策一覧|効果と手間で優先順位をつける
WordPressのログイン画面の対策は数多くありますが、効果と手間は対策ごとに違います。WordPress.orgの公式ドキュメントの推奨事項をもとに、中小企業のサイトで取り組む順に整理しました。
| 優先度 | 対策 | 防げること | 手間・注意点 |
|---|---|---|---|
| 高 | 二段階認証・パスキー | パスワードが漏れても不正ログインされにくい | プラグインが必要。スマートフォン紛失時の備えが要る |
| 高 | ログイン試行回数の制限 | 総当たり攻撃 | サーバー機能かプラグインで設定。自分がロックされることがある |
| 高 | 不要なアカウントの削除・権限の整理 | 退職者・旧委託先のアカウントの悪用 | 誰のアカウントか確認が必要 |
| 中 | 「admin」など推測しやすいユーザー名をやめる | ユーザー名の推測 | 新しい管理者を作って移行する |
| 中 | XML-RPCの無効化・制限 | XML-RPC経由の総当たり | 使っている外部連携がないか確認が必要 |
| 中 | CAPTCHA | ロボットによる自動ログイン | 利用者の手間が少し増える |
| 中 | IPアドレス制限・Basic認証 | 許可した場所・人以外のアクセス | 外出先から入れなくなる。設定を誤ると機能が止まる |
| 補助 | ログインURLの変更 | 機械的なアクセスの数を減らす | 単独では不十分。URLの管理が必要 |
| 補助 | ログイン通知 | 不正ログインへの気づき | 通知を読む人を決める |
WordPress本体には、二段階認証もログイン試行回数の制限も標準では入っていません。どちらもプラグインかサーバーの機能で追加します。プラグインごとの機能の違いは、WordPressセキュリティプラグインの比較と選び方で整理しています。
認証を強くする:二段階認証・パスキーを設定する
ログイン画面の対策で、もっとも効果が大きいのが二段階認証です。パスワードが漏れたり使い回されたりしていても、スマートフォンの認証アプリなど「本人が持っているもの」がなければログインできなくなります。
WordPress.orgの「Brute Force Attacks」は、「WordPress本体は二段階認証を備えていない」と明記したうえで、すべての管理者と権限の強いユーザーに二段階認証を有効にするよう勧めています。
二段階認証・パスキーに対応する主なプラグイン
| プラグイン | 二段階認証の方式 | パスキー |
|---|---|---|
| Two Factor | 認証アプリ、メールのコード、バックアップコード | 別プラグイン(Two-Factor Provider: WebAuthn)が必要 |
| Wordfence Security | 認証アプリ | 無料版で対応 |
| All-In-One Security(AIOS) | 認証アプリ | 記載なし |
| Kadence Security | 認証アプリ、メールのコード、バックアップコード | 記載なし(有料版にパスワードなしのログイン機能あり) |
出典:各プラグインのWordPress.org公式ページ(2026年10月9日確認)
設定するときのポイント
- 認証アプリの方式を選ぶ:メールのコードよりも、スマートフォンの認証アプリ(Google Authenticator、Microsoft Authenticatorなど)のほうが、メールアカウントが乗っ取られた場合の影響を受けにくくなります。
- バックアップコードを保管する:スマートフォンの紛失や機種変更に備え、予備のコードを安全な場所に保管します。
- パスキーは2つ以上登録する:WordPress.orgのドキュメントは、パスキーをフィッシングに強いログイン方法として紹介し、管理者1人につき少なくとも2つの認証器を登録するよう勧めています。
- 管理者から順に必須にする:AIOSのように、権限グループごとに二段階認証を必須にできるプラグインもあります。
あわせて、WordPress.orgの「Hardening WordPress」が勧めるように、名前や辞書にある単語を避けた長いパスワードを使います。Wordfence Securityには、流出が確認されているパスワードを使う管理者のログインを止める機能もあります。

ログイン試行回数の制限とCAPTCHAで総当たりを止める
ログイン試行回数の制限は、一定回数ログインに失敗したIPアドレスを、しばらくログインできなくする仕組みです。総当たり攻撃は大量の試行が前提なので、回数を制限するだけで成功する可能性を大きく下げられます。
まずはサーバーの機能を確認する
レンタルサーバーによっては、WordPress向けのログイン保護が用意されています。たとえばエックスサーバーの「WordPressセキュリティ設定」には、ログイン試行回数制限と、国外からの管理画面へのアクセス制限(初期状態で有効)があります。公式FAQによると、試行回数の制限にかかったログインは、丸1日たつと自動で解除されます。
サーバーで制限できる場合は、サーバー側を優先するのがおすすめです。WordPress.orgのドキュメントは、プラグインはPHP上で動くため、大量の攻撃を受けるとサーバーの資源を消費すると指摘し、可能ならサーバーやCDN、WAFの段階で制限するよう勧めています。
プラグインで設定する場合
サーバーに機能がない場合は、Limit Login Attempts Security、SiteGuard WP Plugin(ログインロック)、Wordfence Security、AIOSなどのプラグインで設定します。設定するときは次の点を決めます。
- 何回失敗したらロックするか、何分ロックするか
- 自社や保守会社のIPアドレスを許可リストに入れるか
- ロックが発生したときに、誰に通知するか
CAPTCHAで「人間かどうか」を確かめる
CAPTCHAは、画像の文字入力やチェックボックスで、ロボットによる自動ログインを防ぐ仕組みです。WordPress.orgのドキュメントも、ロボットの動きを遅らせる手段としてログイン画面へのCAPTCHAの設置を挙げています。SiteGuard WP Plugin、Wordfence Securityなどで追加できます。
ログインURLの変更は効果がある?メリットと注意点
ログインURLの変更は、機械的に /wp-login.php を狙うアクセスを減らす効果はありますが、それだけで不正ログインは防げません。 WordPress.orgの「Brute Force Attacks」も、「ログインURLを隠すことはノイズを減らせるが、唯一の防御にすべきではない」と明記しています。
メリット
- ログイン画面への機械的なアクセスが減り、ログやロックの通知が見やすくなる
- 標準のURLを狙う単純な攻撃を避けられる
注意点
- URLを忘れるとログインできなくなる:変更後のURLを担当者と保守会社で共有し、パスワード管理ツールなどに保管します。
- ほかのプラグインのURL変更機能と併用しない:SiteGuard WP Pluginの公式ページは、ほかのプラグインのログインURL変更機能と同時に使うと、ログインURLが2つ使える状態になったり、ログイン画面が表示されなくなったりすると注意しています。
- XML-RPCなどほかの入口は残る:URLを変えても、
xmlrpc.php経由の試行は別に対策が必要です。
ログインURLの変更は、SiteGuard WP PluginやKadence Security(ログインURLを隠す機能)などで設定できます。二段階認証と試行回数の制限を済ませたうえで、追加の対策として使いましょう。
当社の保守サイトでは、ログインURLの変更はすべてのサイトで行うのではなく、サイトによって使い分けています。
入口を絞る:IP制限・Basic認証・XML-RPCの対策
ログイン画面に「誰でも・どこからでも」入れる状態をやめると、攻撃の多くを手前で止められます。
IPアドレス制限
社内や保守会社のIPアドレスからだけ、ログイン画面を開けるようにする方法です。WordPress.orgのドキュメントは、ApacheやNginxでの設定例を示したうえで、制限する範囲は /wp-login.php と /xmlrpc.php などに絞り、スマートフォンアプリや外部連携の例外を記録しておくよう勧めています。外出先や在宅で更新する場合は、自分たちが締め出されないかを先に確認してください。
Basic認証(ログイン画面の手前に、もう1つパスワードをかける)
サーバーの機能で、ログイン画面の手前に別のIDとパスワードを求める方法です。WordPress.orgの「Hardening WordPress」は、サーバー側のパスワード保護を「第2の防御層」と説明する一方、/wp-admin/ 全体を保護すると一部の機能が動かなくなる可能性があると注意しています。現在の公式ドキュメントでは、保護の対象を /wp-login.php に絞る例が示されています。
IP制限やBasic認証は、契約しているサーバーの管理画面で設定できる場合があります。サーバー側の設定の考え方はサーバーのセキュリティ対策で解説しています。
XML-RPCを無効化または制限する
XML-RPCは、外部のアプリやサービスからWordPressを操作するための古い仕組みです。使っていなければ無効にします。SiteGuard WP Plugin、Wordfence Security、Limit Login Attempts Securityなどに、XML-RPCを無効化・保護する機能があります。WordPressのスマートフォンアプリや外部サービスとの連携で使っている場合があるため、止める前に確認しましょう。
アプリケーションパスワードを見直す
WordPress 5.6から、外部のアプリがWordPressに接続するための「アプリケーションパスワード」が使えるようになりました。WordPressの開発者向け発表によると、これは外部アプリ専用で、通常のログイン画面からは使えません。各ユーザーの編集画面で発行済みのものを確認でき、心当たりのないものは取り消せます。外部連携を使っていないサイトでは、設定で機能自体を止めることもできます。
ユーザー名とアカウントを守る
ログイン画面の設定がどれだけ強くても、ログインできる人が多すぎたり、ユーザー名が簡単に分かったりすれば、守りは弱くなります。
- 「admin」を使わない:WordPress.orgは、adminやwebmasterのような推測しやすいユーザー名を避けるよう勧めています。すでに使っている場合は、新しい管理者アカウントを作って移行します。
- ユーザー名を表に出さない:投稿者の表示名(ニックネーム)をログイン用のユーザー名と同じにしないようにします。
/?author=1のようなURLからユーザー名を調べられるのを防ぐ機能は、SiteGuard WP PluginやAIOSにあります。 - 管理者権限を必要な人だけにする:記事を更新するだけの担当者は「編集者」や「投稿者」で足ります。
- ログイン通知を受け取る:SiteGuard WP Pluginのように、ログインがあるたびにメールで知らせる機能を使うと、身に覚えのないログインに気づけます。
WordPressの管理画面に
誰が入れるか不安な方へ
久留米市・福岡市で
WordPressサイトのアカウント整理・ログイン保護の設定を
無料でご相談いただけます。
- ユーザーアカウントと権限の確認
- 二段階認証・ログイン保護のご提案
- 保守費用の目安のご提示
アイエムワークスが引き継ぎの現場で見てきた「ログインの抜け穴」
ここでは、当社がWordPressサイトの保守を他社から引き継いだときに見つかったアカウントの状態と、実際に行っている対処を紹介します(担当者への聞き取り、2026年10月時点)。
ログイン画面の設定より先に、ログインできる人を整理する
引き継いだWordPressサイトでは、ユーザー一覧に次のようなアカウントが見つかることがあります。
| 見つかるアカウント | ログインの面でのリスク |
|---|---|
| 退職したスタッフのアカウント | パスワードが変更されないまま残り、持ち主が把握していない |
| 以前の制作会社・保守会社のアカウント | 契約が終わっても管理画面に入れる状態が続く |
| 複数人で共有しているID | 誰がログインしたか追えず、二段階認証も設定しにくい |
| 必要以上に多い管理者アカウント | 1つ乗っ取られただけでサイト全体を操作される |
| 誰のものかわからないアカウント | 不正に作られたものかどうかも判断できない |
当社では、次の順で整理しています。
- 不要なアカウントは、お客様に確認したうえで削除する
- 共有IDをやめ、1人1アカウントにする
- 管理者権限を必要な人だけに絞る
- 残すアカウントのパスワードを変更する
- 二段階認証を設定する
- アカウント台帳を作り、お客様と共有する
順番には理由があります。不要なアカウントを残したまま二段階認証を設定しても、設定されないアカウントが抜け穴として残るからです。
改ざんの復旧事例:入口は正規のログイン
当社が復旧を担当した改ざん事例では、パスワードの使い回しによる不正ログインが原因でした。脆弱性を突かれたのではなく、正しいIDとパスワードでログインされたため、ログイン試行回数の制限では防げないケースです。当社の定期巡回(目視によるチェック)で見つかり、復旧までに約2週間かかりました。再発防止策として、管理画面に二段階認証を導入しています。
ログイン試行回数の制限やログインURLの変更は「総当たり」には効きますが、「使い回しで知られてしまったパスワード」には効きません。こうした事例があるため、ログイン画面の対策では二段階認証を最優先に考えてください。
当社の保守サイトで設定しているログイン保護
当社の保守サイトでは、ログイン保護として二段階認証を設定しています。方式は、スマートフォンの認証アプリと、メールで届くコードの2種類です。
二段階認証の端末をなくしたときの当社の対応
お客様がスマートフォンをなくしたり、機種変更でログインできなくなったりしたときは、次の順で対応しています。
- 電話やメールで、ご本人であることを確認する
- 当社の管理者アカウントでログインし、そのお客様のアカウントの二段階認証をいったん解除する
- 新しい端末で、二段階認証を設定し直す
本人確認を先に行えば、「スマートフォンをなくした」と装った第三者に二段階認証を外される事態を防げます。自社で管理する場合も、解除できる管理者を決めておき、本人確認の手順をあわせて決めておきましょう。
自分が締め出されないための備え
ログイン保護を強くするほど、管理者自身がログインできなくなるリスクも高まります。設定の前に、次の備えをしておきましょう。
- サーバーの管理画面とFTPに入れることを確認する:WordPress.orgのFAQは、管理画面に入れないときに、FTPやファイルマネージャーで
wp-content内のpluginsフォルダの名前を変えて、プラグインをまとめて無効化する方法を案内しています。 - 二段階認証のバックアップコードを保管する:担当者のスマートフォンが使えなくなっても入れるようにします。
- 変更後のログインURLを記録する:担当者だけが知っている状態にしないようにします。
- 自社のIPアドレスを許可リストに入れる:ロックの対象から外せるプラグインやサーバー機能があります。
- バックアップを取ってから設定する:設定の誤りで動かなくなったときに戻せるようにします。
それでも身に覚えのないログインや、知らない管理者アカウントを見つけた場合は、乗っ取りの可能性があります。WordPressのマルウェア感染・改ざんからの復旧手順を確認し、早めに保守会社に相談してください。
WordPressのログイン画面のセキュリティ点検リスト
- 管理者アカウントに二段階認証(またはパスキー)を設定している
- 二段階認証のバックアップコードを安全な場所に保管している
- ログイン試行回数の制限を、サーバーかプラグインで設定している
- 「admin」など推測しやすいユーザー名を使っていない
- 表示名(ニックネーム)をログイン用のユーザー名と別にしている
- 退職者・旧制作会社のアカウント、共有IDが残っていない
- 管理者権限を持つアカウントが必要最小限になっている
- 使っていない場合、XML-RPCを無効化している
- 心当たりのないアプリケーションパスワードがない
- ログインURLを変更している場合、URLを担当者と保守会社で共有している
- ログイン保護の機能が、複数のプラグインやサーバーで重複していない
アカウントの管理や更新を含めて継続的に任せたい場合は、WordPressの保守管理とは?で依頼できる内容を解説しています。
まとめ|ログイン画面は「認証の強化」を最優先に
- WordPressのログイン画面は
/wp-login.phpと/xmlrpc.phpが決まった場所にあり、総当たり攻撃の標的になりやすい入口です。 - 優先するのは、二段階認証(できればパスキー)、ログイン試行回数の制限、不要なアカウントの削除と権限の整理の3つです。
- ログインURLの変更は攻撃の数を減らす補助策で、WordPress.orgも「唯一の防御にすべきではない」としています。ほかのプラグインのURL変更機能と併用しないよう注意します。
- 試行回数の制限は、サーバーの機能があればサーバー側を優先すると、攻撃時の負荷を抑えられます。
- 当社の改ざん復旧事例の原因は、パスワードの使い回しによる正規ログインでした。試行回数の制限では防げないため、二段階認証の設定を最優先にしてください。
参考資料・出典
- WordPress.org「Brute Force Attacks」(Advanced Administration Handbook、最終更新 2026年2月25日) https://developer.wordpress.org/advanced-administration/security/brute-force/
- WordPress.org「Hardening WordPress」(Advanced Administration Handbook、最終更新 2026年1月7日) https://developer.wordpress.org/advanced-administration/security/hardening/
- WordPress.org「FAQ Troubleshooting」(最終更新 2026年7月3日) https://wordpress.org/documentation/article/faq-troubleshooting/
- Make WordPress Core「Application Passwords: Integration Guide」2020年11月5日 https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/
- WordPress.org「Two Factor」(2026年10月9日確認) https://wordpress.org/plugins/two-factor/
- WordPress.org「Wordfence Security – Firewall, Malware Scan, and Login Security」(2026年10月9日確認) https://wordpress.org/plugins/wordfence/
- WordPress.org「All-In-One Security (AIOS) – Security and Firewall」(2026年10月9日確認) https://wordpress.org/plugins/all-in-one-wp-security-and-firewall/
- WordPress.org「Kadence Security – Password, Two Factor Authentication, and Brute Force Protection」(2026年10月9日確認) https://wordpress.org/plugins/better-wp-security/
- WordPress.org「SiteGuard WP Plugin」(2026年10月9日確認) https://wordpress.org/plugins/siteguard/
- WordPress.org「Limit Login Attempts Security」(2026年10月9日確認) https://wordpress.org/plugins/limit-login-attempts-reloaded/
- エックスサーバー「『WordPress管理画面へのアクセスが拒否されました』と表示されました」(FAQ) https://www.xserver.ne.jp/support/faq/service_hp_wp_access_denied.php
よくある質問
- 変更すると、標準のURLを狙う機械的なアクセスは減らせます。ただしWordPress.orgの公式ドキュメントは、ログインURLを隠すことを唯一の防御にすべきではないとしています。二段階認証とログイン試行回数の制限を先に設定し、URL変更は補助として使いましょう。





