WordPress検索機能を使用しないように設定する

WordPress ブログで検索機能が不要なサイトがある可能性があります。検索機能によりサイトが遅くなることがあります。この場合 WordPress 基本的な検索機能を無効にすることを検討できます。 WordPress 検索機能を無効にしたい場合は、Disable Searchプラグインを使用すると便利です。プラグインを使用したくない場合は、以下に示すPHPコードを使用して不要なリソース消費を減らすことができます。

WordPress検索機能を使用しないように設定する

[この記事は2026年2月20日に最後に更新されました。 ]

WordPress 検索機能を無効にするDisable Searchプラグイン

WordPress 検索機能を無効にするDisable Searchプラグイン

Disable Searchプラグインをインストールして有効にすると、フロントエンドからのすべての検索要求がブロックされます。ただし、バックエンドでの検索機能は影響を受けません。

WordPress 伝言板>プラグインで「disable search」で検索してこのプラグインをインストールして有効にすると、すぐにフロントエンドで検索機能が無効になります。 特別な設定はありません。 訪問者が検索しようとすると、404ページが表示されます。

  • テーマが標準の get_search_form() 関数を使用して検索フォームを表示する場合、検索フォームが表示されないようにする
  • テーマがsearchform.phpテンプレートを使用している場合は、検索フォームが表示されないようにする
  • フロントエンドに表示される管理ツールバーに検索項目が表示されないようにする
  • 検索ウィジェットを無効にする
    • 利用可能なウィジェットのリストから検索ウィジェットを削除する
    • 現在サイドバーで使用されているすべての検索ウィジェットを無効にする
  • 検索ブロックの無効化
    • 利用可能なブロックのリストから検索ブロックを削除する
    • ポストまたはウィジェットで現在使用されているすべての検索ブロックを無効にする
  • 検索フォームを使用するか、検索フォームを使用せずに、訪問者がGETまたはPOSTリクエストを介して直接または手動でリクエストするのをブロックします。
  • 検索要求を試みると、404 File Not Found(ファイルなし)ページが表示されます。 (404.phpテンプレート存在する場合は、このファイルに指定されたフォームで404ページが表示されます)
  • Yoast SEOプラグインのSEOスキーマでSearchActionの出力が無効になります。

このプラグインは8ヶ月以上アップデートされていませんが、インストールしてテストしてみるとうまく動作するようです。 PHP 8.0、 WordPress 6.0、 GeneratePress テーマがインストールされている環境でテストしたため、エラーなしで正常に動作しました。

👉最新 WordPress バージョン(6.9.1)とPHP 8.4でも問題なく動作します。私はこのプラグインを使用して検索機能を無効にしましたが、以下の「ユーザーコードを使用する」部分のコードに変更しました。このブログでは、Googleプログラミング検索機能を使用して検索できるようにしました。

ユーザーコードを使用する

次のコードを使用している WordPress テーマの関数ファイルに追加すると、検索機能が無効になります。

// Disable search feature in WordPress
function disable_wp_search() {
if ( is_admin() || ! is_search() ) {
戻り値;
}

グローバル $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
}
add_action('template_redirect', 'disable_wp_search');

このコードの機能:

  • 管理者ページまたは検索要求でない場合は、すぐに関数を終了します
  • 検索リクエスト時に WordPress 内部クエリの状態を404に設定
  • HTTP応答コードを404に送信して検索エンジンが正しく認識されるように処理
  • 検索結果がブラウザまたはプロキシサーバーにキャッシュされないように設定する
  • template_redirect フックを使用してテンプレートをロードする直前に、できるだけ早く実行

既存の推奨コードは致命的な問題を引き起こす可能性があります。 Stackoverflow フォーラムの投稿を参照して上記のコードに置き換えました。

上記のコード FTPに接続してアクティブ チャイルドテーマの関数ファイルに追加します。

最後に、

以上で WordPress サイトで検索機能を完全にブロックする方法について説明しました。 収益型ブログを運営するときに訪問者がサイトのコンテンツを検索するのを防ぎたい場合でも、この方法を使用できます。

投稿が多く、訪問者が多い環境で WordPress 基本的な検索機能が頻繁に呼び出されると、サイトの速度が低下するだけでなく、サーバーリソースの枯渇によるダウン現象まで発生する可能性があります。この場合、検索機能を無効にし、基本的に悪意のあるボットをブロックする措置が必要になることがあります。

参照

コメントを残す

コメントを残す