SearchWPブログ

WordPressのチュートリアル、ヒント、リソースでビジネスを成長させる

遅いWordPress検索を修正する方法 7つの修正方法

遅いWordPressの検索に関するほとんどのアドバイスは、遅いウェブサイトのように扱いますが、それがほとんど役に立たない理由です。遅延は通常、訪問者が検索を押すたびに実行されるデータベースクエリにあります。

デフォルトでは、WordPressは各検索単語を%word%のようなパターンに変換し、投稿やページのタイトル、抜粋、コンテンツに対してチェックします。画像を圧縮したりCDNを追加したりしても、ページの読み込みは速くなりますが、その検索時間を短縮するものではありません。

WordPressの検索を高速化する方法は、すべてのクエリでそのスキャンが発生しないようにすることです。検索インデックスは事前に作業を行うため、WordPressは各投稿を読み取る代わりに一致する単語を検索できます。

この記事では、影響力の順に7つの修正方法を示し、どの修正がサイトに必要なのかを判断する方法も紹介します。

WordPressの検索が遅いのはなぜですか?

WordPressの組み込み検索は、誰かが検索するたびに新しいデータベースクエリを実行します。

そのクエリは、訪問者が入力したすべての単語を取得し、検索可能な投稿タイプの投稿のタイトル、抜粋、コンテンツと比較します。

各パターンの先頭にある%ワイルドカードが遅さの原因です。MySQLのインデックスに関するドキュメントによると、ワイルドカードで始まる一致には通常のインデックスを使用できないため、データベースは代わりにテキストを読み取る必要があります。

あるトピックについて尋ねられるたびにカードカタログをチェックする代わりに、棚にあるすべての本を読む司書を想像してみてください。小さなブログでは、誰もその待ち時間に気づきません。

サイトが何百、何千もの投稿、ページ、製品に成長するにつれて、各検索で読み取るテキストが増えます。

検索が長くなるとコストも増加します。WordPressは追加の単語ごとに一致のセットを追加し、それらすべてが一致することを要求するためです。

それでは、検索クエリ自体を高速化するための7つの修正方法を見ていきましょう。

これらの修正は影響力の順に並べられており、どこに焦点を当てるべきかを示すものから始まります。7つの方法を簡単に確認しましょう。

1. まず検索を遅くしている原因を特定する

何かを変更する前に、どこに時間がかかっているかを確認すると役立ちます。

各ページでデータベースクエリを一覧表示し、遅いものをフラグ付けする無料のWordPressプラグインがあります。また、各クエリを担当しているプラグイン、テーマ、またはWordPressコアの一部も表示されます。

インストール後、サイトで検索を実行し、管理ツールバーのクエリモニターメニューを開きます。

検索クエリがページで最も遅い場合、修正2から5が最も役立ちます。サーバー自体がボトルネックになっている場合は、修正7に進んでください。

別のプラグインのクエリが最も遅い場合は、そのプラグインの設定を確認するか、まず開発者に問い合わせてください。

検索で何も見つからない場合は、結果が遅くなるのではなく、WordPressの検索が機能しない場合の対処法に関するガイドでその問題に対処します。

2. データベーススキャンを検索インデックスに置き換える

最大の速度向上は、検索時に投稿をまったくスキャンしないことから得られます。

独自のインデックスを持つ検索プラグインは、コンテンツを一度事前に読み込み、各単語を検索テーブルに保存します。

誰かが検索すると、プラグインはすべての投稿を読み取る代わりに、それらの単語を検索します。このためにはSearchWPをお勧めします。

SearchWP - ベストWordPress検索プラグイン

SearchWPは、50,000以上のウェブサイト所有者に信頼されている最高のWordPress検索プラグインです。WordPressデータベース内に検索インデックスを構築し、テーマの変更なしにサイトのデフォルト検索を引き継ぎます。

SearchWPが提供する検索速度に役立つ主な機能の一部を以下に示します。

  • 独自の検索インデックス。 SearchWPは、選択したソースのコンテンツを専用のインデックステーブルに保存するため、検索は投稿をスキャンする代わりに単語を検索します。
  • バックグラウンドインデックス作成。 新規および更新されたコンテンツは、保存後、短いバックグラウンドパスで自動的にインデックスが作成されます。
  • インデックス対象の制御。 各検索エンジンに含めるコンテンツタイプとフィールドを決定できるため、インデックスを効率的に保つことができます。
  • ライブAjax検索。訪問者が入力すると、ドロップダウンに結果が表示されるため、Enterキーを押す前に一致するものが表示されます。

開始するには、SearchWPウェブサイトでサインアップし、アカウントのダウンロードタブに移動します。そこから、プラグインZIPファイルをダウンロードし、ライセンスキーをコピーします。

アカウントエリアからSearchWPプラグインをダウンロード

次に、WordPressサイトでプラグインをインストールして有効化します。

有効化後、オンボーディングウィザードを開始をクリックし、画面の指示に従います。セットアップが完了すると、SearchWPはバックグラウンドでインデックスを構築します。

SearchWPオンボーディングウィザードが検索インデックスを構築します

それ以降、サイトの標準検索フォームからの検索は、デフォルトのスキャンではなく、SearchWPのインデックスを通じて実行されます。

3. 訪問者が必要とするコンテンツのみを検索する

インデックスが小さいほど、検索時にチェックするエントリが少なくなります。

SearchWPは、各エンジンで有効にしたソースのみをインデックスするため、訪問者が検索しないものをトリミングする価値があります。

これを行うには、SearchWP »アルゴリズムに移動し、ソースと設定をクリックします。

WordPressで新しい検索エンジンを編集または追加する

そこから、有効になっている場合はコメントなど、訪問者が必要としないソースのチェックを外し、完了をクリックします。

WordPress検索を高速化するためにソースを制限する

次に、ソースの属性の追加/削除をクリックして、インデックスを作成するフィールドを選択します。終了したら、完了をクリックして変更を保存します。

その後、保存をクリックし、インデックスの再構築をクリックしてプロンプトを確認すると、SearchWPは新しい設定でインデックスを再構築します。

保存してインデックスを再構築

完全なウォークスルーについては、特定の投稿タイプに検索を制限する方法に関するガイドを参照してください。

4. 永続オブジェクトキャッシュを追加する

オブジェクトキャッシュはデータベースクエリの結果をメモリに保存するため、WordPressはデータベースに再度問い合わせる代わりにそれらを再利用できます。

WordPressは、検索を含む独自の投稿クエリの結果をすでにキャッシュしています。ただし、永続的なオブジェクトキャッシュがない場合、そのキャッシュはページがロードを完了するとすぐに破棄されます。

RedisやMemcachedのような永続的なキャッシュは、訪問者間でその結果を保持するため、繰り返しのデフォルトのWordPress検索ではデータベースをスキップできます。多くのホスティングサービスでは、それらのいずれかを提供しているため、あなたのホスティングサービスに尋ねる価値があります。

WordPressは、投稿が追加または更新されるたびにキャッシュされたクエリ結果をリセットするため、コンテンツがあまり頻繁に変更されないサイトで最大の効果が得られます。

SearchWPが検索を実行する場合でも、そのインデックス検索は毎回実行されます。オブジェクトキャッシュは、ページ上の他のクエリを高速化できます。

5. インデックス作成と訪問者の競合を避ける

検索インデックスは構築され、最新の状態に保たれる必要があり、その作業は訪問者が使用するのと同じサーバーで実行されます。

SearchWPはバックグラウンドでインデックスを作成し、60秒後に停止して中断したところから再開するパスで処理します。共有ホスティングでは、これらの各パスを軽量にすることができます。

これを行うには、SearchWP »設定に移動し、その他タブをクリックします。次に、インデクサー負荷の軽減をオンにします。これにより、インデックスパスあたりの処理データ量が少なくなります。

SearchWPのインデクサー負荷軽減設定

これによりインデックス作成に時間がかかりますが、訪問者が閲覧している間はサーバーへの負荷が軽減されます。

そのタブにいる間は、ドキュメントコンテンツの再解析をオフのままにしてください。既に抽出されたPDFおよびドキュメントテキストをそのまま保持すると、インデックスの再構築が高速化されます。

最小単語長の削除もオフのままにしておきたいでしょう。オンの場合、SearchWPは3文字未満の単語もインデックス化するため、インデックスが大きくなります。

一般タブでは、部分一致は、検索単語がインデックスに正確に一致しない場合にのみ部分単語を探します。そのため、オンのままにしておくと、すべての単語が既に一致している検索への作業負荷がほとんど追加されません。

部分一致と最も近い一致を有効にする

これらのタブのすべてのオプションについては、SearchWP設定ドキュメントをお読みください。

サイトに大規模なPDFライブラリがある場合、ドキュメントの解析はインデックス作成の最も重い部分になる可能性があります。SearchWP Xpdf統合拡張機能は、Xpdfのpdftotextツールに切り替えます。これは、ホスティングサービスで実行できる限り、解析が困難なファイルに対してSearchWPの組み込みPDFパーサーよりも高速で正確です。

私たちのXpdf統合ドキュメントはセットアップについて説明しています。ローカルPDF解析が困難なホスティングサービスの場合、オフサイトPDF解析拡張機能(Pro以上)は、テキスト抽出をリモートサーバーに送信します。

ライブ検索はデータベースクエリを短縮しませんが、検索の体感を速くします。

SearchWPライブAjax検索拡張機能は、訪問者が入力するにつれてドロップダウンで結果を表示するため、Enterキーを押す前に一致するものを確認できます。

WordPressにライブ検索を無料で追加する方法:ライブ検索の最終的な見た目

デフォルトでは、訪問者が300ミリ秒入力するのを一時停止し、少なくとも3文字を入力するまで待機します。これにより、サーバーがキーストロークごとに新しい検索を実行するのを防ぎます。

SearchWPライブAjax検索は、すべてのSearchWPプランに含まれています。ライブオートコンプリート検索の追加に関するガイドでは、セットアップとすべてのオプションについて説明しています。

7. PHPとデータベースを更新し、ホスティングを検討する

古いPHPおよびデータベースバージョンは、検索を含むサイト全体を遅くする可能性があります。

WordPressではPHP 8.3以上、MySQL 8.0またはMariaDB 10.11以上を推奨しています。お使いのホスティングでどのバージョンが稼働しているかはホスティング会社にお問い合わせください。多くのホスティング会社では、ホスティングダッシュボードからPHPバージョンを切り替えることができます。

ホスティングプランのアップグレードは最後に行います。上記の修正を行ってもQuery Monitorで遅いクエリが表示される場合は、サーバーのトラフィックに対するリソースが不足している可能性があります。

よくある質問

1. WordPressの検索が遅いのはなぜですか?

WordPressの検索が遅いのは、通常、検索ごとにコンテンツを読み取るためです。デフォルトの検索では、検索語句と投稿のタイトル、抜粋、コンテンツを比較するため、サイトが大きくなるにつれて処理量が増えます。

検索インデックスはこの作業を事前に実行することでこれを解決します。

2. キャッシュプラグインはWordPressの検索を高速化しますか?

キャッシュプラグインは、検索ごとに異なるURLが作成されるため、期待するほど効果はありません。例えば、WP Rocketはデフォルトでは検索結果をキャッシュしません。

Redisのような永続的なオブジェクトキャッシュは、繰り返し行われるデフォルトのWordPress検索を助けることができますが、投稿が変更されるたびにWordPressはそのキャッシュされた結果をリセットします。

3. 高速なWordPress検索のためにElasticsearchやAlgoliaは必要ですか?

ほとんどのWordPressサイトでは、外部検索サービスは必要ありません。SearchWPのような独自のインデックスを持つ検索プラグインは、APIキーや従量課金なしで、データベース内の検索を高速化します。

ホスト型サービスは、開発者が保守する場合に、非常に大きなカタログに最適です。

4. 検索プラグインはWordPressサイトを遅くしますか?

SearchWPは、短いパスでバックグラウンドでインデックスを構築するため、インデックス作成中に訪問者はブラウジングを続けることができます。共有ホスティングでは、SearchWP » 設定に移動し、その他タブをクリックして、各パスを軽量化するためにインデクサー負荷の軽減をオンにすることができます。

5. データベースのクリーニングはWordPressの検索を高速化しますか?

データベースのクリーニングはサイト全体の速度向上に役立ちますが、検索にはほとんど効果がありません。WordPressの検索クエリは、通常クリーンアップツールが削除する一時ファイルやコメントではなく、投稿テーブルを読み取ります。

検索スキャンをインデックスに置き換えることで、はるかに大きな違いが生まれます。

訪問者に高速な検索結果を提供する

遅いWordPress検索は通常クエリに起因するため、最も役立つ修正は、検索結果の見つけ方を変えるものです。

この記事がWordPress検索の高速化方法を学ぶのに役立ったことを願っています。また、WordPress検索を改善する方法とWordPress検索インデックスの問題を修正する方法に関するガイドも参照してください。

訪問者を結果の待ち時間から解放する準備はできましたか?ここからSearchWPを始めることができます。すべてのプランには14日間の返金保証が付いています。

著者アバター
アジム・アクター

今日からより良いWordPress検索エクスペリエンスを作成しましょう

役に立たない検索結果で訪問者を失うことはもうありません。SearchWPを使用すると、独自のスマートなWordPress検索をすばやく簡単に作成できます。

今すぐSearchWPを入手
複数の検索エンジンアイコン