2026年9月2日

2026年9月2日

WordPressの管理画面(ログイン)URLをカスタムパスに変更するセキュリティ設定と注意点

WordPressのログイン画面は、初期状態ではどのサイトでも /wp-login.php にあります。これを推測されにくいカスタムパスに変えると、ログイン画面を狙った自動攻撃の大半を門前払いでき、サーバー負荷やログのノイズも減らせます。この記事では、プラグインでログインURLを変更する手順、変更前に準備しておくこと、変更後につまずきやすい点と締め出されたときの戻し方までをまとめます。

ログインURL変更で防げること・防げないこと

最初に、この設定の効果の範囲をはっきりさせておきます。

ログインURLの変更は「攻撃の入口を見つけにくくする」対策です。総当たり攻撃(ブルートフォース)を仕掛けるボットの多くは、/wp-login.php や /wp-admin/ に機械的にアクセスしてきます。入口の場所を変えるだけで、こうした無差別なリクエストはログイン処理まで到達しなくなります。

一方で、次のような攻撃は防げません。

  • 推測しやすいパスワードを使っている場合の、新しいURLが漏れたあとの攻撃
  • xmlrpc.php 経由のログイン試行(XML-RPCを使っていないなら別途無効化を検討します)
  • プラグインやテーマの脆弱性を突く攻撃

つまり、ログインURLの変更は「強いパスワード」「二段階認証」「ログイン試行回数の制限」の代わりにはなりません。それらに上乗せする補助的な対策として位置づけるのが適切です。

作業前に準備しておくこと

ログインURLを変えると、設定ミスや新URLの失念で自分が管理画面に入れなくなることがあります。作業前に次の3点を用意してください。

  1. バックアップ:ファイルとデータベースの両方。プラグイン設定はデータベースに保存されます。
  2. FTP/SFTP またはサーバーのファイルマネージャーへのアクセス手段:締め出されたときに、プラグインのフォルダ名を変えて無効化するために使います。ログイン情報が手元にあるか確認しておきます。
  3. 新しいURLの控え:パスワードマネージャーなどに、サイトごとのログインURLとして保存しておきます。

複数人で運用しているサイトでは、変更日と新URLを関係者に共有する段取りも先に決めておくと混乱がありません。

プラグインでログインURLを変更する手順

WordPressコアにはログインURLを変更する設定画面がありません。login_url フィルターなどを使って自作することも技術的には可能ですが、パスワードリセットやログアウト、リダイレクト処理まで漏れなく対応するのは手間がかかるため、実績のあるプラグインを使うのが現実的です。

代表的な選択肢は次のとおりです(2026年10月現在)。

  • WPS Hide Login:ログインURLの変更だけを行う軽量なプラグイン。機能が少ないぶん、他のプラグインとの干渉が起きにくいのが利点です。
  • All In One WP Security & Firewall:総合セキュリティプラグインで、ログインページの名前を変更する機能を含みます。
  • Solid Security(旧 iThemes Security):管理画面を隠す機能を備えた総合セキュリティプラグインです。

すでに総合セキュリティプラグインを使っている場合は、その中の機能を使い、ログインURL変更のためだけに別プラグインを追加しないようにします。同じ役割のプラグインを重ねると、リダイレクトが衝突してログインできなくなる原因になります。

ここでは WPS Hide Login を例に流れを説明します。

  1. 管理画面の「プラグイン」→「新規追加」で WPS Hide Login を検索し、インストールして有効化します。
  2. 設定画面(「設定」→「一般」の下部などに項目が追加されます)で、ログインURLにするスラッグを入力します。
  3. 未ログイン状態で /wp-admin/ などにアクセスしたときの転送先も指定できます。初期値のままでも動作します。
  4. 変更を保存します。保存した時点で新しいURLが有効になります。

画面の表記や項目の位置はバージョンによって変わることがあるため、プラグインの説明ページもあわせて確認してください。

スラッグの決め方

スラッグは、login・admin・dashboard・サイト名そのものなど、すぐ思いつく単語を避けます。WordPressはもともと /login や /admin へのアクセスをログイン画面に転送する仕組みを持っているため、こうした単語では隠す意味が薄くなります。英数字とハイフンを組み合わせた、他人が推測しにくく自分は覚えておける文字列にしてください。

変更後に必要な確認

保存したら、ログイン中のブラウザとは別に、プライベートウィンドウを開いて次の動作を確かめます。

  • 新しいURLでログイン画面が表示され、ログインできるか
  • /wp-login.php と、未ログイン状態での /wp-admin/ が、ログイン画面を表示せずに設定した転送先へ移るか
  • 「パスワードをお忘れですか?」からのリセットメールに、新しいURLが入っているか
  • ログアウト後に、正しい画面へ戻るか

ログインの動作確認はプライベートウィンドウで行うのがポイントです。ログイン済みのブラウザでは管理画面が普通に開けてしまうため、設定が効いているかどうかを判断できません。

つまずきやすいポイント

キャッシュが古いログイン画面を返す

ページキャッシュ系のプラグインやCDNを使っていると、変更前の転送結果やログイン画面がキャッシュから返されることがあります。変更後はキャッシュを削除し、新しいログインURLをキャッシュ対象から除外してください。ログイン画面がキャッシュされると、フォームに埋め込まれた値が古くなってログインに失敗する原因にもなります。

サーバー側で wp-login.php を制限している

レンタルサーバーによっては、国外IPからの wp-login.php へのアクセスを制限する機能があります。プラグインでURLを変えても、内部的には wp-login.php の処理が動くため、サーバー側の制限に引っかかることがあります。ログインできない場合は、サーバーのコントロールパネルにあるWordPress向けセキュリティ設定も確認してください。

会員サイトやECサイトの独自ログイン

WooCommerce のマイアカウントページなど、フロント側のログインフォームを使っているサイトでは、そちらのフォームはURL変更の影響を受けないことが多い一方、リダイレクト先の設定が絡んで想定外の動きをすることがあります。会員がログインする導線も、変更後に一通り試してください。

締め出されたときの戻し方

新しいURLを忘れた、設定ミスで管理画面に入れなくなった、という場合はプラグインを無効化すれば元の /wp-login.php に戻ります。

FTP/SFTP やファイルマネージャーで wp-content/plugins/ を開き、該当プラグインのフォルダ名を一時的に変更します(例:wps-hide-login を wps-hide-login-off に)。WordPressはフォルダが見つからないプラグインを無効化するため、通常のログイン画面が使えるようになります。ログインできたらフォルダ名を戻し、改めて設定し直してください。

SSHでWP-CLIが使える環境なら、次のコマンドでも無効化できます。

# WordPressのインストールディレクトリで実行
wp plugin deactivate wps-hide-login

さらに守りを固めるなら

より強い保護が必要な場合は、ログインURLの変更に加えて、サーバー側で wp-login.php へのアクセス自体を制限する方法があります。固定IPから管理しているなら、Apache 2.4 では .htaccess に次のように書けます。

# 許可するIPは自分の環境の値に置き換える
<Files wp-login.php>
  Require ip 203.0.113.10
</Files>

IP制限は設定を誤ると自分も締め出されるため、編集前に .htaccess のコピーを取り、すぐ元に戻せる状態で作業してください。/wp-admin/ 全体を制限すると、フロント側の機能が使う admin-ajax.php まで止まることがある点にも注意が必要です。

まとめ

  • ログインURLの変更は、ボットによる無差別なログイン試行を減らす補助的な対策で、強いパスワードや二段階認証の代わりにはならない
  • 作業前にバックアップ、FTP/SFTPの接続手段、新URLの控えを用意する
  • コアに設定はないため、WPS Hide Login などのプラグインか、使用中のセキュリティプラグインの機能を使う。同じ役割のプラグインは重ねない
  • 変更後はプライベートウィンドウでログイン・リセット・ログアウトを確認し、キャッシュから新URLを除外する
  • 締め出されたら、プラグインのフォルダ名変更か WP-CLI で無効化すれば元のURLに戻る

お気軽にご相談ください

お見積りへ お問い合わせへ
▲