如何修復「指定緩存驗證器」錯誤

如果你 測試您網站的性能 使用 GTmetrix 或者 王國,您可能會遇到「指定緩存驗證器」的錯誤。 該消息意味著您沒有充分利用瀏覽器緩存。 不幸的是,這會對您網站的性能產生負面影響。

在本文中,我們將討論「指定緩存驗證器」錯誤的含義。 我們還將向您展示如何在 WordPress 中修復它並優化您網站的性能。 讓我們開始吧!

「指定緩存驗證器」是什麼意思?

通過啟用緩存,您可以指示訪問者的瀏覽器或「客戶端」在訪問您的網站時將關鍵文件存儲在本地。 這樣,用戶每次打開您的頁面時都不需要重新載入整個網站及其資源。

緩存是網站中非常普遍的做法。 這也是提高網站性能的最有效方法之一。 但是,正確的實現需要緩存「策略」。

該策略意味著包括緩存標頭,這些標頭提供有關以下內容的明確說明:

  • 如何驗證緩存的資源
  • 客戶端應該緩存哪些資源
  • 客戶端應該緩存資源多長時間
  • 客戶端應如何查找緩存資源的更改

「指定緩存驗證器」錯誤意味著您的網站在其響應中沒有相應的緩存標頭。 缺乏指令並不意味著緩存不起作用。 但是,它不會像它可以那樣有效地工作:

how-to-fix-the-specify-a-cache-validator-error-1 如何修復「指定緩存驗證器」錯誤

如果您在分析 WordPress 網站的性能時遇到此錯誤,這意味著您的網站可能無法儘快載入。 但是,您可以通過使用適當的緩存標頭來解決此問題。

如何在 WordPress 上指定緩存驗證器(3 種方法)

您可以在網站的標頭中實現幾種類型的緩存驗證器。 伺服器在某些情況下會自動添加它們,例如使用 最後修改 或者 電子標籤 驗證器。

如果您遇到「指定緩存驗證器」錯誤,最可能的罪魁禍首是缺少緩存控制或過期標頭。 讓我們介紹如何將它們都添加到 WordPress。

1.手動添加緩存控制頭

緩存控制標頭使您能夠以秒為單位指定緩存的持續時間或「長度」。 您還可以使用這些標題來指示長度適用於哪些文件類型。 標頭本身的結構將根據您使用的 Web 伺服器軟體而有所不同。

為了 阿帕奇伺服器,您需要編輯 .htacess 文件。 您可以在 WordPress 根文件夾中找到它。 但是,我們建議訪問它 通過文件傳輸協議 (FTP).

打開 .htaccess 文件 並添加以下代碼片段,然後對其進行自定義:

標頭集 Cache-Control “max-age=604800, public”

該代碼指示 filesMatch 標記中文件類型的緩存長度。 根據您要緩存的元素,您可以添加或刪除文件類型。

如果你是 使用 NGINX,您需要修改伺服器的主配置文件。 您可以在 /etc/nginx 目錄中找到它。

打開文件並向其中添加以下代碼:

位置 ~* \.(jpg|jpeg|png|gif|js|css)$ { add_header Cache-Control “public”; }

保存對文件的更改並關閉它。 我們還建議在再次測試您網站的性能之前添加過期標頭。

2.手動添加過期頭

Expires 標頭是一些過時的緩存驗證器類型。 事實上,緩存控制標頭現在取代了它們。 大多數現代瀏覽器會首先查找緩存控制標頭,但您可以指定兩個驗證器來覆蓋您的基礎。

手動添加過期標頭的工作方式類似於 Apache 和 NGINX 中的緩存控制條目。 要在 Apache 中添加過期標頭,您需要編輯 .htaccess 文件。

這是您可以複製的標頭示例,我們建議將其添加到文件底部以避免衝突:

## EXPIRES HEADER CACHING ## 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 “訪問 1 個月” ExpiresDefault “訪問 7 天” ## EXPIRES HEADER CACHING ##

Expires 標頭指示每種文件類型的特定到期日期。 如果您沒有為文件類型指定日期,它將使用 ExpiresDefault 值。

對於 NGINX 伺服器,您需要修改主配置文件。 這是 NGINX 中過期標頭的樣子:

位置 ~* \.(png|jpg|jpeg|gif)$ { 7d 到期; add_header 緩存控制「公共」; }

將更改保存到您正在使用的任何文件中,就是這樣。 再次測試您網站的性能,看看「指定緩存驗證器」錯誤是否仍然存在。

3. 使用 WordPress 緩存插件

最後,您可以考慮使用插件來指定緩存驗證器。 一些最受歡迎的 WordPress緩存插件 使您無需接觸任何代碼即可為您的站點配置過期和緩存控制標頭。

使用緩存插件的缺點是許多網路主機 不允許他們. 實際上, 許多託管網路主機,特別是,通常不會讓您使用緩存插件,因為它們為用戶手動配置緩存以獲得最佳性能。

大多數緩存插件會自動將您的網站配置為使用 ETag 或 Last-Modified 標頭。 如果他們不這樣做,您可以默認使用緩存控制和過期驗證器。

W3 總緩存,例如,使您可以完全控制可以使用的緩存標頭類型:

how-to-fix-the-specify-a-cache-validator-error-2 如何修復「指定緩存驗證器」錯誤

如果您的虛擬主機允許您使用緩存插件,我們建議您探索多個選項,看看您覺得哪個更舒服。 或者,您可以手動指定緩存驗證器(這並不難!)。

結論

緩存是最有效的方法之一 減少載入時間 為您的用戶。 重複訪問者將受益於良好的緩存策略,因為載入時間將隨著本地存儲的文件而改善。 但是,如果您不配置特定的緩存策略,您將無法獲得最佳的網站性能。

如果您的伺服器默認不這樣做(這是相對常見的),有幾種方法可以在 WordPress 中指定緩存驗證器。 根據您的主機和站點需求,手動添加緩存控制標頭,手動添加過期標頭或使用緩存插件將解決您的問題。 如果這些都沒有,是時候聯繫房東的支持以獲得更深入的幫助了。

您對如何在 WordPress 中指定緩存驗證器有任何疑問嗎? 讓我們在下面的評論部分中討論它們!

特色圖片來自 apghedia / shutterstock.com

查看源代碼

相關文章