概要
WordPressのソースの中にはauthor名表示される箇所があります。そのauthor名から管理画面へログインされる可能性があるのでソースに表示されないようにします。
/?author=数字
でauthorページにリダイレクトした際にURLにauthor名が表示されるため、別のページにリダイレクト処理をします。
/*--------------------------------------------------------
// 投稿者アーカイブページへのアクセスを404ページへリダイレクト
--------------------------------------------------------*/
function author_archive_redirect() {
if (!is_admin()):
if($_GET['author'] !== null || $_POST['author'] !== null) {
// 404ページを表示する
wp_redirect( home_url('/404') );
exit;
}
endif;
}
add_action('init', 'author_archive_redirect');
下記に変更するとTOPページにリダイレクトします。
wp_redirect( home_url('/') );
プラグインを使用する場合はSiteGuard WP Pluginを使用して、ユーザー名漏えい防御をONにします。
dc:creatorに表示される内容はログインのときのIDと同じであるため変更する必要があります。authorの名前をサイトの名前 get_bloginfo( ‘name’ )に変更
/*--------------------------------------------------------
//feedのauthor名を変更
--------------------------------------------------------*/
function delete_feed_author($author) {
if(is_feed()){
$author = get_bloginfo( 'name' ) ;
}
return $author;
}
add_filter( 'the_author', 'delete_feed_author');
REST APIを変更
/wp/v2/users
、/wp/v2/users/ID番号
でauthor名が表示されるので、エンドポイントを破棄
add_filter('rest_endpoints', function ($endpoints) {
if (isset($endpoints['/wp/v2/users'])) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
});
Googleにインデキシングされた場合
Googleサーチコンソールから削除申請をする必要があります。