WordPressでは、記事を投稿した投稿者ごとにアーカイブページ(著者ページ)が自動的に作成される仕様となっています。投稿者アーカイブページのURLにはユーザー名が含まれる為、使用しない場合はセキュリティ上無効化しておいた方がいいかと思います。
今回は、その投稿者アーカイブ(著者ページ)を無効化する方法を解説していきます。
投稿者アーカイブ(著者ページ)とは
投稿者アーカイブ(著者ページ)とは、Wordpressで記事を投稿した際に自動で生成される投稿者ごとのアーカイブページの事です。投稿者アーカイブには以下のURLでアクセスする事ができます。
https://ドメイン名/?author=1
WordPressで作成されているサイトに上記のURLでアクセスすると、下記のようなURLにリダイレクトされます。
https://ドメイン名/author/ユーザー名/
このURLが投稿者アーカイブページとなります。
他にもユーザーが作成されている場合は、「/?author=2」や「/?author=3」でアクセスできようになっています。
そもそも無効化した方がいいのか
冒頭で投稿者アーカイブページのURLにはユーザー名が含まれる為、使用しない場合には無効化した方がいい、と解説しましたが、Googleや各種SNSなどの様々なWebサービスではユーザー名が見えているのが一般的です。
セキュリティ上ユーザー名が見えなくした方がいいかとは思いますが、他に優先するセキュリティ対策があるかと個人的には思っています。例えばですが、
- ログインURLをデフォルトから変更する
- 各種アップデートを実行する
- アカウントのパスワードを強固にする
- PC側のセキュリティ対策
- 管理画面のアクセスにベーシック認証をかける
など、優先的にするセキュリティ対策は多くあります。
ユーザー名が分からなくするのも大切なセキュリティ対策にはなりますので、上記のような対策も踏まえた上で行っていただきたいなと思っています。
無効化する方法
それでは、投稿者アーカイブページを無効化する方法について解説します。
無効化するにはfunctions.phpに以下を追加します。
add_filter('author_rewrite_rules', '__return_empty_array');
function disable_author_archive(){
if(isset($_GET['author']) || preg_match('#/author/.+#', $_SERVER['REQUEST_URI'])){
wp_redirect(home_url('/404.php'));
exit;
}
}
add_action('init', 'disable_author_archive');
上記を追加すると、投稿者アーカイブページにアクセスされた際に404ページが表示されるようになります。
※上記をfunction.phpに追加した際に、管理画面の「設定」→「パーマリンク」→「変更を保存」を行うようにしてください。
以上が投稿者アーカイブ(著者ページ)を無効化する方法となります。
さいごに
いかがでしたでしょうか。
今回は、自動作成される投稿者アーカイブ(著者ページ)を無効化する方法について解説しました。
WordPressは多くのサイトで使用されている為セキュリティ上狙われやすくもなっています。今回の対策も含めしっかりと対策を行うようにしてください。