Better Search:検索語と関連性の高い記事を検索結果に表示できる
検索語と関連性の高いものを検索結果に表示できるプラグインとしては、
「Relevanssi – A Better Search」がよく紹介されています。
しかしながら、肝心なことをちゃんと説明していない記事が多いです。
プラグインの説明には以下のように記載されています。
Do note that using Relevanssi may require large amounts (hundreds of megabytes) of database space. If your hosting setup has a limited amount of space for database tables, using Relevanssi may cause problems. In those cases use of Relevanssi cannot be recommended.
Relevanssi を有効にすると専用のデータベーステーブルなどが作成されます。
それらを利用してインデックスを作成し関連性の高いものを検索できるようにしています。
その際には、数百 MB ほどのデータベース領域を必要とする場合があります。
また、インデックスの再作成も定期的に行われます。
その結果、データベース領域が圧迫されたり、データベース領域が断片化したりして、
WordPress 全体のパーフォーマンスに影響を与える恐れがあります。
くわえて、Relevanssi 自体も多機能なプラグインでもあります。
大規模な WordPress サイトを構築するのであれば問題は無いかと思いますが、
小規模な WordPress サイトで運用するのであれば、
もーすこしコンパクトなものが使いやすいと思います。
そのような時に便利な WordPress 用プラグインがあります。
それは「Better Search」です。
その導入手順から日本語化・使い方と設定などを解説していきます。
Better Search
Better Search は、検索語と関連性の高い記事を関連度の高い順に検索結果に表示できます。
デフォルトでは、関連度の高い順にソートされますが、
日付順にソートして表示することも可能です。
投稿のタイトルと内容にページをインデックス化する際の元になる優先度を設定可。
検索結果に含めたくない投稿を ID で指定したり、
パスワードで保護されている投稿も検索結果から除外することもできます。
反対にサムネイル画像を検索結果に含めることもできます。
専用ウィジェットで最も検索されている単語を表示することもできます。
また、検索禁止ワードの設定も可能。
WP Super Cache や W3 Total Cache などのキャッシュプラグインでも動作します。
記事を作成もしくは更新時点でのバージョン:3.0.3
マルチサイトでの利用:可
Gutenberg エディターでの動作
Gutenberg エディターに追加される機能は無いので、気にする必要は無いです。
インストール手順
Better Search をインストールするには 2 種類の方法があります。
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化する。
Better Search – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面からインストールできます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「Better Search」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
日本語化
Better Search を有効化した際に日本語化されない場合には、
日本語化用の言語パックを translate.wordpress.org から入手できる場合があります。
WordPress と関連プロジェクト(テーマ・プラグイン)用の翻訳プラットフォームとして、
translate.wordpress.org (GlotPress) が導入されています。
※ボランティアで翻訳されている場合が多いので、
全てのプラグインで、必ずしも日本語化用の言語パックが用意されているわけでは無いです。
また、用意されていても 100% 翻訳されている保証もありません。
日本語化用の翻訳ファイルの探し方は、下記の記事を参照してください。
WordPress公式での日本語化用の翻訳ファイルの探し方 – WordPress活用術
専用テーブル
下記のテーブルを Better Search 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。
includes/activation.php に記述されています(長文になるので省略)。
専用メニュー
ダッシュボードの「設定」メニューの中に追加されています。
使い方
まずは、設定画面で必要な設定を行います。
設定を行ったら、専用ウィジェットを配置します。
設定
General
- Enable seamless integration
現在使用中のテーマと統合するかどうか。
チェックを付けると関連性の割合は表示されなくなります。 - Enable search tracking
入力された検索条件をトラッキングするかどうか。 - Track admin searches
管理者による検索をトラッキングするかどうか。 - Track editor user group searches
編集者による検索をトラッキングするかどうか。
- Enable cache
キャッシュを有効にするかどうか。
有効にすると Transients API を使用し検索結果を 1 時間キャッシュします。 - Time to cache
キャッシュを出力する秒数を入力します。
初期値:3600 秒 - Stop search engines from indexing search results pages
noindex タグを追加するかどうか。 - Link to Better Search plugin page
プラグインへのリンクをするかどうか。
- Stop search engines from indexing search results pages
noindex タグを追加するかどうか。 - Number format count
検索回数をロケールに基づいた数値形式に変換するかどうか。 - Link to Better Search plugin page
プラグインへのリンクをするかどうか。
Search
- Number of Search Results per page
検索結果で表示される 1 ページ毎の最大数を指定します。
初期値:10 - Post types to include
検索結果に含める投稿タイプを選択します。
- Enable mySQL FULLTEXT searching
mySQL FULLTEXTの検索を有効にするかどうか。チェックを外すと関連性に基づく検索ができなくなります。 - Activate BOOLEAN mode
BOOLEAN モードを有効にするかどうか。 - Weight of the title
優先度を設定します。「Weight of the post content」よりも大きな数値を入力します。
初期値:10 - Weight of the post content
優先度を設定します。このオプションの優先度を上げるには「Weight of the title」よりも大きな数値を入力します。
初期値:1
- Search Except
投稿の抜粋を検索するかどうか。 - Search Taxonomies
すべてのタクソノミーが検索キーワードに一致する投稿を含めるかどうか。カテゴリー、タグ、カスタム投稿タイプなどが含まれます。 - Search Meta
メタ値が検索キーワードと一致する投稿を含めるかどうか。 - Search Authors
検索キーワードに一致する著者の投稿を含めるかどうか。 - Search Comments
コメント欄に検索キーワードが含まれる投稿を含めるかどうか。
- Exclude password protected posts
パスワードで保護された投稿を除外するかどうか。 - Exclude post IDs
検索結果から除外したい投稿・固定ページ・カスタム投稿の ID を入力します。複数個ある場合にはカンマで区切ります。 - Exclude Categories
検索結果から除外したいカテゴリーをスラッグで指定します。複数個ある場合にはカンマで区切ります。 - Exclude Categories IDs
読み取り専用のフィールドで、設定保存時に上記の入力をもとに自動的に入力されます。
- Highlight search terms
検索語を強調表示するかどうか。
code タグでラップされるので、カスタム CCS 入力ボックスでクラスを定義する必要があります。
- Display thumbnail
サムネイルを表示するかどうか。 - Display relevance
関連度を表示するかどうか。 - Display post type
投稿タイプを表示するかどうか。 - Display author
投稿者を表示するかどうか。 - Display date
日付を表示するかどうか。 - Display taxonomies
タクソノミーを表示するかどうか。
- Length of excerpt (in words)
表示する抜粋の長さを入力します。
初期値:100
- Filter these words
検索結果から削除する単語をカンマ区切りで入力します。 - Filter whole words only
この機能を有効にすると、検索クエリ内の単語全体のみがフィルタリングされます。部分マッチングした単語は無視されます。 - Stop query on banned words filter
このオプションを有効にすると、検索クエリに上記のボックス内の単語が含まれている場合、結果を返さなくなります。
Heatmap
- Include heatmap on the search results
検索結果ページの下部によく検索される検索ワードを表示するかどうか。 - Heading of Overall Popular Searches
全期間で人気の検索ワードのリストの前に表示する見出しを入力します。 - Heading of Daily Popular Searches
毎日の人気の検索ワードのリストの前に表示する見出しを入力します。
- Currently trending should contain searches of how many days?
ヒートマップの日数を入力します。
初期値:7 - Number of search terms to display
表示する検索語の数を入力します。
初期値:20 - Font size of least popular search term
最も検索回数の少ない検索語のフォントサイズを入力します。
初期値:10 - Font size of most popular search term
最も検索回数の多い検索語のフォントサイズを入力します。
初期値:20
- Color of least popular search term
最も検索回数の少ない検索語の色を指定します。
初期値:CCCCCC - Color of most popular search term
最も検索回数の多い検索語の色を指定します。
初期値:000000
- Text to include before each search term
各検索用語の前に表示するテキストを入力します。 - Text to include after each search term
各検索用語の後ろに表示するテキストを入力します。 - Open links in new window
リンクを新しいウィンドウで開くかどうか。 - Add nofollow to links
リンクを nofollow を追加するかどうか。
Styles
Include inbuilt styles:
このオプションを無効にすると、このプラグインが内蔵スタイルを追加しないようになります。
その場合には、独自の CSS スタイルを追加する必要があります。
Custom CSS:
カスタム CSS コードを入力できます。
Popular Searches
よく検索されるキーワードを確認できます。
Daily Popular Searches
日毎で、よく検索されるキーワードを確認できます。
ツール
- Clear cache
キャッシュをクリアできます。設定ページを保存しても自動的にクリアされます。 - Recreate Index
インデックスを再作成できます。
- Reset Popular searches table
人気のある検索テーブルをリセットできます。 - Reset Daily Popular searches table
毎日の人気のある検索テーブルをリセットできます。 - Export Settings
設定をエクスポートできます。 - Import Settings
設定をインポートします。 - Delete old settings
古い設定を削除できます。
専用ウィジェット
検索用のウィジェットです。
WordPress 標準の検索ウィジェットと置き換えます。
サイトでよく検索される検索ワードを表示するためのウィジェットです。
ショートコード
下記のショートコードを使用すると、任意の投稿や固定ページで
人気のある検索キーワード(日別・全体)をヒートマップ形式で一覧表示できます。
[bsearch_heatmap]
その他
ダッシュボードに専用ボックスが追加されます。
代替プラグイン
Better Search にほしい機能が無かった場合には、
Better Search 以外にもサイト内検索を強化できるプラグインを記事にしています。
以下では、Better Search を含めて 11 個を簡単に紹介しています。