如何修復“從無Cookie域提供靜態內容”警告

錯誤型別:
瀏覽器錯誤
錯誤名稱:
从无Cookie域提供静态内容
英文名稱:
Serve Static Content From a Cookieless Domain
錯誤描述:
此警告通常出现在具有大量请求的站点上。解决此问题的一些方法包括使用CDN提供商去除cookie或设置单独的域和/或子域来提供cookie。

如何修復“從無Cookie域提供靜態內容”警告

Pingdom、 GTmetrix或Google PageSpeed Insights中看到“從無Cookie域提供靜態內容(Serve Static Content From a Cookieless Domain)”警告?

通常,當您提供影象、JavaScript、CSS等內容時,沒有理由伴隨HTTP cookie,因為它會產生額外的開銷。一旦伺服器為特定域設定了cookie,該域的所有後續HTTP請求都必須包含cookie 。

此警告通常出現在具有大量請求的站點上。解決此問題的一些方法包括使用CDN提供商去除cookie或設定單獨的域和/或子域來提供cookie。

由於Web 和新協議(例如HTTP/2)最近發生了變化,現在通常可以安全地忽略此警告。新連線的成本通常比通過同一連線流式傳輸所有內容的成本更高。 HTTP/2現在通過並行做了驚人的事情。而且cookies本身一般都很小。

根據報告它的工具或軟體,警告可能以幾種不同的方式出現:

  • “從未設定cookie的域中提供以下靜態資源”
  • “提供來自無cookie域的靜態內容”

提供來自無cookie域警告的靜態內容

提供來自無cookie域警告的靜態內容

但是,如果您仍想設定一個單獨的域來提供cookie,請參考以下說明。

修復從無Cookie域提供靜態內容警告

有幾種方法可以修復“從無Cookie域提供靜態內容”警告,例如使用CDN以及重新配置您的WordPress站點。

  1. 使用CDN
  2. 重新配置WordPress網站

1. 使用CDN

解決此警告的一種簡單方法是使用CDN提供程式,該提供程式能夠忽略cookie以及剝離cookie,這將完全阻止客戶端接收Set-Cookie響應標頭。

國外品牌KeyCDN是一家提供此功能的CDN提供商。預設情況下,您可以看到啟用了以下兩個選項。這是一個簡單的替代方案,而不必費心移動和配置您的站點以從單獨的子域交付靜態資產。

忽略cookie以及剝離cookie

注意: 您不能對通過CloudFlare提供服務的資源禁用cookie。 CloudFlare還在您的標頭中包含其自己的安全cookie。同樣,這些cookie非常小,對效能的影響也非常小。但是,如果您使用CloudFlare,則無法繞過此警告。

2.重新配置WordPress站點

您的第二個選擇是重新配置您的WordPress站點以從新域或子域提供靜態資產。注意:如果您使用頂級域,例如domain.com,那麼您實際上需要完全使用一個單獨的域。如果您使用的是www.domain.com,那麼您可以簡單地設定一個子域,例如static.domain.com。在本例中,我們假設您的網站位於www.domain.com。

  1. 首先,建立一個子域,例如static.domain.com。這是您將交付所有檔案的地方。
  2. 將子域的DNS記錄設定為指向主域的CNAME。
  3. 通過編輯您的wp-config.php檔案將您的子域指向您的/wp-content目錄:
    Plain text
    Copy to clipboard
    Open code in new window
    EnlighterJS 3 Syntax Highlighter
    define("WP_CONTENT_URL", "http://static.domain.com");
    define("COOKIE_DOMAIN", "domain.com");
    define("WP_CONTENT_URL", "http://static.domain.com"); define("COOKIE_DOMAIN", "domain.com");
    define("WP_CONTENT_URL", "http://static.domain.com"); 
    define("COOKIE_DOMAIN", "domain.com");

評論留言