
WordPress のサイト運営をしていると、
「なぜか特定のページだけサイト内検索にヒットしない」
という不思議な現象に遭遇することがあります。
検索ワードも本文に入っているし、記事は公開済み。
カテゴリー設定も問題なし。
それなのに 検索ボックスでは出てこない……。
今回は、実際に私のサイトで発生した“不具合”と、
そこから原因を突き止め、解決するまでの流れをまとめました。
同じ現象で困っている方の参考になれば幸いです。
■ 症状:特定の投稿だけ、どうしても検索結果に出てこない
WordPress の標準検索フォームで「imap」と入力すると、
本来であれば 4〜5件ヒットするはずの記事が 2件しか表示されない 状態に。
問題の投稿を開いて確認してみると、
-
公開状態:公開
-
スラッグ:正常
-
本文に検索ワードが含まれている
-
カテゴリー設定も問題なし
なのに検索では一切ヒットしない。
しかし、「管理者ログイン状態」で検索すると きちんとヒットする。(これがわからない!)
「フロント側の検索だけが、その投稿を除外している状態」
ここまで来ると、テーマや投稿の設定というより
「検索クエリを書き換えている何か」が怪しくなってきます。
■ 解決のために行った手順
① テーマを変えてみる → 変化なし
逆に Twenty Twenty-Five などの公式テーマに切り替えても
検索結果の件数は変わりませんでした。
つまり、テーマが原因ではない ことが確定。
② プラグインを全て無効化して、1つずつ有効化 → 犯人が判明
WordPress トラブルの鉄板手法ですが、
今回はこの方法が 決定打 になりました。
▼ 手順
-
全プラグインを無効化
-
サイト内検索で「imap」を検索
→ この時点で 問題の投稿が検索結果に表示される -
プラグインを1つずつ有効化しながら検索を再テスト
-
あるプラグインをONにした瞬間、再びヒットしなくなる
そして、最終的に原因となっていたのは……
■ 原因:アクセス保護系プラグイン「Passster」
私の環境では、
Passster(パスワード保護・制限表示プラグイン)
が検索から投稿を除外していました。
Passster は「保護対象の記事は検索に出さない」という仕様があり、
-
過去に保護ショートコードを使った
-
一度保護設定を付けて後で解除した
-
メタデータだけ残っていた
などの理由で、投稿が“保護対象扱い”になると
WordPress検索から自動的に除外されます。
まさに今回の現象がこれでした。
■ Passster を無効化した結果 → 即解決
プラグインを無効化した瞬間、
今まで検索に出なかった投稿が 正常に表示されるように なりました。
原因がテーマでも投稿設定でもなく、
まさかの「保護系プラグインの自動除外」だったとは…。
アクセス制限プラグインは便利ですが、
裏側で WordPress の検索挙動を変えてしまうことがあるので要注意です。
■ 同じ症状で困っている方へ(まとめ)
もしあなたのサイトでも:
-
特定の投稿だけ検索に出ない
-
本文にもタイトルにもキーワードがあるのに出ない
-
管理画面ではヒットするのに、フロント検索だけ出ない
という症状があれば、次の手順を試してみてください。


