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

[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段階認証は非プラグインでオプション実装してくれても良くない?

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

関連記事

コメント

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