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

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

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

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

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

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

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

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

例) 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担当者の方、デジタルマーケティングに興味がある方はぜひご覧ください。


広告運用やSEO、解析・Web製作など、当社はWebに関わるベストソリューションをご提供しています。お悩み・ご相談も受け付けておりますので下記のボタンからお気軽にご連絡ください。

Webサイト全体の表示スピードを診断!低速ページを一気に検出!

デジタルアイデンティティでは、お客様のWebサイト全体の表示スピードを診断し、低速ページを検出するサービスを提供しています。

主要なページはもちろん、サイト内の全ての低速なページの改善をおこなうことで、SEOやアクセシビリティに好影響があると考えられます。
しかし、サイトの規模が大きくなるほど、すべてのページを手動で診断することは現実的ではありません。

弊社の「低速ページ検出サービス」では、ドメイン内のすべてのURLの表示速度を診断し、低速ページの一覧とともに50項目以上の診断で低速になっている要因を分析。また、ご希望に応じて具体的な改善施策のご提案もいたします!

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

  • サイト内のすべてのページの表示速度を調査したい…
  • サイト全体のUI/UX、アクセシビリティを向上させたい…
  • サイト全体のSEO対策を強化したい…
  • どこから改善をすれば良いかわからない…

様々なWebサイトの高速化を達成してきた技術とノウハウで、貴社サイトを診断いたします!

「低速ページ検出サービス」の詳細はこちら

関連記事

Keywords