ITTI STAFF
BLOG

イッティWEBスタッフの制作ブログ

W3 Total Cache(W3 トータル・キャッシュ)のベストな設定方法

WordPressのキャッシュ系プラグインとして、人気の高い「W3 Total Cache」の設定方法です。サーバやウェブサイトによってベストな設定方法を紹介します。また「W3 Total Cache」で不具合が出た場合の対策、削除方法もご紹介します。

「設定が難しい」と言われる「W3 Total Cache」ですが、サーバやブログに合わせて最適な設定ができれば、非常に強力なキャッシュプラグインとして恩恵を受けることができます。

特にページ数が多いウェブサイトの場合は、他のキャッシュプラグインよりサーバも安定して表示速度も上がっています。

サーバやウェブサイトに合わせて「W3 Total Cache」のベストな設定を備忘録も兼ねてご紹介します。

W3 Total Cacheがお薦めのケース

W3 Total Cacheは、データベースのキャッシュやオブジェクトキャッシュなど、様々なキャッシュ機能をトータルで設定、管理できます。

サーバのスペックが高い場合、W3 Total Cacheの機能をフル活用できます。
CPUやメモリの多いVPSや、専用サーバでウェブサイトを運営している場合はW3 Total Cacheはお薦めです。

低価格の共有サーバを利用している場合は、W3 Total Cache以外のキャッシュプラグインがお薦めです。

Page Speed Insigntsの結果

ページ速度改善のチューニングはW3 Total Cacheだけではありませんが、W3 Total Cacheによるキャッシュで大幅に改善されています。

Page Speed Insightsで計測した結果が下記になります。

W3 Total Cacheの設定方法

W3 Total Cacheを導入して有効化して、設定を進めていきます。

まずは、基本的な設定をおこなう「General Settings」から設定を進めていき、次にページキャッシュやオブジェクトキャッシュなどの細かな設定を進めていきます。

設定をする前に気をつける点

設定する前に気をつける点が「Object Cache」と「Database Cache」の設定です。

W3 Total Cacheで不具合が起こる原因がこの2つの設定です。この設定をサーバのスペックに合わせて設定することが重要になります。

General Settingsの設定方法

ページキャッシュやオブジェクトキャッシュなどの基本設定をおこなうことができます。

設定の「Enable(イネーブル)」は有効という意味です。
ちなみに逆の無効は「Disable(ディスエブル)」です。

Page Cache

ページをキャッシュする設定す。

「Enable」にチェックして、「Dist:Enhanced」を選択します。

Minify

HTMLや、CSS、JavaScriptをコンパクトにする設定です。コンパクトにすることでファイル容量が小さくなります。

「Enable」にチェックを入れた場合、表示が崩れたり、一部のプラグインが正常に作動しない場合があります。
その場合は「Enable」のチェックを外すことで不具合は解消されます。

「Enable」のチェックはオフにします
Minifyは全ての設定が完了後に設定するのが良いです。
Minifyは別のプラグインを利用しても良いでしょう。

Opcode Cache

PHPをキャシュする設定ですが、設定できるのはProバージョンだけになります。
そのままの設定でOKです。

Database Cache

ワードプレスはデータベースから頻繁にデータを取得するため重く遅くなります。

そこでデータベースのクエリを予めキャッシュすることで、データベースへのアクセスを減らすことができて表示速度を上げることができます。

ただし、データベースキャッシュはサーバのリソースを大きく消費するため、サーバのスペックが低い場合はワードプレスが落ちます。

サーバスペックが高いVPS、専用サーバの場合は「Enable」にチェックして、「Disk」を選択します。

共有サーバを利用している場合は「Enable」のチェックはオフにした方が良いです。

Object Cache

データの処理をメモリにキャッシュして、パフォーマンスを向上させるのが「オブジェクトキャッシュ」です。

メモリが少ないサーバではワードプレスは落ちます。逆にパフォーマンスが低下することもあります。

サーバスペックが高いVPS、専用サーバの場合は「Enable」にチェックして、「Disk」を選択します。

共有サーバを利用している場合は「Enable」のチェックはオフにした方が良いです。

Browser Cache

ホームページを閲覧しているユーザーのブラウザにキャッシュさせるのが「ブラウザキャッシュ」です。
「クライアント・サイド・キャッシュ」とも呼ばれます。

「Enable」にチェックします。

CDN

CDN(コンテンツ・デリバリー・ネットワーク)を利用している場合のみ、設定します。

今回はCDNを利用しないため設定方法は割愛します。

「Enable」はオフにします。

Reverse Proxy

サーバにロードバランサーを導入して負荷を分散させている場合は、チェックを入れてIPアドレスを記入します。

「Enable」はオフにします。

リバースプロキシについてはこちらの動画が参考になります。

Monitoring

ワードプレスが落ちていないかを監視してメールで知らせてくれます。

利用する場合は「New Relic」のアカウントが必要となります。

利用しない場合はスルーしてOKです。

Fragment Cache

Proバージョンのみ利用できるキャッシュとなります。

「Please select a method」を選択したままでOKです。

フラグメントキャッシュを使用する場合

フラグメントキャッシュとは、ページを構成する要素ひとつひとつをキャッシュして再利用させるキャッシュ方法の一つです。

使用する場合は「Fragment Cache Method」を選択します。基本的には「Disk」をします。または環境に合わせて適宜設定します。

wp-config.phpファイルに下記を記載して有効にします。

define('W3TC_DYNAMIC_SECURITY', 'somesecurestring');

PHPコードにフラグメントキャッシュを適用する場合は下記のように囲みます。

<!-- mfunc W3TC_DYNAMIC_SECURITY -->
    PHP code
<!- /mfunc W3TC_DYNAMIC_SECURITY >

HTMLやCSSを圧縮するMinifyを利用されている場合は、「mfunc」のコメントが削除されないようにコメント削除設定で「mfunc」を除外する必要があります。

これは他の圧縮プラグインを利用している場合も「mfunc」のコメントが削除されないように設定しておきましょう。

Miscellaneous

Google Page Speedをウィジェットで確認することができます。

不要なので「Enable」をオフにしておきます

Debug

問題が発生した場合にのみ有効にします。有効にするとページフッターにデバッグ情報が表示されます。

通常はスルーしてOKです。

Import Export

設定した内容をファイルとして保存することができます。
他のウェブサイトにも同じ設定をする時などに便利です。

全ての設定が完了したら、設定を保存しておくことをお薦めします。

以上でGeneral Settingsは完了です。続いて詳細設定を行っていきます。

Page Cache

ページキャッシュの詳細設定を行っていきます。

General

「Cache SSL」は、ワードプレスをHTTPSで運営している場合はチェックします。

ALiases

ドメインエイリアスによるキャッシュ設定で、スルーしてOKです。

ドメインエイリアスとは、1つのウェブサイトに異なるドメインでもアクセスさせる機能のことです。リダイレクトみたいなものです。

Cache Preload

ユーザーがページを訪れる前に、自動的にキャッシュを構築させる設定です。便利な機能ですがサーバに負荷が掛かります。

キャッシュプリロードを利用する場合は「Sitemap URL」に、xmlのサイトマップURLを記入します。

共有サーバを利用されている場合は、Cache Preloadをオフにした方が良いです。

Purge policy

 

記事やコメントが投稿されると、キャッシュをパージ(開放する)ページを設定します。

パージするページが多い場合はサーバに負荷が掛かります。
一般的には「Front page」「post page」だけで良いでしょう。

Advanced

Advancedでは、パージの間隔やキャッシュしないページなどを設定することができます。
一般的には下記の3つの設定を検討します。

「Compatibility mode」にチェックを入れると、W3 Total Cacheのパフォーマンスは20%ほど低下しますが、サーバの負荷を抑えて安全に利用することができます。

「Garbage collection interval」は、キャッシュの期限を設定します。デフォルトは「3600秒(1時間)」です。頻繁に更新することがなければ増やしても良いでしょう。

「Comment cookie lifetime」は、コメントのクッキー保有時間です。ブログにコメント機能がなければデフォルトでOKです。

以上で「Page Cache」の設定は完了です。

Minify

HTMLやCSS、JavaScriptなどを圧縮する詳細設定をおこなうことができます。Minifyを利用しない場合は設定は不要です。

General

「Rewire URL structure」にチェックします。

HTML & XML

圧縮するファイルを選択します。画像を参考にチェックしてください。

その他の設定

「JS」「CSS」「Advanced」はデフォルトの設定でOKです。

表示が崩れる場合は「CSS」のMinifyをオフにします。

画像のスライドや一部のプラグインが機能しない場合は「JS」のMinifyをオフにします。

Database Cache

データベース・キャッシュの詳細設定ができます。データベース・キャッシュを利用しない場合は設定は不要です。

General

ログインユーザーのクエリはキャッシュしないほうがよいので、「Don't cache queries for logged in users」はチェックします。

Advanced

デフォルトの設定でOKです。

Object Cache

オブジェクト・キャッシュの詳細設定ができます。オブジェクト・キャッシュを利用しない場合は設定は不要です。

「Enable cacing for wp-admin requests」は管理画面のパフォーマンスを向上させることができますが、不具合も発生しやすいのでチェックオフがお薦めです。

基本的にはデフォルトの設定が安全でお薦めです。

Browder Cache

ブラウザ・キャッシュの詳細設定ができます。ほとんどの設定がデフォルトでOKです。

General

画像の5つの項目にチェックします。

その他の設定

「CSS & JS」「HTML & XML」「Media & Other Files」「Security Geaders」の設定はデフォルトの設定でOKです。

User Agent Groups

スマートフォンやフィーチャーフォンのユーザーに、異なるキャッシュを表示させることができます。

レスポンシブデザインを採用しているブログの場合、設定は不要です。

Referrer Groups

GoogleやBingなど、参照元に基づいてキャッシュを表示させることができます。

設定は不要です。

Cookie Groups

Cookie情報に基づいてキャッシュを表示することができます。

設定は不要です。

Fragment Cache

proバージョンを利用している場合は、設定できます。

設定は不要です。

W3 Total Cacheの設定は以上となります。

利用しているサーバとの相性が良く設定がうまくいけば、WordPressの表示速度がかなり向上します。

W3 Total Cache設定のポイント

「Database Cache」「Object Cache」は一旦オフにして、しばらく様子を見てからDatabase Cacheや、Object Cacheをオンにすると安全に設定ができます。

フッターのコメントを削除する方法

W3 Total Cacheは、HTMLのフッターにパフォーマンスについてのコメントを追記します。

このコメントを削除するにはテーマの「functions.php」にフィルターフックを記述することでコメントを削除することができます。

PHP
add_filter( 'w3tc_can_print_comment', function( $setting ) { return false; }, 10, 1 );

functions.phpの更新後に、キャッシュをパージする必要があります。

新しい記事

新宿のWEB制作会社イッティ

新宿のWEB制作会社イッティ