なぜログインURLを変更するのか
WordPressで作成したブログやWEBサイトがいつの間にか乗っ取られることがあります。
せっかく書き溜めたブログやアフィリエイトで稼いでいるWEBサイトにアクセスできなくなると目も当てられません。。
そうならないようにセキュリティを高めるためにもログインURLは変更しましょう。
ログイン用PHPファイル作成
サーバーのFTPソフトでサーバー内にアクセスし、wp-login.phpファイルがある階層(基本最初の階層)に新しいファイルを作成する。(この名前が自サイトアドレス以降のログインURLになる)
(例)「test-login.php」とういうファイルを作成した場合
URLがhttps://web.weassist.jpの場合
https://web.weassist.jp/test-login.php
でアクセス可能になる。
作成するファイルは以下の内容になります。
<?php
define('MY_LOGIN', password_hash('nininomojiretsu', PASSWORD_DEFAULT));
require_once './wp-login.php';
?>

上記コード内に「nininomojiretsu」を任意の文字列に変更します。
今回は「test2022」としておきます。
後で出てくる、認証する際にこの文字列を使用します。
「functions.php」のbackupを作成する
次にfunctions.phpの内容を変更していくのですが、変更する前にbackupファイルを作成しておくことを強くお勧めします。
何かあった際にコピーさえあれば最終的に元に戻せるので安心だからです。

サーバー内のファイルを変更する際はbackupを作成する癖をつけましょう
・functions.phpはwp-includesフォルダーの中にあることが多い。
・backupはファイル名を「functions_backup.php」、「functions_bp.php」などにしておくとわかりやすい
「functions.php」を編集する
下記のコードを「functions.php」の一番下に追記する
// ログインURLを変更
// 定数を定義
define('MY_LOGIN_PAGE', 'filename.php');
// 新しいログインURL以外はトップページにリダイレクト
if(!function_exists('login_redirect_home_url')){
function login_redirect_home_url(){
if(defined('MY_LOGIN') === false || password_verify('nininomojiretsu', MY_LOGIN === false)){
wp_safe_redirect(esc_url(home_url()));
exit;
}
}
}
add_action('login_init', 'login_redirect_home_url');
// ログイン済み or 新しいログインURLは、「wp-login.php」のリンクを新しいログインURLに置換
if(!function_exists('login_replace_new_url')){
function login_replace_new_url($path, $scheme){
if(strpos($path, 'wp-login.php') && (is_user_logged_in() || strpos($_SERVER['REQUEST_URI'], MY_LOGIN_PAGE) !== false)){
$path = str_replace('wp-login.php', MY_LOGIN_PAGE, $path);
}
return $path;
}
}
add_filter('site_url', 'login_replace_new_url', 10, 2);
青マーカーの「filename.php」を上記で作成したファイル名に変える
今回だと「test-login.php」に変更
黄色マーカーのnininomojiretsuを上記で作成した任意の文字列に変える
今回だと「test2022」に変更
まとめ
以上となります。
最後に新しく設定したURL以外はTOPページにリダイレクトされる事を確認して終了となります。
※通常のWEBモードだとキャッシュが残ってたりしてアクセスできてしまう場合があるのでシークレットモードで確認することをお勧めします。

新しいURLをブックマークしておくことも忘れずに。
コメント