Blog

【WordPress】author/xxを404リダイレクトにする方法

2019/03/03

Wordpress

備忘録です。

author/xxを404リダイレクトにしてほしいという作業要請があり、下記を参考にしてカスタムをしました。
参考サイト
WordPress のユーザー・一覧表示対策

functions.phpに記述

//authorを404にリダイレクト
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
	if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
		wp_redirect( home_url( '/404.php' ) );
		exit;
	}
}
add_action('init', 'disable_author_archive');
404.phpがあることが前提となっていますのでご注意ください。

2019/12/6追記

リダイレクトはGoogleから推奨されていないということがわかり、ステータスコードを404に変更後、404.phpへ遷移する方法にしました。

functions.phpに記述

//authorを404にリダイレクト
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
	if(preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
		header('HTTP/1.0 404 Not Found'); //ステータスコードを404に変更
		wp_redirect( home_url( '/404.php' ) ); //404.phpにリダイレクト
		exit;
	}
}
add_action('init', 'disable_author_archive');

404.phpへリダイレクトしない場合にはコメントアウトすれば大丈夫です。

//authorを404にリダイレクト
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
	if(preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
		header('HTTP/1.0 404 Not Found'); //ステータスコードを404に変更
		//wp_redirect( home_url( '/404.php' ) ); //コメントアウト
		exit;
	}
}
add_action('init', 'disable_author_archive');

ゼヒトモ内でのプロフィール: ROCKSTREAMゼヒトモのホームページ作成・制作サービス仕事をお願いしたい依頼者と様々な「プロ」をつなぐサービス

カテゴリー

月間アーカイブ

MORE

ミュージシャンズ・プラザ

神社仏閣ホームーページ制作

ホームページ制作問合せ