・プラグインなしでユーザー名を隠す方法
・投稿者アーカイブを無効化する方法
・「Edit Author Slug」を使ってユーザー名を隠す方法
ブログのセキュリティ対策をするなら、まずユーザー名は隠すようにしましょう。
WordPressはユーザー名とパスワードの2つを使用してログインします。ところが、ユーザー名は初期設定のままだと誰でも確認できちゃうのです。あとはパスワードさえ分かればログインできる訳なので、セキュリティ上問題があるのは明白ですよね。
そこで今回は、プラグインなしでユーザー名を隠す方法と、ユーザー名を隠すプラグイン「Edit Author Slug」の導入方法をご紹介します。
ユーザー名を晒すリスク
WordPressサイトには「投稿者アーカイブ」が標準で設置されています。投稿者アーカイブはユーザー別の投稿を一覧表示してくれるページです。
ところが、この投稿者アーカイブのURLには「ユーザー名」が使われています。しかも、ページへのリンクを貼っていなくても “https://ドメイン名/?author=1” からリダイレクトされるため、誰でも簡単にユーザー名を確認できちゃいます。


ブルートフォース攻撃のリスクが上がる

「ユーザー名がバレてもパスワードがあるから問題ないでしょ」と思っていませんか?
ユーザ名を知られれば、ログインのために必要な試行パターンが減り、ブルートフォース攻撃の成功率が上がってしまいます。※ブルートフォース攻撃:様々な文字列の組み合わせを入力する総当たりのハッキング
不正ログインを許さないためには、ユーザー名とパスワードの両方を必ず隠すようにしましょう。また、ログインの試行回数を制限する「Limit Login Attempts Reloaded」も併せて導入すれば、ブルートフォース攻撃のリスクはグッと下がりますよ。

ユーザー名を隠す方法
それでは本題のユーザー名を隠す方法を紹介していきます。手順としては以下の2つです。
- サイト上のユーザー名を隠す
- ブログ上の表示名をニックネームに変更する
- 投稿者アーカイブのURLを隠す
- 投稿者アーカイブを無効化する(一人でサイト運営)
- 投稿者アーカイブのURLだけ変更する(複数人でサイト運営)
1、サイト上のユーザー名を隠す
著者名はサイトのあらゆる場所で使用されます。投稿者アーカイブはもちろんのこと、使用しているテーマによっては記事の冒頭などにも表示できます。
ところが、初期設定のままだと著者名にユーザー名が使用されています。そのままにしておくとユーザー名が丸わかりなので、忘れず変更しておきましょう。
ブログ上の表示名をニックネームに変更する
著者名はサイドバーの ユーザー> プロフィール から設定可能です。

「ブログ上の表示名」はユーザー名、本名、ニックネームの三つから選択可能です。ニックネームか本名を選択しておきましょう。
2、投稿者アーカイブのURLを隠す
次に、以下のどちらかの方法で、投稿者アーカイブのURLからユーザー名がバレないようにします。
- 投稿者アーカイブを無効化する
- Edit Author Slugで投稿者アーカイブのURLだけ変更する
投稿者アーカイブを無効化する
複数人で運営している時しか投稿者アーカイブは役に立ちません。一人でサイトを運営しているなら、投稿者アーカイブ自体を無効化しちゃいましょう。
やり方は色々とありますが、今回は一番簡単なfunctions.phpに追記する方法を紹介します。
手順としては、以下のコードをfunctions.phpに貼り付けるだけ。これで投稿者アーカイブへのアクセスを禁止してリダイレクトします。リダイレクト先はTOPページと404ページの二通り用意したので、どちらか片方だけご利用ください。
・作業前にはバックアップ推奨
・貼り付ける場所:外観 > テーマ編集 > 子テーマのfunctions.php
・テーマ側の指定した箇所に追記しましょう
・使用するコードは二つの内どちらか片方
・TOPページへリダイレクト
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( home_url( '/' ) ); //TOPページへリダイレクト
exit;
}
}
add_action('init', 'disable_author_archive');
・404ページへリダイレクト
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( home_url( '/404.php' ) ); //404ページへリダイレクト
exit;
}
}
add_action('init', 'disable_author_archive');
SEO SIMPLE PACKなら簡単に設定可能
SEO用のプラグイン「SEO SIMPLE PACK」を利用している方は、一般設定からワンクリックで投稿者アーカイブを無効化することができます。有料テーマのSWELL利用者は一度確認してみてください。

Edit Author Slugで投稿者アーカイブのURLを変更する
「Edit Author Slug」というプラグインを利用して、URLのユーザー名が記された部分だけ変更するという方法です。どうしても投稿者アーカイブを使いたいという方は、こちらの方法がオススメです。
Edit Author Slugの設定・使い方
- (1)インストール・有効化する
-
水色の背景が目印です。
- (2)ユーザーのプロフィールを開く
-
有効化出来たら、サイドバーから ユーザー> プロフィール を選択します。
- (3)投稿者スラッグを変更する
-
プロフィール設定の下の方に、「投稿者スラッグ編集」が追加されています。。
初期設定でユーザー名になっているので、他のものに変更しましょう。ここで選択した投稿者スラッグが投稿者アーカイブのURLの末尾になります。(今回は無難に”user-name”としています)
変更が済んだらプロフィールを更新をクリックして設定完了です。
- (4)動作を確認
-
実際にプラグインが動作しているか確認してみましょう。
ブラウザのURL欄にhttps://ブログのドメイン名/?author=1
と入力して、先ほど設定したスラッグが表示されたらOKです。
まとめ
今回はセキュリティ上大切な、サイト訪問者からユーザー名を隠す方法について紹介しました。
- WordPressの初期設定だと、ユーザー名を誰でも知ることができる
- ユーザー名の漏洩はブルートフォース攻撃(総当たりログイン)のリスクにつながる
- WordPress設定から「ブログ上の表示名」をユーザー名から変更する
- (投稿者アーカイブが不要なら)functions.phpを編集して無効化する
- (投稿者アーカイブが必要なら)Edit Author SlugでURLを変更する
ユーザー名を知られなければログインを突破されるリスクは、かなり軽減します。プラグインを使わなくてもユーザー名は簡単に隠せるので、サイトを守るためにもぜひやっておきましょう。