
WordPress上で記事を投稿する際には、ログインしなければなりません。
そこで今回は、そんなWordpressのログインURLの変更方法をお伝えします。まず一番簡単なのはプラグインを使って変更する方法で、「SiteGuard WP Plugin」をインストールすると、簡単にログインURLを変更することができます。
\ Twitterでも口コミ良好! /
2021年5月31日にリリースされた、エックスサーバーのシステムをベースにしたシン・レンタルサーバー!
月額料金がスタンダードプランで1,540円〜(税込)なので、コスパよく爆速なサイト運営が可能に!
管理画面はエックスサーバーと同じで使いやすくなっているので、これからサイト運営をする方にはおすすめです!
CONTENTS
WordPressのログインURLの種類
まず、基本的にWordPressのログインURLは以下の2つのいずれかかと思います。
- http://サイトのURL/wp-login.php
- http://サイトのURL/wp/wp-login.php
ただし、WordPressのログインURLをデフォルトのままにしておくということは、WordPressを使っているサイトであると判明した瞬間、ログインURLも簡単に知られてしまうということです。
すると、そのログインURLに対して攻撃を与えられてしまう可能性もあります。そこでこのような攻撃を防ぐためには、ログインURL自体を変える必要があります。
WordPressのログインURLをプラグインを使わないで変更する方法
冒頭ではプラグインを利用したURLの変更方法をお伝えしましたが、プラグインを使わない方法もあります。
その手順は以下のようになります。
- ログインするために必要なPHPファイルを作成する
- 「functions.php」を編集する
- 新しいログインURLで確認する
それでは具体的にみていきます。
1.ログインするために必要なPHPファイルを作成する
まず、ログインするために必要になるPHPファイルを作成します。
例えば、「http://サイトのURL/wp-test-login.php」にしたい場合は、「wp-test-login.php」という名前のファイルを作成します。
ここで作成するPHPファイル名が、そのままログインURLになります。ファイル名はどんな名前でも構いません。
ファイルには、以下のコードを記述してください。
<?php define( 'LOGIN_CHANGE', sha1( 'keyword' ) ); require_once './wp-login.php'; ?>
2行目にある「keyword」は、このプログラムの中でキーワードになる部分です。好きなものに変更してください。
2.「functions.php」を編集する
次に「functions.php」を編集します。この「functions.php」は、WordPressの中でも一番重要なファイルです。
このファイルに1つでも記述ミスがあると、ログインできなくなってしまうので、編集する前に必ずバックアップを取っておきましょう。
そうしてバックアップを取った後に、以下のコードを追記してください。
// WordPressの管理画面ログインURLを変更する define( 'LOGIN_CHANGE_PAGE', 'wp-test-login.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は403エラーにする if ( ! function_exists( 'login_change_init' ) ) { function login_change_init() { if ( !defined( 'LOGIN_CHANGE' ) || sha1( 'keyword' ) != LOGIN_CHANGE ) { status_header( 403 ); 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; } }
2行目のPHPファイルは、1で作成したファイル名を記述してください。
そして、10行目の「keyword」は、1で記述したキーワードを記述してください。
3.新しいログインURLで確認する
最後に、新しく作成したログインURLでアクセスし、正しくログインできるか確認してみましょう。
WordPressでログイン画面が表示されない時の対処法
続いて、そもそもログインURLにアクセスしても、画面が真っ白に表示されてしまうことがあります。
今回はそんな時の対処法も、合わせてお伝えしておきます。
1.エラーの原因を表示させる
まずは、エラーの原因を表示させましょう。
PHPの場合、エラーの原因を表示させるためには、wp-config.phpコードを少しだけ書き換える必要があります。
「define(‘WP_DEBUG’,false);」を「define(‘WP_DEBUG’,true);」に書き換えます。
もし、「define(‘WP_DEBUG’,false);」がない場合は「define(‘WP_DEBUG’,true);」を書き加えてください。
書き加える場所は「define(‘ABSPATH’」の前ならどこでもOKです。
2.データベースのエラーを調べる
1の操作をしてもエラーが表示されなかった場合は、データベースのエラーを確認してみましょう。
データベースの場合、データベースが請われているなど、トラブルが生じている場合はエラーが表示されるはずです。
エックスサーバーなどのレンタルサーバー上にある、「phpMyAdmin」開いて確認してみます。
ユーザー名とパスワード、サーバーの種類を確認してから「phpMyAdmin」にログインしてください。
エラーが起こっている場合はログインするとエラーが表示されます。表示が見当たらない場合は、次の操作に移りましょう。
3.「functions.php」を調べる
「wp-config.php」や「phpMyAdmin」を確認してもエラーが見つからなかった場合は、「functions.php」を調べてみましょう。
ただし、「functions.php」で1つでも記述ミスがあると、ログインできなくなってしまいます。ですので、多少面倒ですが1行ずつ確認してみましょう。
また、カスタマイズして「functions.php」を編集した場合も、ログインできなくなってしまうことがあります。
編集する際には、必ずバックアップを取ってから行うようにしましょう。バックアップを取っておけば、万一ログインできなくなってもファイルをアップロードし直すだけでOKです。
WordPressのログインURL変更とセキュリティ対策のまとめとおすすめサーバー
以上になりますが、いかがでしたでしょうか?
WordPressのセキュリティは度々話題になる問題です。一番簡単なのは、「SiteGuard WP Plugin」の導入かと思いますので、サイト運営時には追加しておくのがおすすめです。
また、レンタルサーバーによっても、セキュリティの対策は異なります。当サイトはセキュリティ対策がなされており、不正ログインがあるとアラート機能があるエックスサーバーを利用しています。
エックスサーバーはセキュリティ面が充実していることに加えて、サーバーも安定しており、アクセス数が増えても耐えられる点がメリットです。ロリポップ!などよりも料金は若干高くなりますが、それでも初期費用無料、年間13,200円(税込)で運営が可能です。
セキュリティ面を気をつけたい方は、一度エックスサーバー の利用を検討されてみてはいかがでしょうか。