WordPress サイト内検索の無効化
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; });