悩めるWEB担当者様のための最新ノウハウをお届け

WordPressでWP_Object_Cacheを使って、表示高速化しよう!

WordPressを高速化する際に、必ずと言っていいほど考えるのがキャッシュすることです。
キャッシュを活用することで、表示を高速化することができます。

キャッシュにも様々なものがありますが、
その中でWordPressに標準で搭載されているWP_Object_Cacheというものがあります。

簡単にいうと、WP_Object_CacheはデータをキャッシュするためのWordPressクラスです。
大きな特徴としては、キャッシュされたデータがメモリに格納されるので、
使用する際に、データベースへクエリを発行することなく、キャッシュを使用することができます。

同じくWordPressに標準搭載されているTransients APIと違って
データベースへの接続をしないので、より負荷を減らすことができます。

ただし、プラグインやプログラムで特別な対応をしない限り、
1セッションの中でしかキャッシュされません。
Transient APIでは可能な、セッションをまたいだ利用ができないのがデメリットです。

1ページ内で同じクエリを複数回発行したいときなどに役立ちます。

【無料】PageSpeed Insightsを100ページ一括自動診断!

「トップページは改善したが、下層ページは放置気味…」「1ページずつ手動で計測するのは手間がかかる…」
そんなお悩みを解決!最大100ページを自動で計測し、修正優先度付きのレポートを無料で作成します。サイト全体の「健康状態」を把握したい方は、今すぐお申し込みください。

例) get_postsで使用

使用方法の基本の考え方はTransient APIとも共通していて、
まずgetして、
なければクエリかクエリを発行する関数を使用して、キャッシュをメモリに格納します。

$get_contents = wp_cache_get(‘test’);
if(FALSE === $get_contents){
    $args = [
        // get_postsのパラメータを設定。
    ];
    $get_contents = get_posts($args);
    set_transients(‘test’, $get_contents);
}

なお、if文の条件には注意が必要な場合があります。
例えば、0が返ってくるクエリを発行する場合
if(empty($get_contents))とするとtrueになるので
データが取れているのにも関わらず、もう一度クエリを発行して、データをsetしようとします。

wp_cache_getはデータがないとfalseを返すので
「wp_cache_getがfalseの時に」と条件を設定するのがオススメです。

使用が終われば削除しておく

キャッシュは必要なくなれば削除しておきましょう。
WP_Object_Cacheによるキャッシュは基本1つのセッションの中でしか使用できず、かつ
メモリに格納されるので、
キャッシュしたデータの使用が終わっているのに消さないでいると、セッションの終わりまでメモリを使ったままになるので、削除してメモリを開放しておくとよいでしょう。

最後にキャッシュを使った行の後に

wp_cache_delete('test');

を記述して削除しておきましょう!
全て消してよい場合は

wp_cache_flush();

で全て一気に削除しておくのがオススメです。

まとめ

WP_Object_Cacheは基本的な使い方だと使うポイントが限定されるのですが、
メモリにデータが格納され、Transients APIより高速な処理が可能となります。
是非活用してみてください。

当サイトではこの他にもWebに関するお役立ち情報を多数ご紹介しています。
Web担当者の方、デジタルマーケティングに興味がある方はぜひご覧ください。

数時間の作業が一瞬で!PageSpeed Insights最大100ページを一括診断!

PageSpeed Insightsを手動でチェックすると、3〜5分程度かかってしまいます。
一定規模、以上のWebサイトで全ページをチェックしようとすると、数時間以上のリソースが必要になります。

デジタルアイデンティティでは、「トップページ以外の速度状況がわからない」「ページ数が多くて管理しきれない」という企業様向けに、PageSpeed Insightsで最大100ページをまとめて計測する「サイトスピード一括診断ツール」を提供しています。

WebサイトのURLを入力するだけで、モバイル・PC両方のスコアやCore Web Vitals指標を全自動で取得。単なるスコアだけでなく、「どのページから直すべきか」がわかる修正優先度リストや、SEOリスクの可視化レポート(PDF・Excel)を無料で納品します。

こんなお悩み、ありませんか?

  • 1ページずつPSIで計測するのが面倒で放置している…
  • トップページは早いが、記事や商品ページの速度が不安…
  • どのページが足を引っ張っているのか特定できない…
  • 社内報告用にサイト全体のパフォーマンスを数値化したい…
  • 改善インパクトの大きいページから効率よく対策したい…

「点」ではなく「面」でサイトの課題を把握し、ユーザー体験とSEO評価を底上げしましょう。
毎月10社限定の無料診断です。

【毎月10社限定】無料一括診断に申し込む

関連記事