投稿者ページを無効化する方法

[WordPress] 投稿者ページを無効化する方法

※ 当サイトは広告を含みます。

WordPressの[投稿者ページ]を無効化する方法です。

個人ブログみたいに投稿主(=管理人)で1人運営してる場合はページ自体に意味がないと思います。
投稿者ページに管理人の情報を記載する方法もありますが、独自aboutページとか別SNSに飛ばしたほうが魅力的だと感じます。

◆ 安全にfunctions.phpをカスタマイズする方法
functions.phpの修正に不安がある人は以下を参考にしてください。

コードを追加する

functions.phpとかに以下のコードを追加します。


// Authorページの無効化
add_filter('author_rewrite_rules', '__return_empty_array');
add_action('init', function () {
  if (preg_match('#/author/.+#', $_SERVER['REQUEST_URI'])) {
    wp_redirect(esc_url(home_url('/404.php')));
    exit;
  }
});

なお、 URL?author=0みたいなリクエストも無効化した場合は以下のコードです。


// Authorページの無効化
add_filter('author_rewrite_rules', '__return_empty_array');
add_action('init', function () {
  if ($_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI'])) {
    wp_redirect(esc_url(home_url('/404.php')));
    exit;
  }
});

$_GET['author']って部分でリクエストを判断します。
僕はそっちは対処しなくてもいいと思ったので、最初のコードを使ってます。

参考サイト https://www.webdesignleaves.com/pr/wp/wp_user_enumeration.html
https://mucca-design.com/auther-archive-ineffective/

仕組み

無効化してるというより404ページに飛ばしてます。
結果として閲覧者からは無効化してるように見えます。

あとがき

よく投稿者ページを無効化しないとログインIDがバレるってやつありますよね。
正直、そこの対策を頑張るよりも複雑なパスワードと2段階認証を使うほうがいいと思います。

管理人
管理人

昨今の常識を考えると2段階認証は非プラグインでオプション実装してくれても良くない?

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。