WordPressサイトで、以下のようなURLにアクセスすると、対象ユーザーが作成した投稿の一覧ページが表示されます。
http://example.com/author/ユーザー名/
また、以下のように「?author=1」を付けてアクセスすると、ユーザーIDが1のユーザーの著者別アーカイブページにリダイレクトされます。リダイレクト先のURLには管理者のユーザー名が含まれるので、WordPressのログインIDがわかってしまうわけですね。
http://example.com/?author=1
ログインIDがバレるのを防ぐための対策として、著者別アーカイブページ自体を無効化してしまうという方法があります。
以前、著者別アーカイブページを無効化する「Remove Author Pages」というプラグインを紹介しましたが、今回はfunctions.phpにコードを追加することで、著者別アーカイブページを無効化する方法をご紹介したいと思います。
WordPressでプラグインを使わずに著者別アーカイブページを無効化する方法
適用しているテーマのfunctions.phpに以下を追加します。コピペでOKです。
function disable_author_archive() {
if( preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( esc_url(home_url('/')) );
exit;
}
}
add_action('init', 'disable_author_archive');
上記をfunctions.phpに追加することで、著者別アーカイブページにアクセスしようとしても、トップページにリダイレクトされるようになります。
あとがき
ちなみに、ログインIDがバレても問題ない、そんなことよりパスワードを強化すべきだ、という意見もあります。
例えば、Twitterはアカウント名がそのままログインIDになっているので、誰でもログインIDまではわかっちゃいますね。なので、パスワードを強化することが非常に重要です(当たり前ではありますが…)。
そんなわけで、そこまで神経質にならなくても良い気はしますが、気になる方は著者別のアーカイブページを無効化しておきましょう。