2026年8月20日

2026年8月20日

SearchWPで日本語検索がヒットしないときの設定と対処法

SearchWP で日本語の検索がうまくヒットしない主な理由は、SearchWP が「空白や記号で区切られた単語」を単位に索引を作るのに対し、日本語の文章には単語の区切りがないことにあります。この記事では、その仕組みを踏まえたうえで、部分一致の設定・索引の再構築・同義語や検索用キーワードの活用といった管理画面中心の対処を順に説明し、どこまでが設定で改善でき、どこからが別の検索方式を検討すべき範囲なのかを判断できるようにします。

なぜ日本語でヒットしにくいのか

SearchWP は、投稿のタイトル・本文・抜粋・カスタムフィールドなどからテキストを取り出し、それを「トークン」と呼ばれる単位に分けてデータベースの索引に保存します。検索時は、入力された語を同じようにトークンに分け、索引と照合して関連度の高い順に並べます。

英語なら空白で単語が区切られているため、「WordPress plugin」は「wordpress」と「plugin」の2つのトークンになります。ところが日本語の「プラグインの設定方法」には空白がないため、句読点や記号で区切られた長いひとかたまりが1つのトークンとして扱われやすくなります。その結果、「設定」で検索しても、索引上は「プラグインの設定方法」という別の語としか一致を判定できず、ヒットしないという現象が起きます。

分割の細かな規則はバージョンによって異なるため、まずは自分のサイトで次のような確認をしてみてください。

  • 本文中の、句読点で区切られた一文をそのまま検索するとヒットするか
  • その一文の途中にある単語だけで検索するとヒットしないか

前者はヒットして後者はしない、という結果なら、原因は日本語の分かち書きの問題とみてよいでしょう。どちらもヒットしない場合は、そもそも索引ができていない可能性があるので、後述の「索引が作られているか」を先に確認します。

作業前の準備

SearchWP の設定変更は、多くの場合で索引の再構築を伴います。記事数が多いサイトでは再構築に時間がかかり、その間は一部の記事が検索に出てこないため、アクセスの少ない時間帯に作業してください。設定画面の項目はバージョンで変わるため(2026年10月現在)、SearchWP を最新版に更新し、作業前にデータベースのバックアップも取っておきます。

対処1:索引が作られているかを確認する

SearchWP の管理画面(左メニューの「SearchWP」)を開くと、エンジン(検索の対象と重み付けの設定)と、索引の作成状況が確認できます。索引の進み具合が途中で止まっている、または対象の投稿数が明らかに少ない場合は、日本語の問題より先にここを解決します。

索引の作成は、サイトが自分自身にリクエストを送る仕組み(ループバックリクエスト)を使ってバックグラウンドで進みます。次のような環境では、これが失敗して索引が進まないことがあります。

  • サイト全体に Basic 認証をかけている(制作中のサイトに多い)
  • セキュリティプラグインやサーバーの WAF が、自サイトからのリクエストを遮断している
  • WP-Cron が無効化されている、またはサーバー側の cron が動いていない

「ツール」→「サイトヘルス」でループバックリクエストに関するエラーが出ていないかを確認すると、原因の手がかりになります。

対処2:エンジンの検索対象を見直す

エンジンの設定で、検索したい投稿タイプ(投稿・固定ページ・商品など)が追加されているか、それぞれでタイトル・本文・抜粋などの属性が対象になっているかを確認します。カスタムフィールドに本文の多くを入れているテーマやページビルダーでは、そのフィールドを対象に加えないと、内容があるのにヒットしない状態になります。

属性ごとに重み(関連度への影響)を設定できるので、タイトルの重みを高めにしておくと、日本語のように一致判定が粗くなりがちな場面でも、タイトルに語を含む記事が上位に来やすくなります。設定を変えたら保存し、必要に応じて索引を再構築してください。

対処3:部分一致を有効にする

SearchWP には、入力した語とトークンがそのまま一致しなくても一致として扱う「部分一致」の設定があります(設定画面の詳細設定などにあります。名称は変更されることがあります)。これを有効にすると、長い日本語のトークンの一部に検索語が含まれる場合にもヒットする可能性が高まります。

ただし、部分一致の判定方法(語の先頭だけを見るのか、途中も含めて見るのか)はバージョンや設定によって異なり、日本語の文章の途中にある語まで常に拾えるとは限りません。有効化したら、冒頭で試した「一文の途中にある単語」で再度検索し、改善したかどうかを確かめてください。部分一致は照合の負荷も上がるため、記事数が多いサイトでは検索の応答速度もあわせて確認します。

対処4:同義語と表記ゆれを整える

日本語の検索では、分かち書きの問題に加えて表記ゆれがヒット漏れの原因になります。

  • 全角と半角(「WP」と「WP」、「プラグイン」と「プラグイン」)
  • ひらがなとカタカナ、漢字(「ぷらぐいん」「プラグイン」、「設定」「せってい」)
  • 略語と正式名称(「WP」と「WordPress」)

SearchWP には同義語を登録する機能があり、ある語で検索されたときに別の語でも検索するよう指定できます。サイト内でよく検索される語と、その言い換えを登録しておくと、表記ゆれによる取りこぼしを減らせます。どの語がよく検索されているかは、SearchWP の統計機能や、アクセス解析のサイト内検索レポートで確認できます。

対処5:検索用のキーワードを空白区切りで持たせる

分かち書きの問題を設定だけで解消するのは難しいため、実務では「検索に使ってほしい語を、空白で区切って別の場所に持たせる」方法がよく使われます。

具体的には、投稿ごとに「検索キーワード」のようなカスタムフィールドを用意し、「プラグイン 設定 方法 SMTP」のように語を空白で区切って入力します。そのフィールドを SearchWP のエンジンで検索対象に加え、重みを高めに設定すれば、単語単位でのヒットが期待できます。タグを空白区切りの語として運用し、タグを検索対象に含める方法でも同様の効果があります。

この方法は記事ごとの入力の手間がかかりますが、重要な記事や問い合わせの多いページから優先して入力すれば、少ない作業でも効果が出やすいのが利点です。

対処6:テーマやほかの検索機能が SearchWP を通っていない

設定を変えても結果が変わらない場合は、検索そのものが SearchWP を経由していない可能性があります。SearchWP は、通常の検索フォーム(s パラメーターを使う WordPress 標準の検索)の結果を置き換える形で動作します。テーマ独自の Ajax 検索や、ページビルダーの検索ウィジェット、別の検索プラグインが独自の処理で検索している場合、SearchWP の設定は反映されません。

入力中に候補を表示したい場合は、SearchWP と連携する公式の無料プラグイン「SearchWP Live Ajax Search」を使うと、SearchWP のエンジン設定がそのまま使われます。検索結果ページの URL が ?s= を含む標準の形になっているかも確認してください。

設定で足りない場合の選択肢

記事数が多く、検索がサイトの重要な導線になっている場合は、日本語の形態素解析に対応した検索基盤を使うことも検討に値します。たとえば Elasticsearch には日本語解析用のプラグイン(kuromoji)があり、ElasticPress などのプラグインを通じて WordPress の検索を置き換える構成が知られています。サーバーの準備や運用の負担は大きくなるため、SearchWP の設定と検索キーワードの工夫で十分かどうかを、先に見極めるのがよいでしょう。

まとめ

  • SearchWP は空白や記号で区切った単位で索引を作るため、区切りのない日本語では文中の単語がヒットしにくい
  • まず索引が正常に作られているか、ループバックリクエストや WP-Cron が動いているかを確認する
  • エンジンの検索対象と重み、部分一致の設定を見直し、変更後は索引を再構築して効果を確かめる
  • 同義語の登録や、空白区切りの検索キーワードを持たせる運用で取りこぼしを減らす
  • テーマ独自の検索が SearchWP を経由していないケースや、より本格的な検索基盤への切り替えも視野に入れる

お気軽にご相談ください

お見積りへ お問い合わせへ
▲