WordPress ブログで検索機能が不要なサイトがある可能性があります。 この場合に使用できる方法です。 WordPress 検索機能を無効にしたい場合は、Disable Searchプラグインを使用できます。
[この記事は2022年6月10日に最後に更新されました。 ]
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 テーマの関数ファイルに追加すると、検索機能が無効になります。
// Disable search feature in WordPress function fb_filter_query( $query, $error = true ) { if ( is_search() ) { $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'、 'fb_filter_query'); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
ここで$ errorをtrueに設定すると、404エラーページが表示されます(テーマ404.phpファイルが必要)。
しかし、このコードは最新です WordPress バージョンまたは最新のPHPバージョンでは動作しなくなりました。 上記のコードを追加すると、「このウェブサイトに致命的なエラーがあります」エラーが発生してもサイトにアクセスできない可能性があります。 その場合は、追加したコードを削除してください。
最後に、
以上で WordPress サイトで検索機能を完全にブロックする方法について説明しました。 収益性の高いブログを運営するときに、訪問者がサイトのコンテンツを検索するのを防ぎたい場合でも、この方法を利用できます。
コメントを残す