WordPress遅すぎ問題を解決!クエリ削減で爆速サイトを作る秘訣

当ページのリンクには広告が含まれています。

こんにちは、WordPress開発者の大倉智也です。サイトの表示速度で悩んでいませんか?今回は、WordPressの最大の敵、クエリ数を減らして、サイトを劇的に高速化する方法をお教えします!

目次

目次

  1. キャッシュって知ってる?サイト高速化の基本中の基本
  2. テンプレート内のクエリ、実はこんなに減らせる!
  3. メインクエリ vs サブクエリ:どっちを使うべき?
  4. プロが教える!クエリ削減のベストプラクティス
  5. まとめ:明日からできる、WordPress高速化のためのアクション

キャッシュって知ってる?サイト高速化の基本中の基本

みなさん、「キャッシュ」って聞いたことありますか?これ、実はサイトの速度を上げるための超重要テクニックなんです。詳しく見ていきましょう。

テンプレート内のクエリ、実はこんなに減らせる!

WordPress のテーマ開発、やったことありますか?実は、テンプレート内でちょっとした工夫をするだけで、クエリの数をグッと減らせるんです。具体的な方法、教えちゃいます!

できるかぎりget_fieldsを用いて、1つの記事に紐づいたカスタムフィールドはまとめて取得してしまうのがオススメです。

$field1 = get_field(‘field1’);
$field2 = get_field(‘field2’);

$fields = get_fields();
$field1 = $fields[‘field1’];
$field2 = $fields[‘field2’];

とすればクエリの数は2から1となりトータルの負荷が軽くなります。

メインクエリ vs サブクエリ:どっちを使うべき?

「メインクエリ」と「サブクエリ」、どっちを使うべきか悩んだことありませんか?実は、選び方次第でサイトの速度が大きく変わるんです。プロの選び方、教えます!

サブクエリを使わず、メインクエリをpre_get_postsのアクションフックを用いて書き換えます。
例えば、(普通の)固定ページなど書き換えられないものもありますが、ブログ投稿のインデックスページ等書き換えられるものは書き換えることを推奨します。


function changeMainQuery($query)
{
    //管理画面のメインクエリーとメインクエリーじゃないときは処理しない
    if (is_admin() || !$query->is_main_query()) {
        return;
    }
     
    //例えば、ブログ投稿のインデックスページならば、、
    if ($query->is_home()) {
        //カスタム投稿タイプがnewsの記事を表示する。
        $query->set( 'post_type', 'news' );
    }
}
add_action('pre_get_posts', 'changeMainQuery');

のように記述します。
setはWP_Queryのパラメータにあるものなら設定できるので、何があるのか確認しておくとよいでしょう。

まとめ:明日からできる、WordPress高速化のためのアクション

さあ、ここまでクエリ削減のテクニックを見てきました。「難しそう…」と思った方もいるかもしれません。でも大丈夫!今日から始められる具体的なアクションをまとめてお伝えします。

いかがでしたか?クエリ削減、少し身近に感じてもらえたでしょうか。これらのテクニックを使えば、あなたのWordPressサイトもきっと爆速になるはずです!次回も、WordPress開発に役立つ情報をお届けしますので、お楽しみに!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次