Search Excludeは、特定の投稿や固定ページなどをサイト内検索の検索対象から除外できるWordPressプラグインです。
プラグインをインストールしたら追加される設定にチェックを入れるだけで、検索にヒットしてほしくないページを簡単に除外できます。
Search Excludeのインストール
インストール手順は以下の通りです。
ファイルをFTPでアップロードしてインストール
- Search Excludeをダウンロードします。
- ダウンロードしたファイルを展開し wp-content/plugins にアップロードします。
- 管理画面の[プラグイン]ページで、Search Excludeを有効化します。
WordPress管理画面でインストール
- [プラグイン] – [新規追加]にアクセスします。
- 「Search Exclude」で検索します。
- [今すぐインストール]をクリックして、Search Excludeをインストールします。
- [有効化]をクリックしてプラグインを有効化します。
Search Excludeの使い方
投稿編集画面を開くと、「Search Exclude」という項目が追加されています。「Exclude from Search Results」にチェックを入れると、そのページは検索対象から除外されます。
検索対象から除外されているページの確認
検索対象から除外されているページの一覧は、[設定] – [Search Exclude]で確認できます。
ここでチェックを外して保存すると、除外が解除され再び検索対象に含まれます。
プラグインを使わずに検索対象から除外したい場合
余談ですが、プラグインを使わずに検索対象から除外したい場合は、pre_get_postsを使えば簡単に検索対象から除外できます。
適用しているテーマのfunctions.phpに以下のようなコードを追記しましょう。除外したいページの投稿IDやカテゴリーなどで指定できます。
function my_search_result_exclude($query) {
if (!is_admin() && $query->is_search) {
$query->set('post__not_in', array(12,23,36)); //投稿IDで除外
$query->set('category__not_in', array(47,58)); //カテゴリーのIDで除外
}
return $query;
}
add_action('pre_get_posts', 'my_search_result_exclude');
「if (!is_admin() && $query->is_search)」は”管理画面以外でかつ検索結果ページの場合”という条件分岐です。なので、フロント側の検索結果ページでのみ処理が実行されます。
「post__not_in」は投稿IDによる除外、「category__not_in」はカテゴリーIDによる除外です。
上記の場合、投稿IDが「12・23・36」のページと、IDが「47・58」のカテゴリーが指定されているページが除外されます。
あとがき
管理画面上から簡単に除外できて便利ですね。
検索結果ページに表示させたくないページがある場合は、ぜひご活用ください。