WordPress検索機能の作り方|標準機能・プラグイン・カスタマイズまで初心者向けに解説
はじめに
WordPressでブログやメディア、企業サイトを運営していると、記事数やページ数が増えるにつれて「目的の情報が見つけにくい」という課題が出てきます。そこで重要になるのが、WordPress検索機能です。
検索機能が使いやすいサイトは、ユーザーが知りたい情報へすぐにたどり着けます。結果として、直帰率の改善、回遊率の向上、問い合わせや購入などの成果にもつながりやすくなります。
WordPressには標準で検索機能が用意されていますが、サイトの規模や目的によっては、プラグインで強化したり、テーマファイルを編集してカスタマイズしたりする必要があります。
この記事では、WordPress検索機能の基本から、検索フォームの設置方法、検索結果ページの調整、プラグインによる強化、コードを使ったカスタマイズまで、初心者にもわかりやすく解説します。
1. WordPressの検索機能とは?まず押さえたい基本
WordPressの検索機能とは、サイト内の記事やページから、ユーザーが入力したキーワードに関連するコンテンツを探して表示する機能です。
たとえば、ブログ内で「WordPress プラグイン」と検索すると、そのキーワードを含む投稿が検索結果ページに一覧表示されます。サイト内の記事数が少ないうちは目立ちませんが、コンテンツが増えるほど検索機能の重要性は高まります。
1-1. WordPress標準の検索機能でできること
WordPressには、初期状態でもサイト内検索の仕組みが備わっています。テーマが対応していれば、検索フォームをサイドバーやヘッダー、フッターなどに追加するだけで、ユーザーはキーワード検索を利用できます。
標準機能では、主に投稿や固定ページを対象にキーワード検索を行い、検索結果ページに該当コンテンツを表示します。検索結果ページはテーマのテンプレート階層に基づいて表示され、クラシックテーマでは一般的にsearch.php、ブロックテーマでは検索用テンプレートが使われます。WordPressはリクエスト内容に応じてテンプレート階層から適切なファイルを探して表示します。WordPress Developer Resources+1
標準検索機能でできる主なことは、以下のとおりです。
キーワードによるサイト内検索
投稿や固定ページの検索結果表示
検索結果ページの自動生成
テーマに応じた検索フォームの表示
search.phpによる検索結果ページのカスタマイズ
特別なプラグインを入れなくても使えるため、まずは標準機能を理解することが大切です。
1-2. 標準検索機能のメリット・デメリット
WordPress標準の検索機能には、導入が簡単という大きなメリットがあります。追加費用もかからず、管理画面から検索ブロックやウィジェットを設置するだけで利用できます。
一方で、検索精度や絞り込み機能には限界があります。たとえば、カテゴリやタグで細かく条件を指定した検索、カスタムフィールドを含めた検索、表記ゆれに強い検索などは、標準機能だけでは対応しにくい場合があります。
メリットは、次のとおりです。
無料で使える
追加設定が少ない
WordPress本体の機能なので導入しやすい
小規模なブログや個人サイトなら十分使える
デメリットは、次のとおりです。
日本語検索の精度に不満が出る場合がある
絞り込み検索には弱い
カスタム投稿タイプやカスタムフィールドの扱いに調整が必要な場合がある
検索結果の並び順や表示内容を細かく制御するにはカスタマイズが必要
まずは標準機能で運用し、検索ニーズが増えてきたらプラグインやコードによる改善を検討するとよいでしょう。
1-3. 検索対象になるコンテンツと検索対象外になるもの
WordPressの検索対象は、テーマや設定、カスタマイズ状況によって変わります。一般的には、投稿と固定ページが検索対象になります。ただし、カスタム投稿タイプや商品ページ、カスタムフィールド、カテゴリー説明文などを検索対象に含めたい場合は、追加設定やプラグインが必要になることがあります。
WordPressのクエリではpost_typeを指定して投稿タイプを制御できます。WP_Queryでは投稿、固定ページ、カスタム投稿タイプなどを条件に含められるため、検索対象の調整にも利用されます。WordPress Developer Resources
検索対象になりやすいものは、以下です。
投稿
固定ページ
タイトル
本文
抜粋
一部のテーマやプラグインで設定されたコンテンツ
一方、標準状態では検索対象になりにくいものもあります。
カスタムフィールド
カスタム投稿タイプ
WooCommerceの商品情報の一部
PDFなどの添付ファイル内テキスト
コメント本文
ウィジェット内のテキスト
検索対象を広げたい場合は、プラグインを使うか、functions.phpなどで検索クエリを調整します。
1-4. 検索機能を追加・改善すべきサイトの特徴
すべてのサイトに高度な検索機能が必要なわけではありません。しかし、以下のようなサイトでは、検索機能を追加・改善する価値が高くなります。
記事数が多いブログ
用語集やナレッジベースを運営しているサイト
商品数が多いECサイト
会員向けコンテンツが多いサイト
カテゴリやタグが複雑なメディアサイト
ユーザーが特定情報を探しに来るサポートサイト
過去記事へのアクセスを増やしたいサイト
特に、コンテンツ数が100件を超えてくると、メニューやカテゴリ一覧だけでは目的のページを見つけにくくなります。検索窓を適切な場所に設置し、検索結果ページを見やすく整えるだけでも、ユーザー体験は大きく改善できます。
2. WordPress検索機能の作り方は3種類ある
WordPress検索機能の作り方は、大きく分けて3種類あります。
1つ目は、WordPress標準機能で検索フォームを設置する方法です。2つ目は、検索プラグインを使って機能を強化する方法です。3つ目は、テーマファイルやfunctions.phpを編集して独自にカスタマイズする方法です。
それぞれ難易度や向いているサイトが異なるため、自分の目的に合わせて選ぶことが大切です。
2-1. 標準機能で検索フォームを設置する方法
もっとも簡単なのは、WordPressの標準機能を使って検索フォームを設置する方法です。
ブロックテーマやブロックエディターを利用している場合は、「検索」ブロックを追加するだけで検索フォームを表示できます。クラシックテーマでは、ウィジェットエリアに検索ウィジェットを追加する方法もあります。
この方法は、コードを書かずに設定できるため初心者におすすめです。ブログや小規模サイトであれば、まずは標準検索フォームを設置するだけでも十分なケースが多いでしょう。
2-2. プラグインで検索機能を強化する方法
標準検索では不十分な場合は、検索機能プラグインを利用します。
たとえば、検索精度を高めたい場合はRelevanssi、複数の検索フォームを作りたい場合はIvory Search、リアルタイム検索を導入したい場合はAjax Search LiteやRelevanssi Live Ajax Searchなどが選択肢になります。Relevanssiは標準検索を置き換えて検索結果の改善を行うプラグインで、Ivory Searchは複数のカスタム検索フォームを作成できる検索プラグインです。WordPress.org Deutsch+1
プラグインを使うと、以下のような機能を追加できます。
検索精度の改善
カテゴリやタグでの絞り込み
カスタム投稿タイプの検索
カスタムフィールドの検索
AJAXによるリアルタイム検索
WooCommerce商品検索
検索結果の並び替え
初心者でも導入しやすい一方で、プラグインの入れすぎはサイト表示速度に影響する可能性があるため、必要な機能に絞って選ぶことが大切です。
2-3. テーマファイルを編集してカスタマイズする方法
より自由に検索機能を作りたい場合は、テーマファイルを編集します。
代表的なファイルは、以下です。
searchform.phpsearch.phpfunctions.phpstyle.css
searchform.phpでは検索フォームのHTMLを変更できます。search.phpでは検索結果ページの表示内容を調整できます。functions.phpでは検索対象や検索条件を変更できます。
ただし、テーマファイルを直接編集すると、テーマ更新時に変更内容が消える可能性があります。そのため、カスタマイズする場合は子テーマを使うのが基本です。
2-4. 初心者におすすめの作り方と選び方
初心者におすすめなのは、まず標準機能で検索フォームを設置し、必要に応じてプラグインを追加する方法です。
最初からコードでカスタマイズしようとすると、エラーでサイトが表示されなくなるリスクがあります。まずは管理画面から設定できる範囲で検索機能を整え、運用してみましょう。
選び方の目安は、以下です。
記事数が少ないブログ:標準機能で十分
記事数が多いメディア:プラグインで検索精度を改善
商品数が多いECサイト:商品検索に強いプラグインを利用
独自条件で絞り込みたいサイト:コードまたは専用プラグインで対応
デザインまで細かく調整したいサイト:テーマファイルをカスタマイズ
つまり、WordPress検索機能は「標準機能 → プラグイン → コードカスタマイズ」の順に検討すると失敗しにくくなります。
3. 標準機能でWordPressに検索フォームを設置する方法
ここからは、WordPress標準機能を使って検索フォームを設置する方法を解説します。まずは管理画面から簡単にできる方法を試してみましょう。
3-1. ウィジェットで検索フォームを追加する手順
クラシックテーマを利用している場合、ウィジェットから検索フォームを追加できることがあります。
手順は以下のとおりです。
WordPress管理画面にログインする
「外観」→「ウィジェット」を開く
検索ウィジェットを選択する
サイドバーやフッターなど設置したい場所に追加する
必要に応じてタイトルを入力する
保存してサイト上で表示を確認する
テーマによっては、サイドバー、フッター、ヘッダー下など複数のウィジェットエリアが用意されています。ユーザーが見つけやすい場所に検索フォームを設置しましょう。
3-2. ブロックエディターで検索ブロックを追加する手順
ブロックエディターを使っている場合は、検索ブロックを追加できます。
手順は以下です。
固定ページまたは投稿の編集画面を開く
ブロック追加ボタンをクリックする
「検索」と入力して検索ブロックを選択する
プレースホルダーやボタンテキストを設定する
公開または更新して表示を確認する
検索ブロックでは、検索窓とボタンを簡単に表示できます。トップページ、記事下、よくある質問ページ、サポートページなどに設置すると、ユーザーが必要な情報を探しやすくなります。
3-3. メニュー・サイドバー・フッターに設置する方法
検索フォームの設置場所は、ユーザーの使いやすさに大きく影響します。よく使われる設置場所は、ヘッダー、グローバルメニュー付近、サイドバー、フッターです。
ヘッダーやメニュー付近に検索窓があると、どのページからでもすぐ検索できます。サイドバーはブログ記事を読んでいる途中でも使いやすく、フッターはサイト下部まで読んだユーザーの次の行動につなげやすい場所です。
おすすめの設置場所は、サイトの種類によって変わります。
ブログであれば、サイドバーや記事下がおすすめです。企業サイトであれば、ヘッダーやフッターに設置すると便利です。ECサイトやナレッジベースでは、ファーストビュー付近に目立つ検索窓を置くと、ユーザーがすぐに目的の情報を探せます。
3-4. searchform.phpを使って検索フォームを作成する方法
テーマファイルを編集できる場合は、searchform.phpを作成して検索フォームのHTMLをカスタマイズできます。
基本的なコード例は以下です。
PHP<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label>
<span class="screen-reader-text">検索:</span>
<input type="search" class="search-field" placeholder="キーワードを入力" value="<?php echo get_search_query(); ?>" name="s">
</label>
<button type="submit" class="search-submit">検索</button>
</form>
ポイントは、検索キーワードの入力欄にname="s"を指定することです。WordPressでは、検索クエリとしてsパラメータが使われます。
また、esc_url()やget_search_query()を使うことで、出力内容を安全に処理できます。フォームの見た目はCSSで調整しましょう。
4. WordPressの検索結果ページを確認・調整する方法
検索フォームを設置したら、次に確認すべきなのが検索結果ページです。検索結果ページが見づらいと、ユーザーは目的の記事を見つけられず離脱してしまいます。
4-1. 検索結果ページの基本的な仕組み
WordPressで検索を実行すると、検索結果ページが自動的に表示されます。テーマにsearch.phpがある場合は、そのテンプレートが検索結果ページに使われます。search.phpがない場合は、テンプレート階層に従って別のテンプレートが使われます。WordPress Developer Resources+1
検索結果ページのURLは、一般的に以下のようになります。
https://example.com/?s=検索キーワード
このsパラメータに入力されたキーワードをもとに、WordPressが検索結果を取得して表示します。
4-2. search.phpで検索結果の表示をカスタマイズする方法
検索結果ページをカスタマイズしたい場合は、テーマ内にsearch.phpを用意します。
基本的な構成例は以下です。
PHP<?php get_header(); ?>
<main class="search-results">
<h1>「<?php echo esc_html( get_search_query() ); ?>」の検索結果</h1>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<article <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php endwhile; ?>
<?php the_posts_pagination(); ?>
<?php else : ?>
<p>該当する記事が見つかりませんでした。</p>
<?php endif; ?>
</main>
<?php get_footer(); ?>
このようにhave_posts()とwhileループを使って、検索結果に該当する投稿を一覧表示します。検索キーワードを見出しに表示すると、ユーザーが何を検索したのか確認しやすくなります。
4-3. 検索結果に記事タイトル・抜粋・サムネイルを表示する方法
検索結果ページでは、記事タイトルだけでなく、抜粋やサムネイル画像を表示するとクリックされやすくなります。
コード例は以下です。
PHP<article <?php post_class( 'search-item' ); ?>>
<?php if ( has_post_thumbnail() ) : ?>
<a href="<?php the_permalink(); ?>" class="search-thumbnail">
<?php the_post_thumbnail( 'medium' ); ?>
</a>
<?php endif; ?>
<div class="search-content">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p><?php echo esc_html( get_the_excerpt() ); ?></p>
<a href="<?php the_permalink(); ?>">続きを読む</a>
</div>
</article>
検索結果に表示したい項目は、サイトの種類に合わせて調整しましょう。
ブログなら、タイトル、投稿日、カテゴリ、抜粋、サムネイルがあると便利です。ECサイトなら、商品名、価格、画像、在庫状況、レビュー評価などが重要です。ナレッジベースなら、カテゴリ名や更新日を表示すると、ユーザーが最新情報を判断しやすくなります。
4-4. 検索結果が0件だった場合の表示を改善する方法
検索結果が0件だったときに「見つかりませんでした」だけを表示すると、ユーザーは次の行動に迷ってしまいます。
0件ページでは、以下の要素を表示すると親切です。
検索キーワードを変える提案
人気記事へのリンク
カテゴリ一覧
よく読まれている記事
お問い合わせへの導線
再検索フォーム
表示例は以下です。
PHP<?php else : ?>
<div class="no-results">
<p>該当する記事が見つかりませんでした。</p>
<p>別のキーワードで再検索してみてください。</p>
<?php get_search_form(); ?>
</div>
<?php endif; ?>
0件ページは離脱されやすい場所です。ユーザーが次に進める導線を用意しておくことで、サイト内回遊を維持しやすくなります。
5. プラグインでWordPress検索機能を強化する方法
WordPress標準の検索機能で物足りない場合は、プラグインを使うと簡単に強化できます。特に、検索精度を改善したい、絞り込み検索を追加したい、リアルタイム検索を導入したい場合に有効です。
5-1. 検索機能プラグインを使うメリット
検索プラグインを使う最大のメリットは、コードを書かずに機能を追加できることです。
標準検索では対応しにくい検索対象や表示方法も、プラグインなら管理画面から設定できることがあります。たとえば、カスタム投稿タイプ、カスタムフィールド、カテゴリ、タグ、商品データなどを検索対象に含められるプラグインもあります。
主なメリットは以下です。
検索精度を改善できる
絞り込み検索を追加できる
リアルタイム検索を実装できる
検索フォームを複数作成できる
カスタム投稿タイプに対応しやすい
初心者でも導入しやすい
検索機能を本格的に改善したい場合は、プラグインの活用がもっとも現実的です。
5-2. 初心者におすすめの検索プラグイン
初心者におすすめしやすいWordPress検索プラグインには、以下があります。
Relevanssiは、WordPress標準検索を置き換えて、より柔軟な検索結果を提供するプラグインです。検索結果の関連性を改善したいブログやメディアに向いています。WordPress.org Deutsch
Ivory Searchは、複数の検索フォームを作成し、それぞれ個別に設定できるプラグインです。ヘッダー用、サイドバー用、特定ページ用など、用途別に検索フォームを分けたい場合に便利です。WordPress.org
Ajax Search Liteは、入力中に検索結果を表示するライブ検索に対応したプラグインです。カテゴリや投稿タイプによるフィルターにも対応しており、ユーザー体験を高めたいサイトで使いやすい選択肢です。WordPress Türkiye
Relevanssi Live Ajax Searchは、既存の検索フォームにAjaxライブ検索を追加できる軽量なプラグインです。多くの場合、インストールして有効化するだけで既存の検索フォームに対応できます。WordPress.org
ECサイトでWooCommerceを使っている場合は、商品検索に特化したプラグインも検討するとよいでしょう。商品名、SKU、カテゴリ、属性など、購入行動に直結する条件で検索できると、コンバージョン改善につながりやすくなります。
5-3. 日本語検索に対応しやすいプラグインの選び方
日本語サイトでは、英語サイトよりも検索精度に注意が必要です。日本語は単語の区切りがスペースで明確に分かれていないため、検索キーワードによっては期待した結果が出ないことがあります。
日本語検索に対応しやすいプラグインを選ぶときは、以下の点を確認しましょう。
日本語キーワードで実際に検索結果をテストできるか
部分一致やあいまい検索に対応しているか
タイトル、本文、抜粋、カスタムフィールドの重み付けができるか
カスタム投稿タイプに対応しているか
インデックス作成機能があるか
更新が継続されているか
使用中のテーマや他プラグインと競合しにくいか
導入前に、必ずテスト環境で「ひらがな」「カタカナ」「漢字」「英数字」「表記ゆれ」を含むキーワードを試しましょう。
たとえば、「ワードプレス」「WordPress」「wordpress」「WP」のように、ユーザーが異なる表記で検索する可能性があります。サイト内で使う表記を統一しつつ、検索プラグイン側でも対応できると理想的です。
5-4. 絞り込み検索・カテゴリ検索・タグ検索を追加する方法
カテゴリ検索やタグ検索を追加すると、ユーザーは目的の情報を見つけやすくなります。
たとえば、ブログなら「カテゴリ」「タグ」「投稿日」、ECサイトなら「価格帯」「ブランド」「在庫状況」、不動産サイトなら「地域」「間取り」「家賃」などで絞り込めると便利です。
絞り込み検索を追加する方法は、主に以下の3つです。
1つ目は、絞り込み検索に対応したプラグインを使う方法です。設定画面から条件を選び、ショートコードやブロックで検索フォームを表示できるものがあります。
2つ目は、検索フォームにカテゴリ選択欄を追加する方法です。searchform.phpにカテゴリのプルダウンを追加すれば、キーワードとカテゴリを組み合わせた検索ができます。
3つ目は、FacetWPのようなファセット検索系プラグインを使う方法です。FacetWPでは検索ファセットがWordPressコア検索を利用し、SearchWPやRelevanssiとの連携も可能です。FacetWP
サイト規模が大きい場合や、条件が複雑な場合は、専用プラグインを使ったほうが管理しやすくなります。
5-5. プラグイン導入時の注意点
検索プラグインは便利ですが、導入すれば必ず良くなるわけではありません。特に、大規模サイトでは検索インデックスの作成やAjax処理によって、サーバー負荷が増える場合があります。
導入時は、以下の点に注意しましょう。
最終更新日が古すぎないか確認する
WordPressの対応バージョンを確認する
レビューや有効インストール数を確認する
使用中テーマとの相性を確認する
キャッシュプラグインとの競合を確認する
不要な機能は有効化しない
導入前にバックアップを取る
本番環境ではなくテスト環境で試す
プラグインを複数入れすぎると、検索処理が重くなったり、検索結果が意図しない表示になったりすることがあります。必要な機能を明確にしたうえで、最小限のプラグイン構成にしましょう。
6. コードでWordPress検索機能をカスタマイズする方法
より細かく検索機能を調整したい場合は、コードでカスタマイズします。ここでは、functions.phpを使った基本的なカスタマイズ例を紹介します。
コードを編集する前には、必ずバックアップを取り、可能であれば子テーマやテスト環境で作業してください。
6-1. functions.phpで検索対象を変更する方法
WordPressの検索条件を変更する場合は、pre_get_postsフックを使う方法がよく使われます。pre_get_postsはWP_Queryがセットアップされる前に実行され、メインクエリの条件を変更できます。WordPress Developer Resources
たとえば、検索結果に投稿だけを表示したい場合は、以下のように記述します。
PHPfunction custom_search_post_type( $query ) {
if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
$query->set( 'post_type', array( 'post' ) );
}
}
add_action( 'pre_get_posts', 'custom_search_post_type' );
このコードでは、管理画面ではなく、メインクエリで、検索ページの場合のみ検索対象を投稿に限定しています。
6-2. 固定ページを検索結果から除外する方法
固定ページを検索結果に出したくない場合は、検索対象をpostだけにします。
PHPfunction exclude_pages_from_search( $query ) {
if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
$query->set( 'post_type', 'post' );
}
}
add_action( 'pre_get_posts', 'exclude_pages_from_search' );
企業サイトでは、利用規約やプライバシーポリシー、問い合わせ完了ページなどを検索結果に表示したくない場合があります。そのようなときに有効です。
ただし、サービス紹介ページや料金ページなど、ユーザーに見つけてほしい固定ページまで除外しないよう注意しましょう。
6-3. カスタム投稿タイプを検索対象に含める方法
カスタム投稿タイプを検索対象に含めたい場合は、post_typeに対象の投稿タイプを追加します。
たとえば、「投稿」と「制作実績」と「お知らせ」を検索対象にする場合は、以下のように記述します。
PHPfunction include_custom_post_types_in_search( $query ) {
if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
$query->set( 'post_type', array( 'post', 'works', 'news' ) );
}
}
add_action( 'pre_get_posts', 'include_custom_post_types_in_search' );
worksやnewsの部分は、実際に使用しているカスタム投稿タイプ名に置き換えてください。
カスタム投稿タイプを検索対象に含めると、制作実績、商品情報、イベント情報、用語集などもサイト内検索で見つけられるようになります。
6-4. カテゴリやタグで検索結果を絞り込む方法
検索結果をカテゴリで絞り込みたい場合は、検索フォームにカテゴリ選択欄を追加し、クエリに反映させます。
検索フォーム側の例は以下です。
PHP<form role="search" method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<input type="search" name="s" value="<?php echo get_search_query(); ?>" placeholder="キーワードを入力">
<?php
wp_dropdown_categories( array(
'show_option_all' => 'すべてのカテゴリ',
'name' => 'cat',
'hide_empty' => true,
) );
?>
<button type="submit">検索</button>
</form>
この方法では、キーワードとカテゴリを組み合わせて検索できます。
タグで絞り込みたい場合は、タグのスラッグを送信するフォームを作成し、tagパラメータを使います。より複雑な絞り込みを行いたい場合は、tax_queryを使うか、絞り込み検索プラグインの利用を検討しましょう。
6-5. 検索フォームのデザインをCSSで調整する方法
検索フォームは、設置するだけでなく見た目も重要です。入力欄が小さすぎたり、ボタンが目立たなかったりすると、ユーザーに使われにくくなります。
CSSの例は以下です。
CSS.search-form {
display: flex;
gap: 8px;
max-width: 480px;
}
.search-field {
flex: 1;
padding: 10px 12px;
border: 1px solid #ccc;
border-radius: 4px;
}
.search-submit {
padding: 10px 16px;
border: none;
border-radius: 4px;
cursor: pointer;
}
スマートフォンでは横幅が狭くなるため、必要に応じて縦並びにします。
CSS@media (max-width: 600px) {
.search-form {
flex-direction: column;
}
.search-submit {
width: 100%;
}
}
検索窓は、ユーザーが「ここに入力すれば探せる」と直感的にわかるデザインにすることが大切です。
7. よくあるWordPress検索機能の悩みと解決策
WordPress検索機能を導入すると、検索結果が思ったように表示されない、検索フォームが出ない、デザインが崩れるなどのトラブルが起こることがあります。ここでは、よくある悩みと解決策を紹介します。
7-1. 検索結果に目的の記事が表示されない場合
目的の記事が検索結果に表示されない場合は、まず検索対象を確認しましょう。
よくある原因は以下です。
検索対象が投稿だけになっている
カスタム投稿タイプが検索対象外になっている
記事タイトルや本文に検索キーワードが含まれていない
記事が非公開または下書きになっている
プラグインの設定で除外されている
キャッシュが残っている
カスタム投稿タイプを使っている場合は、exclude_from_searchの設定や、検索クエリのpost_type指定を確認します。プラグインを使っている場合は、インデックスの再作成が必要なこともあります。
7-2. 日本語キーワードで検索精度が低い場合
日本語キーワードで検索精度が低い場合は、標準検索だけでは限界があるかもしれません。
対策としては、以下が考えられます。
記事タイトルに重要キーワードを自然に含める
見出しや本文で表記ゆれに対応する
カテゴリやタグを整理する
検索精度改善プラグインを使う
カスタムフィールドも検索対象に含める
検索キーワードのログを分析する
たとえば、ユーザーが「ワードプレス 検索機能」と検索する可能性があるなら、記事内で「WordPress検索機能」だけでなく「ワードプレスの検索機能」という表現も自然に使うとよいでしょう。
7-3. 検索フォームが表示されない場合
検索フォームが表示されない場合は、テーマやウィジェット設定を確認します。
主な確認ポイントは以下です。
検索ウィジェットが有効になっているか
設置したウィジェットエリアがテーマ側で表示されているか
ブロックテーマのテンプレートに検索ブロックが入っているか
searchform.phpにエラーがないかCSSで非表示になっていないか
キャッシュが影響していないか
自作テーマの場合は、検索フォームを表示したい場所に以下のコードが入っているか確認しましょう。
PHP<?php get_search_form(); ?>
このテンプレートタグを使うと、テーマ内の検索フォームを呼び出せます。
7-4. 検索結果ページのデザインが崩れる場合
検索結果ページのデザインが崩れる場合は、search.phpのHTML構造やCSSを確認します。
よくある原因は以下です。
閉じタグが不足している
ループ処理の位置が間違っている
既存テーマのCSSとクラス名が合っていない
サムネイル画像のサイズが統一されていない
レスポンシブ対応が不足している
プラグインが独自のHTMLを出力している
まずは、使用中テーマのarchive.phpやindex.phpの構造を参考にして、search.phpを作ると崩れにくくなります。検索結果ページだけ特別なHTMLにするよりも、一覧ページとデザインをそろえたほうが管理しやすくなります。
7-5. プラグイン導入後にサイトが重くなる場合
検索プラグイン導入後にサイトが重くなった場合は、検索処理やインデックス作成が負荷になっている可能性があります。
対策は以下です。
不要な検索対象を外す
検索インデックスを再構築する
Ajax検索の表示件数を減らす
キャッシュプラグインを併用する
サーバースペックを見直す
不要なプラグインを停止する
検索ログや統計機能を必要な範囲に限定する
特に、大量の記事や商品データを扱うサイトでは、検索対象を広げすぎると処理が重くなります。検索精度と表示速度のバランスを見ながら設定しましょう。
8. WordPress検索機能を改善するときのポイント
WordPress検索機能は、ただ設置するだけでは十分ではありません。ユーザーが実際に使いやすいか、検索結果から目的のページへ進みやすいかを考えて改善することが重要です。
8-1. ユーザーが探しやすい検索窓の設置場所
検索窓は、ユーザーが探しやすい場所に設置しましょう。
おすすめの設置場所は、以下です。
ヘッダー
グローバルメニュー付近
サイドバー
フッター
トップページの目立つ位置
記事下
FAQページやサポートページ
情報量の多いサイトでは、ヘッダーに検索窓を置くと便利です。ブログではサイドバーや記事下、ナレッジベースではトップページのファーストビュー付近が効果的です。
スマートフォンでは、メニュー内に検索フォームを入れるだけでなく、タップしやすい検索アイコンを用意するのもよい方法です。
8-2. 検索結果を見やすくする表示項目
検索結果ページでは、ユーザーが「どの記事をクリックすべきか」を判断できる情報を表示しましょう。
表示すると便利な項目は以下です。
記事タイトル
抜粋
サムネイル画像
カテゴリ
タグ
投稿日
更新日
著者名
商品価格
レビュー評価
ブログでは、タイトルと抜粋が特に重要です。ECサイトでは、商品画像や価格、在庫状況が重要になります。サポートサイトでは、更新日やカテゴリがあると、ユーザーが情報の新しさや関連性を判断しやすくなります。
8-3. サイト内回遊を増やす導線設計
検索機能は、サイト内回遊を増やす導線としても活用できます。
検索結果ページには、単に該当記事を並べるだけでなく、関連カテゴリ、人気記事、よく読まれている記事、問い合わせリンクなどを配置しましょう。
特に、検索結果が0件だった場合の導線は重要です。0件ページで行き止まりになると、ユーザーは離脱しやすくなります。再検索フォームやおすすめ記事を表示し、次の行動を促しましょう。
また、検索結果の記事をクリックした後にも、関連記事やカテゴリ一覧を表示すると、さらに回遊が生まれます。
8-4. 検索キーワードを分析してコンテンツ改善に活かす方法
サイト内検索で使われたキーワードを分析すると、ユーザーが何を探しているのかがわかります。
たとえば、検索回数が多いのに該当記事がないキーワードがあれば、新しい記事を作るヒントになります。検索されているのにクリックされていない場合は、タイトルや抜粋がわかりにくい可能性があります。
分析すべきポイントは以下です。
よく検索されるキーワード
検索結果が0件になるキーワード
検索後にクリックされる記事
検索後に離脱されるページ
表記ゆれの多いキーワード
商品名やサービス名の検索回数
検索キーワードは、ユーザーの悩みやニーズそのものです。SEO記事の改善、新規コンテンツ企画、カテゴリ設計、FAQ作成などに活用しましょう。
8-5. SEOとユーザビリティを両立する検索機能の考え方
WordPress検索機能は、直接的に検索順位を上げるための機能ではありません。しかし、ユーザーが目的の情報へたどり着きやすくなることで、サイト内回遊や満足度の改善につながります。
SEOとユーザビリティを両立するには、以下を意識しましょう。
検索窓を見つけやすい場所に置く
検索結果ページを見やすくする
0件ページを改善する
関連記事への導線を用意する
検索キーワードをコンテンツ改善に活用する
表示速度を落とさない
不要な検索結果ページをインデックスさせない
サイト内検索は、ユーザーが能動的に情報を探しているサインです。その行動を助けることで、サイト全体の使いやすさを高められます。
9. WordPress検索機能に関するよくある質問
最後に、WordPress検索機能に関するよくある質問に回答します。
9-1. WordPressの検索機能は無料で使える?
はい、WordPressの標準検索機能は無料で使えます。追加費用をかけなくても、検索フォームを設置すればサイト内検索を利用できます。
ただし、検索精度を高めたい場合や、絞り込み検索、リアルタイム検索、カスタムフィールド検索などを追加したい場合は、有料プラグインや開発費用が必要になることがあります。
9-2. 検索機能を追加するだけならプラグインは必要?
検索フォームを追加するだけなら、基本的にプラグインは必要ありません。WordPressの検索ブロック、ウィジェット、get_search_form()などを使えば検索機能を設置できます。
プラグインが必要になるのは、標準検索では対応できない機能を追加したい場合です。たとえば、検索精度の改善、カテゴリ絞り込み、カスタム投稿タイプ検索、Ajax検索などを実装したい場合は、プラグインを検討しましょう。
9-3. ECサイトや会員サイトでも検索機能は使える?
はい、ECサイトや会員サイトでも検索機能は使えます。
ただし、ECサイトでは商品名、価格、カテゴリ、属性、SKUなど、通常のブログよりも検索対象が複雑になります。WooCommerceを使っている場合は、商品検索に対応したプラグインを導入すると便利です。
会員サイトでは、公開範囲や閲覧権限に注意が必要です。会員限定コンテンツが検索結果に表示される場合、非会員に見せてはいけない情報が出ないように設定を確認しましょう。
9-4. 検索結果に特定の記事だけ表示させることはできる?
はい、可能です。
特定の記事だけを検索結果に表示したい場合は、検索クエリをカスタマイズします。カテゴリ、タグ、投稿タイプ、記事IDなどを条件にして、検索結果を制御できます。
たとえば、特定カテゴリの記事だけを検索対象にしたい場合は、検索フォームにカテゴリ指定を追加するか、pre_get_postsで条件を設定します。
ただし、条件を絞り込みすぎると検索結果が少なくなり、ユーザーが目的の記事にたどり着けないことがあります。必要なコンテンツまで除外しないように注意しましょう。
9-5. 初心者は標準機能・プラグイン・カスタマイズのどれを選ぶべき?
初心者は、まず標準機能から始めるのがおすすめです。
最初に検索ブロックやウィジェットで検索フォームを設置し、実際に使ってみましょう。そのうえで、検索精度や絞り込み機能に不満が出てきたら、プラグインを導入します。
コードカスタマイズは、標準機能やプラグインでは対応できない要件がある場合に検討しましょう。テーマファイルを編集する場合は、バックアップと子テーマの利用を忘れないことが大切です。
まとめ
WordPress検索機能は、ユーザーがサイト内の情報を見つけやすくするために欠かせない機能です。
WordPressには標準で検索機能が用意されており、検索ブロックやウィジェットを使えば、初心者でも簡単に検索フォームを設置できます。小規模なブログであれば、まずは標準機能だけでも十分です。
一方で、記事数が多いメディア、ECサイト、会員サイト、ナレッジベースなどでは、標準検索だけでは不十分な場合があります。その場合は、検索プラグインを使って検索精度を高めたり、絞り込み検索やリアルタイム検索を追加したりするとよいでしょう。
さらに細かく調整したい場合は、searchform.php、search.php、functions.phpを使ってカスタマイズできます。検索対象の変更、固定ページの除外、カスタム投稿タイプの追加、カテゴリやタグによる絞り込みなど、目的に合わせた検索機能を作ることが可能です。
WordPress検索機能を改善するときは、検索窓の設置場所、検索結果ページの見やすさ、0件ページの導線、サイト内検索キーワードの分析が重要です。
まずは標準機能で検索フォームを設置し、ユーザーの行動を見ながら、必要に応じてプラグインやコードカスタマイズで改善していきましょう。

