WordPressの[投稿者ページ]を無効化する方法です。
個人ブログみたいに投稿主(=管理人)で1人運営してる場合はページ自体に意味がないと思います。
投稿者ページに管理人の情報を記載する方法もありますが、独自aboutページとか別SNSに飛ばしたほうが魅力的だと感じます。
◆ 安全にfunctions.phpをカスタマイズする方法
functions.phpの修正に不安がある人は以下を参考にしてください。
functions.phpを直接修正するのは不具合時の対処やテーマ更新時に大変ですよね。それでも手間を減らす方法もあり、ここで紹介する方法と以下の記事の内容でそこそこ安全に改造できます。拡張用のfunctions.phpを新規作成する最初にカスタマイズ用のコードを記述するためのphpファイルを作成します。配置するディレクトリとファイル名は好みで大丈夫です。とりあえず、ここではfunctions.phpと同じディレクトリにextend-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段階認証は非プラグインでオプション実装してくれても良くない?
この記事は参考になりましたか?
コメント