web-dev-qa-db-ja.com

W3-Total-CacheのあるWordpressのブラウザキャッシュに新しい投稿が表示されない

私はWordpress(3.5.1)といつも人気のあるW3 Total Cache(0.9.2.8)の両方の最新版を実行していますが、ブラウザキャッシュに問題があります。基本的に私のホームページがキャッシュされないようにするための設定を理解することはできません。

ブラウザのキャッシュを有効にすると、ホームページがキャッシュされ、新しい投稿が表示されなくなります。私の傾向は、HTML&XML Expiresヘッダーの寿命を900秒(15分)程度にまで短くすることですが、ここで私の問題を解決できるかどうかは100%確信できません。

これについての助けを事前にありがとう!

5
Ryan

ブラウザが更新されたHTMLページ(例:ホームページ)を確実に取得するために必要な2つのステップがあります。

ステップ1

'HTML&XML'ファイルの場合は、あなたのサイトのwp-admin/admin.php?page=w3tc_browsercache#html_xmlで 'Set expires header'のチェックを外してください。

ブラウザがExpiresヘッダを見るたびに、それ(ブラウザ)は期限切れになった後にだけその特定のHTMLページの次のバージョンを取得します。 Expiresヘッダは、リソース(ホームページ/ HTMLページ)が無効になる日付を指定します。

ステップ2

wp-admin/admin.php?page=w3tc_browsercache#html_xmlのあなたのサイトの 'ブラウザキャッシュ'では、 'HTMLとXML'ファイルの場合、 'キャッシュ制御ポリシー'はおそらく '最大有効期間と検証を伴うキャッシュ'( 'max-age = EXPIRES_SECONDS、public、must-revalidate、proxy)であるべきです。 -revalidate ")。

'expires'ヘッダと同様に、max-ageヘッダはリソース(ホームページ/ HTMLページ)がダウンロードされてからどのくらい有効であるかを指定します。

このキャッシュ制御ポリシーを使用すると、W3 Total Cacheはさらに2つのヘッダーを送信します。

  1. Last-Modifiedヘッダー
  2. ETagヘッダ

Last-Modifiedヘッダーが存在する場合、ETagの使用は冗長です(IMO)。そのため、W3 Total Cacheによって生成されたETagヘッダーを削除しても安全です。

ホームページが更新されず、ブラウザがすでにブラウザキャッシュにある同じページを取得しようとすると、W3 Total Cacheは304 Not Modifiedステータスコードを送信します。ホームページが更新され、ブラウザがすでにブラウザキャッシュにある同じページを取得しようとすると、W3 Total Cacheは更新されたホームページに更新されたLast-ModifiedおよびETagヘッダーを付けて送信します。

Expiresおよびmax-ageヘッダーの詳細については、次のページをご覧ください。 https://developers.google.com/speed/articles/caching

Firefoxを使用している場合、 Live HTTP Headersアドオン を使用して、上記のすべてのヘッダーがリアルタイムでどのように機能するかを確認できます。

2
Pothi Kalimuthu