WordPressでauthor名を分からないようにする

  • Updated: 2024.06.26
  • Published: 2023.06.01
  • 1,307views

概要

WordPressのソースの中にはauthor名表示される箇所があります。その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にします。


フィードのauthorを変更

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サーチコンソールから削除申請をする必要があります。

関連記事

人気の投稿

最新の投稿

タグ

月別アーカイブ

Contact

WEB制作の依頼など気軽にお問い合わせください。

お問い合わせ