こんにちは!副業ブログで小遣い稼ぎしているエンジニアのセンリです。
WordPressのログインURLを変更するにはどうしたらいい?
今回はこんな質問にお答えしていきます。
結論から言うと、変更する方法は2つあります。
WordPressのログインURLを変更する方法
- 【プラグインあり】「WPS Hide Login」を使う
- 【プラグインなし】PHPでコーディングする
簡単にログインURLを変更したい人はプラグインあり。
サイトをできるだけ軽量化したい人はプラグインなしを参考にしてください。
【プラグインあり】「WPS Hide Login」を使う
一番カンタンなログインURLの変更方法を説明しますね!
できるだけプラグインは使いたくないという人は飛ばしてOKです。
「PHPファイルを使う」から読み進めてください。
手順1:プラグインをインストール
まずは「管理画面」→「プラグイン」→「新規追加」からWPS Hide Loginをインストールしましょう。
右上のボックスから検索するとすぐに出てきます。
下のスクショにあるような画像がWPS Hide Loginです。
インストールが済んだら有効化しましょう。
手順2:WPS Hide Loginの設定を開く
有効化が済んだら「管理画面」→「設定」→「WPS Hide Login」からプラグインの設定を開きましょう。
この中のログインURLの「login」となっている部分を好きな文字列に変えれば、 ログインURLを変えることができます。
最初から表示されている「login」だと簡単に推測されてしまうので、ログインページだと推測されにくい文字列を入れておくといいですね!
今回は説明用に「logintest」としておきます。
入力したら「変更を保存」を押しましょう。
手順3:ログインURLの確認
最後にログインURLが変わったことを確認しましょう。
検索バーを見るとちゃんと「logintest」に変更されているのがわかります。
こうなればログインURLの変更は完了です。
【プラグインなし】PHPでコーディングする
できるだけプラグインを使いたくないという人はこちらを参考にしてください。
コーディングと言ってもコピペだけなので難しいPHPの知識は不要です。
手順1:ログイン用PHPファイルを作る
まずはログイン用のPHPファイルを作ります。
ファイル名が直接ログインURLになるので、推測されにくい文字列にしましょう。
今回は「logintest.php」としておきます。
ファイルの中身は下記の通りです。
<?php
define( 'LOGIN_CHANGE', sha1( 'passcode' ) );
require_once './wp-login.php';
?>
「passcode」は任意の文字列に変えてください。
手順2:function.phpにコードを書き加える
お使いのレンタルサーバーのファイルマネージャーから使っているテーマの「function.php」を開いて下記のコードを一番下に貼り付けてください。
コードを1文字でも間違えるとサイトが壊れてしまうことがあるので注意しましょう。
編集時には既存のファイルを必ずダウンロードしておきましょう。コードを間違えてサイトが壊れても、既存のファイルを再アップロードしてしまえば問題なしです。
// WordPressの管理画面ログインURLを変更
define( 'LOGIN_CHANGE_PAGE', 'logintest.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( 'passcode' ) != LOGIN_CHANGE ) {
wp_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;
}
}
上記コードの中の「logintest.php」は手順1で作成したPHPファイルの名前を入れましょう。
「passcode」には手順1のファイルの中に書いた任意の文字列を入れてください。
function.phpの場所がわからない人へ
WordPressの管理画面から「外観」→「テーマファイルエディター」からでもfunction.phpは編集できます。
ただし、ここでコードを間違えてしまってサイトが真っ白になってしまった場合、ファイルマネージャーから編集しなければいけなくなります。
テーマファイルエディターは自己責任でお願いします。
ここまで終われば設定は完了です。
ちなみに今回のコードは「Login rebuilderをやめてプラグイン無しで独自ログインURLを実装した話」のページを参考にさせていただきました。
WordPressのログインURL変更はセキュリティ効果絶大
ブログで収入を得ている人も多いこの頃、ブログが盗まれてしまってはせっかくの積み重ねも一瞬にして水の泡。
損失が数百万円となるブロガーさんも少なくありません。
サイトが乗っ取られて収益を丸潰しにしてしまったブロガーさんも実際にいます。 セキュリティ対策はガチで大事です。
セキュリティ対策はいろいろありますが、ログインURLの変更が簡単かつ効果絶大です。
やらない理由はありません。
今回は以上です。