WordPress サイト内検索の無効化
PR
Wordpressを使用する際、ブログとしてではなくwebサイトとしてサイトを設置する場合も多いと思います。
サイト内検索を利用しない場合は、悪質なアクセスを防ぐためにも検索の無効化を行った方がいいかもしれません。
検索を無効化するコード
Wordpressのサイト内検索はhttps://hogehoge.com/?s=検索ワードのように「?s=検索ワード」をつけると検索結果を表示することができます。 サイト内で検索機能を使用しないのであれば、下記コードをfunction.phpに記述することで、サイト内検索が行われた場合、404ページへリダイレクトできるようになります。
function disable_search($query, $error = true)
{
if (is_search() && !is_admin()) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
// to error
if ($error == true) $query->is_404 = true;
}
}
add_action('parse_query', 'disable_search');
add_filter('get_search_form', function(){ return null; });
参考:WordPress – Disable Search Function