WordPressは多くのウェブサイトで利用されている人気のCMSですが、そのデフォルトのログインURLはセキュリティ上のリスクを伴います。
この記事では、プラグインを使用せずにWordPressのログインURLを変更する方法について詳しく解説します。
具体的には、functions.php
ファイルの編集手順や、変更後の確認方法、正常にログインできるかのテスト方法を紹介します。
これにより、サイトのセキュリティを強化し、安全な運営を実現するための知識を提供します。
WordPressのログインURLを変更する理由
WordPressは非常に人気のあるCMS(コンテンツ管理システム)であり、その使いやすさから多くのウェブサイトで利用されています。
しかし、その人気ゆえに、WordPressのログインページはハッカーや悪意のある攻撃者の標的になりやすいです。
ここでは、WordPressのログインURLを変更する理由について詳しく説明します。
セキュリティの向上
最も重要な理由の一つは、セキュリティの向上です。
デフォルトのログインURL(wp-login.php)は広く知られているため、攻撃者はこのURLを利用してブルートフォース攻撃を試みることができます。
ログインURLを変更することで、攻撃者がログインページにアクセスするのを難しくし、セキュリティを強化することができます。
不正アクセスの防止
ログインURLを変更することで、不正アクセスのリスクを減少させることができます。
特に、管理者や重要なユーザーのアカウントが狙われることが多いため、ログインURLを隠すことは有効な対策となります。
これにより、攻撃者がログインページを見つけるのが難しくなり、アカウントの安全性が向上します。
スパムやボットからの保護
多くのスパムボットは、デフォルトのログインURLを利用して自動的にログインを試みます。
ログインURLを変更することで、これらのボットからの攻撃を防ぎ、サイトのパフォーマンスを向上させることができます。
ボットによる不正なログイン試行が減少することで、サーバーへの負荷も軽減されます。
以上の理由から、WordPressのログインURLを変更することは、セキュリティが向上する重要な施策です。
次のセクションでは、具体的な変更方法について詳しく見ていきます。
functions.phpの編集
プラグイン無しでWordPressのログインURLを変更するためには、テーマのfunctions.php
ファイルを編集する必要があります。
このセクションでは、テーマファイルエディターへのアクセス方法から、必要なコードの追記、確認方法、カスタマイズのポイントまで詳しく説明します。
テーマファイルエディターへのアクセス
管理画面メニューからの手順
まず、WordPressの管理画面にログインします。
左側のメニューから「外観」を選択し、その中の「テーマファイルエディター」をクリックします。
この操作により、現在使用しているテーマのファイルにアクセスできるようになります。
使用中のテーマの選択
テーマファイルエディターに移動したら、画面の右側に表示されるテーマの一覧から、現在使用中のテーマを選択します。
特に、子テーマを使用している場合は、子テーマを選択することをお勧めします。
これにより、親テーマのアップデートによる変更の上書きを避けることができます。
functions.phpの編集
追記するコードの説明
functions.php
ファイルは、テーマの機能を拡張するための重要なファイルです。
このファイルに特定のコードを追記することで、WordPressのログインURLを変更することができます。
以下に示すコードは、ログインURLをカスタマイズし、セキュリティを強化するためのものです。
コードの具体例
以下のコードをfunctions.php
に追記します。
このコードは、ログインURLを変更し、特定の条件を満たさない場合には403エラーを返すように設定されています。
// ここでログイン画面へのURLを指定する
define( 'LOGIN_CHANGE_PAGE', 'wp-login-test' );
// オリジナルのログインURL以外は403エラー
if ( ! function_exists( 'wp_login_url_403_error' ) ) {
function wp_login_url_403_error() {
if ( strpos( $_SERVER['REQUEST_URI'], 'wp-login.php' ) !== false && strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) === false ) {
status_header( 403 );
exit;
}
}
}
add_action( 'login_init', 'wp_login_url_403_error' );
// 新しいログインURLを処理する
if ( ! function_exists( 'wp_login_change_page' ) ) {
function wp_login_change_page() {
$request = $_SERVER['REQUEST_URI'];
$login_page = '/' . LOGIN_CHANGE_PAGE;
if ( $request == $login_page || strpos( $request, $login_page . '?' ) === 0 ) {
global $user_login, $error;
$user_login = '';
$error = '';
require_once( ABSPATH . 'wp-login.php' );
exit;
}
}
}
add_action( 'init', 'wp_login_change_page' );
// ログインURLを変更する
if ( ! function_exists( 'wp_login_change_site_url' ) ) {
function wp_login_change_site_url( $url, $path, $orig_scheme, $blog_id ) {
if ( ( $path == 'wp-login.php' || preg_match( '/wp-login\.php\?action=\w+/', $path ) ) &&
( is_user_logged_in() || strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false ) ) {
$url = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $url );
}
return $url;
}
}
add_filter( 'site_url', 'wp_login_change_site_url', 10, 4 );
// ログアウト時のリダイレクト先の設定
if ( ! function_exists( 'wp_logout_redirect_setting' ) ) {
function wp_logout_redirect_setting( $location, $status ) {
if ( strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false ) {
$location = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $location );
}
return $location;
}
}
add_filter( 'wp_redirect', 'wp_logout_redirect_setting', 10, 2 );
?>
追記後の確認方法
コードを追記したら、必ず変更を保存します。
保存後、ブラウザを開いて新しいログインURL(例:https://example.com/wp-login-test
)にアクセスしてみてください。
正しく設定されていれば、ログイン画面が表示されるはずです。

また、デフォルトのログインURL(wp-login.php
)にアクセスすると、403エラーが表示されることを確認します。

コードのカスタマイズ
上記のコードでは、LOGIN_CHANGE_PAGE
の部分を自分の好みに合わせて変更することができます。
// wp-login-testの部分を書き換える
// 必ず ' か " で囲むように!
define( 'LOGIN_CHANGE_PAGE', 'wp-login-test' );
例えば、LOGIN_CHANGE_PAGE
に__secret
とすると、fhttps://example.com/__secret
がログインページになります。
これにより、より安全なログインURLを作成することができます。
注意点
functions.php
を編集する際は、必ずバックアップを取ることが重要です。
誤ったコードを追記すると、サイトが正常に動作しなくなる可能性があります。
また、変更後は必ず動作確認を行い、問題がないことを確認してください。
特に、ログインURLを変更した後は、必ず新しいURLでログインできるかを確認することが大切です。
以上の手順を踏むことで、WordPressのログインURL変更後の確認作業をスムーズに行うことができます。
設定が正しく行われていれば不正ログインに強くなって、セキュリティが向上し、より安全にサイトを運営することができるでしょう。