「キャッシュバリデーターの指定」エラーを修正する方法

公開: 2022-06-11

GTmetrixまたはPingdomを使用してWebサイトのパフォーマンスをテストすると、「キャッシュバリデーターを指定してください」というエラーが発生する場合があります。 このメッセージは、ブラウザのキャッシュを最大限に活用していないことを意味します。 残念ながら、これはサイトのパフォーマンスに悪影響を与える可能性があります。

この記事では、「キャッシュバリデーターの指定」エラーの意味について説明します。 また、WordPressで修正し、Webサイトのパフォーマンスを最適化する方法についても説明します。 さあ、始めましょう!

「キャッシュバリデーターを指定する」とはどういう意味ですか?

キャッシュを有効にすることで、訪問者のブラウザまたは「クライアント」に、訪問者がWebサイトにアクセスしたときに重要なファイルをローカルに保存するように指示できます。 そうすれば、ユーザーはページを開くたびにサイト全体とそのリソースをリロードする必要がなくなります。

キャッシングは、Webサイト間で非常に一般的な方法です。 これは、サイトのパフォーマンスを向上させるための最も効果的な方法の1つでもあります。 ただし、適切な実装には、キャッシュの「ポリシー」が必要です。

このポリシーは、次のことに関する明示的な指示を提供するキャッシュヘッダーを含めることを意味します。

  • キャッシュされたリソースを検証する方法
  • クライアントがキャッシュする必要のあるリソース
  • クライアントがリソースをキャッシュする時間
  • クライアントがキャッシュされたリソースの変更を探す方法

「キャッシュバリデーターを指定してください」エラーは、Webサイトの応答に対応するキャッシュヘッダーがないことを意味します。 指示がないからといって、キャッシュが機能しないわけではありません。 ただし、次のように効率的に機能することはありません。

WordPressでキャッシュバリデーターエラーを指定する

WordPress Webサイトのパフォーマンスを分析するときにこのエラーが発生した場合は、Webサイトができるだけ速く読み込まれない可能性があることを意味します。 ただし、適切なキャッシュヘッダーを使用することで、この問題を修正できます。

WordPressでキャッシュバリデーターを指定する方法(3つの方法)

Webサイトのヘッダーに実装できるキャッシュバリデーターにはいくつかの種類があります。 サーバーは、最終変更またはETagバリデーターなど、場合によってはそれらを自動的に追加します。

「キャッシュバリデーターの指定」エラーが発生した場合、最も可能性の高い原因は、キャッシュ制御が欠落しているか、ヘッダーが期限切れになっていることです。 両方をWordPressに追加する方法を説明しましょう。

1.Cache-Controlヘッダーを手動で追加します

キャッシュ制御ヘッダーを使用すると、キャッシュの期間または「長さ」を秒単位で指定できます。 これらのヘッダーを使用して、長さが適用されるファイルタイプを示すこともできます。 ヘッダー自体の構造は、使用しているWebサーバーソフトウェアによって異なります。

Apacheサーバーの場合、 .htacessファイルを編集する必要があります。 WordPressのルートフォルダ内にあります。 ただし、ファイル転送プロトコル(FTP)を介してアクセスすることをお勧めします。

.htaccessファイルを開き、次のコードスニペットを追加して、カスタマイズします。

<filesMatch ".(jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>

このコードは、 filesMatchタグ内のファイルタイプのキャッシュ長を示します。 キャッシュする要素に応じて、ファイルタイプを追加または削除できます。

NGINXを使用している場合は、サーバーのプライマリ構成ファイルを変更する必要があります。 / etc/nginxディレクトリ内にあります。

ファイルを開き、次のコードを追加します。

location ~* \.(jpg|jpeg|png|gif|js|css)$ {
add_header Cache-Control "public";
}

ファイルへの変更を保存して閉じます。 また、Webサイトのパフォーマンスを再度テストする前に、 expiresヘッダーを追加することをお勧めします。

2.Expiresヘッダーを手動で追加します

Expiresヘッダーは、やや時代遅れのタイプのキャッシュバリデーターです。 実際、 cache-controlヘッダーがそれらに取って代わります。 最近のほとんどのブラウザーは、最初にキャッシュ制御ヘッダーを探しますが、ベースをカバーするために両方のバリデーターを指定できます。

期限切れヘッダーを手動で追加することは、ApacheとNGINXの両方のキャッシュ制御エントリと同様に機能します。 Apacheにexpiresヘッダーを追加するには、 .htaccessファイルを編集する必要があります。

コピーできるヘッダーの例を次に示します。競合を避けるために、ファイルの最後にヘッダーを追加することをお勧めします。

## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresDefault "access 7 days"
</IfModule>
## EXPIRES HEADER CACHING ##

Expiresヘッダーは、各ファイルタイプの特定の有効期限を示します。 ファイルタイプに日付を指定しない場合は、 ExpiresDefault値が使用されます。

NGINXサーバーの場合、プライマリ構成ファイルを変更する必要があります。 NGINXでのexpiresヘッダーは次のようになります。

location ~* \.(png|jpg|jpeg|gif)$ {
expires 7d;
add_header Cache-Control "public";
}

使用しているファイルへの変更を保存します。それだけです。 Webサイトのパフォーマンスをもう一度テストし、「キャッシュバリデーターを指定してください」エラーが続くかどうかを確認します。

3.WordPressキャッシングプラグインを使用する

最後に、プラグインを使用してキャッシュバリデーターを指定することを検討してください。 最も人気のあるWordPressキャッシングプラグインのいくつかを使用すると、コードに触れることなく、サイトの有効期限キャッシュ制御ヘッダーを構成できます。

キャッシングプラグインを使用することの欠点は、多くのWebホストがそれらを許可しないことです。 実際、特に多くのマネージドWebホストでは、最適なパフォーマンスを得るためにユーザーのキャッシュを手動で構成しているため、キャッシュプラグインを使用できないことがよくあります。

ほとんどのキャッシングプラグインは、 ETagまたはLast-Modifiedヘッダーを使用するようにWebサイトを自動的に構成します。 そうでない場合は、デフォルトでキャッシュ制御を使用してバリデーターを期限切れにすることができます。

たとえば、W3 Total Cacheを使用すると、使用できるキャッシュヘッダーのタイプを完全に制御できます。

W3トータルキャッシュの設定

ウェブホストでキャッシュプラグインの使用が許可されている場合は、複数のオプションを調べて、どれがより快適かを確認することをお勧めします。 または、キャッシュバリデーターを手動で指定することもできます(それほど難しくはありません!)。

結論

キャッシュは、ユーザーの読み込み時間を短縮するための最も効率的な方法の1つです。 ローカルに保存されたファイルを使用すると読み込み時間が短縮されるため、リピーターは適切なキャッシュポリシーの恩恵を受けることができます。 ただし、特定のキャッシュポリシーを構成しないと、最高のWebサイトパフォーマンスを得ることができません。

サーバーがデフォルトで指定しない場合、WordPressでキャッシュバリデーターを指定する方法はいくつかあります(これは比較的一般的です)。 ホストとサイトのニーズに応じて、 cache-controlヘッダーを手動で追加するか、 expiresヘッダーを手動で追加するか、キャッシュプラグインを使用することで問題を解決できます。 これらのいずれにも当てはまらない場合は、ホストのサポートに連絡して、より詳細な支援を受けてください。

WordPressでキャッシュバリデーターを指定する方法について質問がありますか? 以下のコメントセクションでそれらについて話しましょう!

apghedia/shutterstock.com経由の注目の画像