サイト内検索フォームは、ユーザーが素早くコンテンツを探し出すためになくてはならないもの。特にコンテンツが多いサイトほど、サイト内検索は役割を発揮します。カテゴリーやタグではカバーできないところをフォローする「最後の砦」と言ってもいいでしょう。
ところで、WordPressでデフォルトのサイト内検索の検索対象を考えたことはありますか?かくいう筆者も曖昧にしか把握しておらず、「投稿」と「固定ページ」内の記事タイトルと本文だけが対象と思い込んでおりましたが、よく調べると違っていました(仕様変更?)。
ということで、本稿では自身のメモ代わりとしての投稿とはなりますが、WordPressの検索対象に興味がある人の参考に少しでもなれば幸いです。
WordPressのサイト内検索の特徴
検索対象のフィールド
WordPressのサイト内検索の対象となるのは、次のフィールドです。
サイト内検索の検索対象:
- 記事タイトル
- 記事本文
- 抜粋文
参考: WP_Query::parse_search() – Method | Developer.WordPress.org
一般的に対象フィールドは、記事タイトルと記事本文と言われてますが、ソースをみると抜粋文も含まれるようです。以下は検索対象に含まれません。
検索対象外:
- コメント
- トラックバック
- カテゴリー
- タグ
- 投稿者名
- カスタムフィールド
検索対象の投稿タイプ
公式ソースをみると、デフォルトではすべての投稿タイプが検索対象でした。
検索対象の投稿タイプ:
- すべて(any)
- ※フロントにページを生成するカスタム投稿に限定
- ※カスタム投稿登録時に検索結果から除外する設定にしていると含まれない
参考: WP_Query::parse_query() – Method | Developer.WordPress.org
カスタム投稿タイプもWooCommerceの商品ページも検索対象に含まれます。
検索対象を変えるには?
検索対象がすべての投稿タイプを含むということは、様々な投稿タイプが並列に検索結果ページに表示されるということであって、ユーザーの混乱を招きかねません。
カスタム投稿タイプでよく使われている「お知らせ」「よくある質問」といったページも並列に検索結果に並ぶことになるからです。
CANONの検索結果ページ
ですから、「この投稿タイプだけは検索対象から外したい」という要望も出てきます。
TCDテーマの場合は、TCDテーマオプションの下記から投稿タイプごとの表示非表示選択が可能です(非対応テーマあり)。
TCDの検索結果管理機能
では、検索結果の管理機能がないWordPressテーマはどうすればいいのか。「WP Extended Search」というプラグインがありました。
WordPressのサイト内検索が不便と思ったことはありませんか? 例えば、カスタム投稿などで作成したページはデフォルトではヒットしないので、ユーザーに届いていない可能性があります。また、コンテンツ量が多いサイトだと検索結果に表示される数も多く、情報鮮度が低いものも混じっているかもしれません。...
検索結果の対象を絞ることができます。
サイト内検索の作り方とカスタマイズ
その他にも検索フォームをカスタマイズする方法は色々あって、プラグインがそれをサポートしてくれます。この記事で検索フォーム系のプラグインをいくつも紹介しているので、必要なものがあるか確認してみてください。
ウェブサイト内に設置されている検索フォームは、ユーザーが目的のコンテンツに効率よく辿り着くことをサポートするパーツのひとつです。ユーザビリティ向上にも貢献します。サイト内検索フォームの重要度が特に増してくるのは、サイト内のページ数が多いときです。 WordPressには、検索フォームを機能強化...
また、開発者向けの記事になりますが、検索フォームを自作する方法も解説しています。
WordPressのデフォルトの検索フォームは、外観 > ウィジェットにある「検索」ウィジェットを利用することで表示できます。 しかし、これだとウィジェットエリア以外で検索フォームを表示できないんですね。当記事では、検索フォームを自作する方法についてご紹介します。 サイト内検索...
解説は以上となります。それでは素敵なWordPressライフを。
コメント