月額定額制(サブスク)ホームページ制作 | ビズサイ
お役立ちコラム

WordPressのログインURLを変更する方法【初心者でもOK】

  
WordPressのログインURLを変更する方法

WordPress(ワードプレス)は、もっともメジャーなCMSで、多くの企業・団体・個人が利用しています。
近年、WordPressへの攻撃が急増しており、多くの被害が報告されています。

そのため、WordPressを利用するならセキュリティ向上が必要です。
手軽にセキュリティを高めるなら、ログインURLの変更がおすすめです。

『ログインURLの変更方法を知りたい』
『ログインURLを変更するプラグインはあるの?』
『プラグイン以外の変更方法は?』

上記のような疑問に今回のコラム記事では答えます。
くわえて、ログインURLを変更するプラグイン「WPS Hide Login」の設定方法についても解説します。

ログインURLを変更してセキュリティ強化

WordPressのログインURLは決まっています。
そのため、WordPressで作られたWebサイトなら、誰でもログイン画面を表示できます。

WordPressのログインURLを変更して、セキュリティを強化しましょう。
以下ではログインURLの種類と、ログインURLを変更しないことのデメリットについて解説します。

WordPressのログインURL

WordPressのログインURLは以下の4種類あります。

  • https://xxx.com/login/
  • https://xxx.com/admin/
  • https://xxx.com/wp-admin/
  • https://xxx.com/wp-login.php

このログインURLは全世界共通です。
WordPressで作られたWebサイトの設定がデフォルトのままなら、上記のURLで管理画面が表示されます。

ログインURLを変更しないことのデメリット

ログインURLが共通だと、誰にでもかんたんにログイン画面が表示できます。
悪意ある攻撃者からすれば格好の的です。

ログインURLを変更しないことは、セキュリティにおいて重大な脆弱性となります。

近年、WordPressへの攻撃で被害に遭うケースが増えています。
改ざんや乗っ取り、不正アクセスなどが主な被害です。

こういった被害に遭わないためにも、あらかじめログインURLを変更しておくことが求められます。

関連記事

WordPressのセキュリティ対策法は、以下のコラム記事で解説しています。

WordPressのセキュリティ対策法【プラグイン・サービスサイトも紹介】

WordPressのログインURLを変更する3つの方法

WordPressのログインURLを変更する方法は3つあります。

  • プラグインを導入
  • .htaccess
  • function.php

上記のなかでは、プラグインの導入がもっとも手軽で手間がかからない方法です。
残り2つの方法はソースコードを編集する必要があり、中級者以上を対象としています。

自分に最適なログインURLの変更方法を選択しましょう。

【方法①】プラグインを導入

WordPressのログインURLを変更する方法として、かんたんなのがプラグインの導入です。

ほかの方法はソースコードを編集しますが、プラグインの導入はノーコードで行えます。
ログインURLを変更するプラグインはいくつかリリースされていますが、一番シンプルなプラグインなら導入から変更まで数分で可能です。

ログインURLを変更するプラグインには「ログインロック」「ログイン通知」「画像認証」といった機能を備えているものもあります。

プラグインの導入でセキュリティを手軽に向上させましょう。

WordPressのログインURLを変更できるプラグインは後述します。
それぞれの特徴をチェックして、自分に最適なプラグインを導入しましょう。

【方法②】.htaccessでURLを変更

.htaccessとは、Webサーバーの基本的な動作を制御するファイルです。
レンタルサーバーに.htaccessを設置することで、いろいろな機能を実現できます。

ログインURLの変更も.htaccessで実現できる機能の1つです。
ただし、.htaccessでログインURLを変更するには、FTPソフトの操作やソースコードの編集が必要になります。
そのため、初心者にあまりおすすめできる方法ではありません。

.htaccessでログインURLを変更する方法なら、プラグインの導入が必要ありません。
プラグインを増やさずにログインURL変更を実現したいなら、.htaccessによる変更がおすすめです。

【方法③】function.phpで新しいログインページを作る

function.phpでも.htaccessと同じく、ログインURLの変更ができます。

function.phpによるログインURLの変更のメリットは、.htaccessを編集しないためキャッシュ系プラグインとの相性問題が発生しにくいことです。
一方、PHPファイルやfunction.phpの編集が必要で、初心者向けの方法ではありません。

どうしてもプラグインを増やしたくない場合に、function.phpを利用しましょう。

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

ログインURLを変更するプラグインを紹介します。
それぞれ特徴や機能がことなるため、自分のWebサイトに最適なプラグインを選択しましょう。

WPS Hide Login

WPS Hide Login

出典:WPS Hide Login

WPS Hide Loginは、もっともシンプルかつ手軽にログインURLを変更するプラグインです。

導入からログインURLの変更までを数十秒で行える、設定がわずか2つだけ、など手軽さなのがWPS Hide Loginの特徴です。

くわえて、ログインURLの変更を無効化したいときはプラグインを削除するだけです。
たとえば、ログインURLがわからなくなった場合でも、FTPソフトでサーバーに接続してプラグインを削除すれば、デフォルトのログインURLに戻ります。

WPS Hide Loginはその手軽さが受けて、100万以上インストールされている大人気プラグインです。

ログインURLを変更するだけなら、WPS Hide Loginがもっともおすすめです。

SiteGuard WP Plugin

SiteGuard WP Plugin

出典:SiteGuard WP Plugin

SiteGuard WP Pluginは、ログインURLを変更するだけでなく、さまざまな機能でブルートフォースアタック対策を行うプラグインです。

ブルートフォースアタックとは、ユーザー名やパスワードを総当たりで試す攻撃のことです。
ブルートフォースアタックに対抗するためには、ユーザー名とパスワードの強化やログインロック、ログインアラート機能などが求められます。

SiteGuard WP Pluginは、ログインURL変更以外にも「画像認証」「ログインロック」「ログインアラート」「フェールワンス機能」「ユーザー名漏洩防止機能」などの機能を備えています。

なお、SiteGuard WP Pluginは完全国産プラグインで、設定画面も日本語です。
くわえて、大手レンタルサーバーが推奨プラグインに指定するほど高い信頼性があります。

関連記事

SiteGuard WP Pluginの使い方は、以下のコラム記事で解説中です。

SiteGuard WP Pluginの設定方法【ログインできない場合の対処法も】

Login rebuilder

Login rebuilder

出典:Login rebuilder

Login rebuilderは、ログインURLの変更に特化したプラグインです。

ログインURLの変更のほかにも「管理者権限以外のユーザーに違うログインページを作る」「ログイン履歴の表示」「ログイン履歴にないIPからログインがあった場合に通知」「ピンバックの無効化」などの機能を備えています。

Login rebuilderは海外のプラグインですが、設定画面は日本語化されていて英語が苦手な人でも安心です。
ログインURLの変更だけなら、導入から設定まで数分で行えます。

それ以外の細かな設定を行うにはやや知識が必要です。
Login rebuilderは、中級者以上におすすめのプラグインです。

XO Security

XO Security

出典:XO Security

XO Securityは、ログイン関連のセキュリティを強化するためのプラグインです。
.htaccessに書き込まないため、キャッシュ系プラグインとも問題なく併用できるでしょう。

「ログインのログ保存」「ログイン試行回数の制限」「ログインアラート」「画像認証」「メールアドレスでのログイン禁止」といった機能が、XO Securityには備わっています。
また、上記以外にもさまざまな機能が搭載されており、多機能なプラグインです。

ステータス画面ではどの機能が有効になっているか一目でわかるように、チェックリスト形式になっています。
設定画面はすべて日本語化されているため、英語が苦手な人でも安心です。

WPS Hide Loginの設定方法

今回は、プラグインのWPS Hide Loginを使ってWordPressのログインURLの変更方法を解説していきます。
非常にシンプルなプラグインですので、設定に迷うことはないでしょう。

インストール

WPS Hide Loginのインストール方法は、ほかのプラグインと一緒です。

WPS Hide Loginのインストール方法

  1. WordPressの管理画面から「プラグイン」→「新規追加」を開く
  2. 画面右上の検索窓に「WPS Hide Login」と入力
  3. 表示されたら「今すぐインストール」をクリック
  4. インストールが完了したら「有効化」をクリック

プラグインの無効化または削除したいときには、WordPressの管理画面から「プラグイン」→「インストール済みプラグイン」を開き、WPS Hide Loginを無効化したあとに削除してください。

設定方法

WPS Hide Loginの設定画面

WPS Hide Loginの設定画面を開くには、WordPressの管理画面から「設定」→「WPS Hide Login」をクリックします。
もしくは「設定」→「一般」を開き、最下部までスクロールしましょう。

WPS Hide Loginで設定する箇所は2つだけです。

「ログインURL」は、ログインURLを設定してください。
「リダイレクトURL」は「404」のほか、Webサイトのトップページにリダイレクトする方法も考えられます。

最後に「変更を保存」をクリックすれば設定が反映されます。
ログインURLに設定したURLを、忘れずにブックマークしておきましょう。

.htaccessでログインURLを変更する方法

.htaccessは、Webサーバーの基本的な動作を制御するファイルです。
.htaccessにソースコードを追加することで、ログインURLを変更できます。

まず、FTPソフトでドメイン直下の「.htaccess」ファイルをダウンロードし、以下のコードを追記してください。

※バックアップを取ってから.htaccessの編集をしましょう

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^enter/?$ /wp-login.php?文字列 [R,L]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^dashboard/?$ /wp-login.php?文字列&redirect_to=/wp-admin/ [R,L]
RewriteRule ^dashboard/?$ /wp-admin/?文字列 [R,L]
RewriteRule ^register/?$ /wp-login.php?文字列&action=register [R,L]
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)サイトドメイン/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)サイトドメイン/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)サイトドメイン/enter
RewriteCond %{HTTP_REFERER} !^(.*)サイトドメイン/dashboard
RewriteCond %{HTTP_REFERER} !^(.*)サイトドメイン/register
RewriteCond %{QUERY_STRING} !^文字列
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=register
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?文字列 [R,L]
</IfModule>

「文字列」の部分は、ログインURLの末尾になる部分です。
半角英数字の文字列に書き換えてください。

「サイトドメイン」では「http://」や「https://」を付ける必要はありません。
「xxx.com」といった形で記載しましょう。

ソースコードの書き換えは、テキストエディタの置換機能を使うと便利です。
書き換えたら、FTPソフトでドメイン直下のディレクトリに.htaccessファイルをアップロードしましょう。

function.phpでログインURLを変更する方法

function.phpでログインURLを変更する手順を説明します。

まず、新しくログインファイル(.php)を作ります。
ファイル名は、半角英数字なら何でもかまいませんので、今回は「xxx.php」とします。
ファイルには以下の内容を記述しましょう。

<?php
define( 'LOGIN_CHANGE', sha1( 'keyword' ) );
require_once './wp-login.php';
?>

次に、function.phpをサーバーからダウンロードし、以下の記述を追加します。

※バックアップを取ってからfunction.phpの編集をしましょう

// WordPress管理画面のログインURLを変更する
define( 'LOGIN_CHANGE_PAGE', 'xxx.php' );
add_action( 'login_init', 'login_change_init' );
add_filter( 'site_url', 'login_change_site_url', 10, 4 );
add_filter( 'wp_redirect', 'login_change_wp_redirect', 10, 2 );
// 指定以外のログインURLはトップページへリダイレクト
if ( ! function_exists( 'login_change_init' ) ) {
function login_change_init() {
if ( !defined( 'LOGIN_CHANGE' ) || sha1( 'keyword' ) != LOGIN_CHANGE ) {
wp_safe_redirect( home_url() );
exit;
}
}
}
// ログイン済みか新設のログインURLの場合はwp-login.phpを書き換える
if ( ! function_exists( 'login_change_site_url' ) ) {
function login_change_site_url( $url, $path, $orig_scheme, $blog_id ) {
if ( $path == 'wp-login.php' &&
( is_user_logged_in() || strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false ) )
$url = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $url );
return $url;
}
}
// ログアウト時のリダイレクト先の設定
if ( ! function_exists( 'login_change_wp_redirect' ) ) {
function login_change_wp_redirect( $location, $status ) {
if ( strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false )
$location = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $location );
return $location;
}
}

「xxx.php」「function.php」どちらのファイルもFTPサーバーでアップロードしてください。
ファイルのアップロードが完了したら、動作を確認しましょう。

まとめ

WordPressのログインURLを変更する方法について解説しました。

WordPressのログインURLは世界共通で、誰でもログイン画面を表示できます。
セキュリティ向上のため、ログインURLの変更が必要です。

ログインURLを変更するには「プラグイン」「.htaccess」「function.php」の3つの方法があります。
3つの方法のなかで、もっともおすすめなのがプラグインです。
なぜなら、インストールしてかんたんな設定をするだけで、ログインURLの変更が実現できるからです。

ログインURLを変更するプラグインを導入して、WordPressのセキュリティを向上させましょう。

WordPressに関する記事

まずは無料でご相談ください。

※年末年始・土日祝は休業日となります
※受付時間 9:00~17:30
※担当者:佐藤 順規