ワードプレスの標準検索機能を無効化して404ページを返す方法を解説いたします。

ワードプレスの検索機能をサイトで使用しない場合は無効化した方がいい

ワードプレスの標準検索機能は、昨今SEOハックと言うハッキング手法のターゲットとなり、サーチコンソールなどに膨大なnoindexが記録されるという事例が増えています。

参考
ワードプレスドクター 依頼の事例:Googleサーチコンソールにnoindexが大量通知される問題

※上記の事例は必ずしもマルウェア感染したわけではなく、noindexとして記録されているという事は検索エンジンが拾わないという事になりますので、実害はありません。ただテーマやワードプレスのバージョンによっては検索エンジンに不正に生成された検索結果ページが登録されてしまう事もございます。

ワードプレスの検索機能がサイトで使用されていない場合や独自で作成された検索機能をサイトで使用されている場合は検索機能自体を止めて404ページを返すようにすることも可能です。

ワードプレスの検索機能を止めて404ページと404ステータスコード(存在しないページと通知)を返す

テーマのFunctions.phpに下記のコードをコピペいただくとワードプレスの検索機能を完全に止めて404ページと404ステータスコードを返すことが可能です。

function stop_wp_search($query)
{
	if (is_search()) {
		$query->set_404();  // 404ページとする
		status_header(404);  // 404ステータスコードを返す
		nocache_headers();  // キャッシュを使用しない
	}
}
add_filter('parse_query', 'stop_wp_search');

is_search()は現在見ているページが検索結果ページであることを示します。
このページの場合に$query->set_404();status_header(404); で404ページを返しstatusコード404を返しています。

また、当社が開発しているセキュリティープラグインでこの機能をクリックで簡単に有効化できます。
【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマやプラグインのカスタマイズや修正のご依頼・ご相談はWPドクターまでお気軽にお送りください