如何為您的WordPress網站配置W3 Total Cache外掛

如何為您的WordPress網站配置W3 Total Cache外掛

W3 Total Cache擁有超過100萬的活躍安裝,是WordPress外掛庫中最受歡迎的快取和優化外掛之一。與其他提供相對簡單和精簡介面的WordPress優化外掛不同,W3 Total Cache可以完全控制WordPress站點的快取配置

W3TC設定的精細程度使其成為希望最終控制其WordPress網站的高階使用者和開發人員的理想外掛。在本文中,我們將深入瞭解W3 Total Cache的設定,併為您提供推薦的配置以提高WordPress網站的效能。

  1. 如何安裝W3 Total Cache
  2. 如何清除W3 Total Cache快取資料
  3. W3 Total Cache常規設定
  4. W3 Total Cache設定 – 頁面快取
  5. W3 Total Cache設定 — 最小化
  6. W3 Total Cache設定 — 物件快取
  7. W3 Total Cache設定 — 瀏覽器快取
  8. W3 Total Cache設定 – 使用者代理組
  9. W3 Total Cache設定 – 引用組
  10. W3 Total Cache設定 — Cookie組
  11. W3 Total Cache設定 — CDN
  12. W3 Total Cache設定 — 使用者體驗
  13. W3 Total Cache的可用擴充套件
  14. W3 Total CacheWooCommerce設定
  15. 如何重置W3 Total Cache中的所有設定

如何安裝W3 Total Cache

如果您的站點上沒有安裝W3 Total Cache,您可以直接在您的WordPress儀表盤中安裝它。只需在“安裝外掛”頁面上搜尋“W3 Total Cache”並安裝它。

安裝W3 Total Cache

安裝W3 Total Cache

還有一個專業版的W3 Total Cache,可以在BoldGrid的網站上購買。專業版帶有一些附加功能,如REST API 快取、谷歌地圖快取和其他擴充套件。在本文中,我們將使用WordPress外掛庫中的免費版本。

W3 Total Cache設定儲存在哪裡?

安裝W3 Total Cache後,您將在WordPress管理儀表盤的側欄中看到“效能”選項卡。單擊“Performance”選項卡將顯示各種子選單,如“General Settings”, “Page Cache”, “Minify”等。

W3 Total Cache側邊欄設定

W3 Total Cache側邊欄設定

您還可以使用WordPress管理工具欄中的“Performance”選項卡訪問W3 Total Cache設定。

W3 Total Cache管理工具欄設定

W3 Total Cache管理工具欄設定

如何清除W3 Total Cache快取資料

在我們討論如何配置W3 Total Cache之前,讓我們快速瞭解一下如何清除或清除快取。如果您將滑鼠懸停在管理工具欄中的“Performance”選項卡上,您將看到兩個清除選項。

  1. Purge All Caches –一次清除所有快取。
  2. Purge Modules——清除單個快取(例如縮小的資源、頁面快取、物件快取等)。

清除W3 Total Cache快取資料

清除W3 Total Cache快取資料

W3 Total Cache常規設定

讓我們深入W3 Total Cache的“General Settings”選單來配置一些基本設定。

頁面快取-Page Cache

預設情況下,對WordPress站點的每個請求都是實時呈現的。對於某些型別的網站,如電子商務商店或論壇,動態呈現是理想的。但是,對於部落格、新聞站點和其他不需要動態內容的站點,新增頁面快取層可以提高效能並減少伺服器負載。

在W3TC中啟用頁面快取

在W3TC中啟用頁面快取

最小化-Minify

最小化您的HTML、CSS和JavaScript資源可以通過刪除不必要的空白來減小站點頁面的整體大小。對於大多數WordPress站點,啟用W3 Total Cache的“Minify”功能將“Minify Mode”選擇“Auto”選項就可以了。

最小化W3TC中的HTML、CSS和JavaScript資源

最小化W3TC中的HTML、CSS和JavaScript資源

在某些情況下,最小化資源可能會導致CSS或JavaScript程式碼中斷,這通常會導致前端出現可見錯誤。如果您在最小化資源後發現網站上出現異常問題,我們建議您與開發人員合作確定導致問題的資源。之後,您可以在手動模式下使用“Minify”功能,該功能允許您繞過特定CSS和JavaScript檔案的最小化。

Opcode Cache

WordPress是一個動態CMS,這意味著PHP worker會不斷在後臺執行程式碼。Opcode Cache通過儲存已編譯的PHP程式碼來幫助加速您的站點,這使得需要相同程式碼的後續請求更快。

在W3TC中啟用Opcode Cache

在W3TC中啟用Opcode Cache

資料庫快取-Database Cache

W3TC的資料庫儲存MySQL資料庫查詢的結果。雖然此功能聽起來很有用,但我們建議將其禁用並改為使用物件快取。

W3 Total Cache中的資料庫快取

W3 Total Cache中的資料庫快取

我們發現在某些情況下,資料庫快取功能可能會導致CPU使用率過高。這意味著通過儲存資料庫查詢結果節省的CPU量最終可能會被此功能所需的CPU增加所抵消。

物件快取-Object Cache

在WordPress的上下文中,物件快取儲存已完成的資料庫查詢的結果。WordPress實際上有一個內建的物件快取,但它只保留單個頁面載入的資料。這允許更高效的頁面呈現,因為它確保頁面載入不需要浪費執行相同資料庫查詢的CPU資源。

雖然WordPress的預設物件快取無疑對效能有益,但在頁面載入時保留資料的物件快取甚至更好!W3TC的“Object Cache”功能在您的/wp-content目錄中新增了一個自定義快取指令碼,並更改了WordPress物件快取的行為以永久保留資料(跨多個頁面載入)。

W3 Total Cache物件快取

W3 Total Cache物件快取

瀏覽器快取-Browser Cache

瀏覽器快取可以通過在本地儲存靜態資源(如CSS、JavaScript、影象和字型)來顯著加速您的WordPress站點。瀏覽器快取使用到期時間來確定快取資源的時長。在現代網路上,大多數開發人員指定靜態資源的有效期為1年。

在W3 Total Cache中啟用瀏覽器快取

在W3 Total Cache中啟用瀏覽器快取

CDN(內容交付網路)

如果您正在使用CDN或內容交付網路將靜態檔案解除安裝到世界各地的資料中心,您可以配置W3 Total Cache使用CDN主機名重寫主題檔案、媒體庫附件、CSS、JS等的URL。。

W3 Total Cache中的CDN設定

W3 Total Cache中的CDN設定

反向代理-Reverse Proxy

反向代理位於您的Web伺服器和WordPress之間,可用於對傳入請求執行各種基於邏輯的操作。W3TC支援Varnish,這是一種流行的“HTTP加速器”,用於快取和提供資料,目的是減少後端負載。

為了使用Varnish,您的主機必須首先安裝Varnish包。

使用者體驗-User Experience

W3TC的“User Experience”優化可讓您啟用延遲載入、禁用表情符號和禁用wp-embed.js指令碼。我們建議在您的WordPress網站上啟用延遲載入以加快頁面載入速度。如果您尚未使用瀏覽器原生或基於外掛的延遲載入,我們建議您使用W3 Total Cache進行延遲載入。

W3TC中的User Experience設定

W3TC中的User Experience設定

在當今世界,大多數作業系統都內建了對錶情符號的支援。因此,如果您不是表情符號的重度使用者,您可能希望禁用WordPress包含的表情符號指令碼。使用W3TC刪除wp-emoji-release.min.js將幫助您減少HTTP請求並從頁面載入中刪除約10KB。

同樣,如果您不嵌入WordPress文章,您可以使用W3 Total Cache禁用wp-embed.js。禁用此指令碼不會影響用於嵌入YouTube視訊、SoundCloud流等的oEmbed功能。

雜項-Miscellaneous

W3 Total Cache有一些您也可以配置的雜項設定。如果您想在WordPress中顯示Google Page Speed儀表板小部件,您可以輸入您的Page Speed API金鑰。還有一個選項可以在WordPress網站上每個頁面的選單欄中顯示頁面速度評級。

W3 Total Cache中的其他設定

W3 Total Cache中的其他設定

對於其他設定,如“ NGINX伺服器配置檔案路徑(NGINX server configuration file path)”、“啟用檔案鎖定(enable file locking)”、“優化磁碟增強頁面和縮小NFS磁碟快取(optimize disk enhanced page and minify disk caching for NFS)”,我們建議將它們保留為預設設定,除非您有特定原因更改它們。

除錯-Debug

如果您正在對站點上的問題進行故障排除,W3 Total Cache有一個方便的“Debug”選單,可讓您禁用特定的快取層和優化設定。例如,如果您發現網站上出現視覺故障,您可以為“Minify”選項啟用除錯模式,這會將HTML註釋插入到您的頁面原始碼中以幫助您進行故障排除。

W3 Total Cache中的除錯模式

W3 Total Cache中的除錯模式

由於除錯模式功能會給您的伺服器資源帶來額外的負載,我們建議您僅在臨時環境或低流量時間使用它。此外,請務必在完成故障排除後禁用除錯模式!

匯入/匯出設定-Import/Export Settings

完成設定配置後,您可以使用W3TC的“Import/Export”功能來建立配置的備份。W3 Total Cache有很多設定,因此能夠匯出完整備份讓您高枕無憂。此外,它允許您輕鬆地跨多個站點複製自定義W3TC配置,而無需手動配置任何內容。

匯入和匯出W3TC設定

匯入和匯出W3TC設定

W3 Total Cache設定 – 頁面快取

讓我們深入瞭解W3 Total Cache的“Page Cache”設定。

  • Cache Front Page – 對於大多數網站,首頁通常是獲得最多流量的頁面。因此,我們建議啟用此設定。
  • Cache Feeds – WordPress 生成各種RSS Feed,允許外部應用程式和服務(如Feedburner)顯示您網站的內容。雖然RSS現在不像以前那麼流行,但我們仍然建議啟用此設定。
  • Cache SSL (HTTPS Requests)  – 如果您的Web伺服器沒有對所有傳入請求強制使用HTTPS,則啟用此設定可能會對效能產生積極影響。如果您已經在Web伺服器級別強制使用HTTPS,則無需啟用此功能。
  • Cache URIs with Query String Variables – 查詢字串是新增在URL末尾的引數(例如 /?version=123)。查詢字串通常用於從WordPress資料庫請求和顯示特定資料。通常,查詢字串的目的是請求頁面的唯一版本,因此我們建議禁用此功能,除非您有要快取的特定查詢字串。
  • Cache 404 (Not Found) Pages – 預設情況下,W3TC禁用此選項。如果您使用“磁碟增強”頁面快取方法,則可能是由於快取行為造成的。選擇該選項後,404頁將返回200響應程式碼。理想情況下,404頁面應返回404響應程式碼,因此我們建議使用您的快取配置測試此設定以檢視它是否相容。
  • Don’t Cache Pages for Logged In Users – 我們建議啟用此選項。登入使用者通常正在更新頁面。啟用快取後,使用者需要不斷清除快取才能檢視頁面更新。
  • Don’t Cache Pages for Certain User Roles –此選項允許您繞過某些WordPress使用者角色的快取。如果“不為登入使用者快取頁面(don’t cache pages for logged in users)”選項已啟用,則此選項將不會影響快取行為。

別名-Aliases

W3 Total Cache的“Aliases”功能允許您快取在不同域中可用的相同WordPres內容。我們不建議啟用此功能。如果您的WordPress站點可以通過不同的域(例如domain.com和www.domain.com)訪問,最好設定301重定向規則將請求轉發到您的主域,以避免來自 Googl和其他搜尋引擎的重複內容處罰。

快取預載入-Cache Preload

“Cache Preload”功能會抓取您的站點地圖並向您的站點頁面發出請求以預載入頁面快取。對於大多數站點,我們建議禁用快取預載入,因為它會導致伺服器資源激增,從而抵消潛在的效能優勢。

如果您確實想要啟用快取預載入,W3TC允許您指定站點地圖URL、更新間隔和每個間隔的頁面。確保不要將“update interval”和“pages per internal”設定得太高以減少CPU峰值的可能性。

清除政策-Purge Policy

W3TC的“Purge Policy”可讓您指定要在釋出或編輯文章後自動清除的頁面和Feed。對於大多數站點,預設設定(首頁、文章頁面和部落格Feed)應該足夠了。如果要向清除策略新增其他頁面,可以配置多種選項。

REST API

WordPress包含的REST API可讓您查詢JSON格式的資料。REST API被各​​種外掛使用,對於無頭WordPress設定至關重要。根據您對REST API的確切用例,快取查詢結果可能是一個好主意。REST API快取屬於“如果您需要它,您就會知道”類別,因此如果您不確定是否啟用REST API快取,我們建議將其保留為“Don’t Cache”。

高階

在W3TC的“Advanced”頁面快取選項中,您可以自定義各種設定,包括“接受的查詢字串(accepted query strings)”、“拒絕的使用者代理(rejected user agents)”、粒度快取繞過設定(granular cache bypass settings)等。例如,如果您需要將W3 Total Cache配置為從不快取某個類別或標籤下的文章,您將能夠在“Advanced”選項中執行此操作。

由於這些設定可能非常特定於站點,因此我們無法提供“推薦設定”。話雖如此,如果您希望自定義站點頁面快取行為的一個非常特定的方面,請務必檢視高階選項。

W3 Total Cache設定 — 最小化

接下來,讓我們回顧一下 W3 Total Cache 的“Minify”設定。

  • Rewrite URL Structure –此設定會影響最小化資源的URL結構。我們建議保持啟用狀態,以便您的URL看起來“漂亮”。
  • Disable Minify for Logged In Users –如果您正在做一些故障排除或除錯,禁用登入使用者的縮小可能會有所幫助。否則,我們建議禁用此選項。

HTML & XML

在“HTML & XML”部分,您可以配置HTML最小化設定。

  • Inline CSS minification –我們建議啟用此選項以刪除內聯CSS中的空格。
  • Inline JS minification –我們建議啟用此選項以刪除內聯JavaScript中的空格。在某些情況下,JS縮小可能會導致程式碼錯誤。如果啟用此選項會破壞您的站點功能,請禁用它。
  • Don’t minify feeds –我們建議禁用此選項。提要僅由RSS閱讀器和其他類似服務使用,因此沒有必要縮小提要。
  • Line break removal –預設情況下禁用此選項,我們不建議啟用它以確保您的網站正確呈現。

JS

在“JS”部分,您可以配置JavaScript最小化設定。

  • Operations in Areas –此選項允許您為縮小的JavaScript選擇“embed type”。對於之前和之後的JS檔案,您可以選擇“blocking”、“non-blocking”、“non-blocking using async”和“non-blocking using defer”。雖然非阻塞載入方法通常會帶來更好的效能,但它們並不總是100%與所有JavaScript程式碼相容。此外,“async”和“defer”有非常不同的用例。因此,我們建議使用預設的“blocking”方法,除非您瞭解非阻塞JavaScript的怪癖。
  • Minify or Combine Only –您可以在兩種JavaScript優化模式之間進行選擇。選擇“Minify”後,您的JS檔案將被合併和縮小。如果選擇“Combine Only”,則生成的組合JS檔案將不會被縮小。如果您遇到與縮小相關的問題並且不想除錯以找出導致問題的指令碼,則選擇“Combine Only”選項可能會修復錯誤。
  • HTTP/2 Push –如果您的伺服器支援HTTP/2伺服器推送,啟用此選項可以幫助您減少頁面載入時間。HTTP/2伺服器推送在訪問者被請求之前將檔案推送給訪問者。我們建議在生產環境中啟用此選項之前進行充分的測試,因為伺服器推送經常被誤用。伺服器推送不適用於較大的JavaScript檔案,您需要確保其好處大於直接從訪問者的瀏覽器快取載入JS檔案。

CSS

在“CSS”部分,您可以配置CSS最小化設定。

 

  • Combine Only –與JavaScript檔案不同,CSS通常不會受到與縮小相關的問題的影響。因此,我們不建議啟用“Combine Only”。
  • Preserved Comment Removal –此設定從CSS檔案中刪除註釋。我們建議啟用此選項以儘可能減小檔案大小。
  • Line Break Removal –此設定從CSS檔案中刪除換行符。我們建議也啟用此選項。如果您在啟用“Line Break Removal”後發現任何顯示問題,請將其禁用。

高階

“Advanced”部分包含一些額外的設定來自定義最小化行為。

  • Update External Files Every – W3TC允許您指定CSS和JS檔案更新之間的時間量。預設設定為86400秒,您的資源將每24小時下載並最小化一次。如果您的網站不經常更改,請隨意設定更長的時間段。
  • Garbage Collection Interval –此時間段設定指定刪除過期快取資料的頻率。預設設定為24小時。如果您的站點儲存空間不足,我們建議降低“Garbage Collection Interval”。

“Advanced”部分的其餘部分包括允許您指定永遠不應縮小的資原始檔的輸入欄位。還有一個“Rejected User Agents”欄位,允許向某些使用者代理提供非縮小檔案。最後,您可以新增外部資原始檔以包含在W3 Total Cache的最小化過程中。

W3 Total Cache設定 — 物件快取

列表中的下一個是 W3TC 的“Object Cache”設定。對於大多數站點,預設設定可以正常工作,但不管怎樣,讓我們​​回顧一下它們。

  • Default Lifetime of Cache Objects – 未更改快取專案的到期時間。更長的時間段會導致更大的物件快取。如果您擔心伺服器的儲存容量,我們建議保留預設值或降低它。
  • Garbage Collection Interval –此設定指定過期快取資料被丟棄的頻率。對於大多數站點,預設值3,600秒(1小時)應該沒問題。
  • Global Groups –此設定允許您在單個多站點網路中的站點之間配置共享快取組。我們建議將此設定保留為預設狀態,除非您有特定的更改原因。
  • Non-Persistent Groups –此設定允許您選擇從不快取的物件組。同樣,我們建議堅持使用預設配置。
  • Enable Caching for wp-admin Requests –預設情況下禁用此選項,我們不建議啟用它,因為它會導致副作用。此外,大多數WordPress網站的訪問者從不與wp-admin儀表盤進行互動。

W3 Total Cache設定 — 瀏覽器快取

大多數WordPress主機,已經在Web伺服器級別實現了適當的瀏覽器快取標頭。如果您的主機沒有,或者如果您想進一步自定義瀏覽器快取行為,您可以使用W3 Total Cache。

在“Browser Cache”設定中,“General”、“CSS & JS”、“HTML & XML”以及“Media & Other Files”部分的預設設定適用於大多數WordPress站點。由於此頁面上有如此多的設定,我們建議在對瀏覽器快取行為進行任何更改之前諮詢開發人員。話雖如此,以下是有關瀏覽器快取的一些關鍵設定。

  • Expires Headers Lifetime –配置一個長的“expires headers lifetime”對於高效的瀏覽器快取很重要。如果您使用W3TC來配置瀏覽器快取,請務必將此值設定為31536000(1年)。
  • Cache Control Policy –為確保您的靜態資源可被瀏覽器快取,請確保將“cache control policy”設定為“public, max_age=EXPIRES SECONDS”。
  • Enable HTTP (gzip) Compression– GZIP壓縮可在HTML頁面和最小化傳送給訪問者之前顯著減小檔案大小,因此如果您的主機的伺服器配置支援GZIP,請務必啟用此選項。
  • Remove query strings from static resources——查詢字串是新增到URL路徑末尾的附加字串,用於指定請求引數或強制Web伺服器交付新資源。查詢字串以?開頭,大多數Web伺服器都配置為繞過帶有查詢字串的請求的快取。從頁面請求中刪除查詢字串有助於減少伺服器負載,因為這些請求使用PHP來呈現頁面。我們不建議從W3 Total Cache中的靜態資源中刪除查詢字串,因為它們有助於確保向訪問者提供最新版本的CSS和JS檔案。

“Browser Cache”設定頁面還包含與內容安全策略 (CSP)和 X-XSS保護等安全標頭相關的各種設定。我們始終建議與合格的開發人員一起完成這些設定,因為不正確的配置會直接影響您網站的使用者體驗。例如,在沒有正確SSL證書和HTTPS配置的情況下啟用HSTS標頭可能會導致您的站點無法訪問。

W3 Total Cache設定 – 使用者代理組

如果您需要根據使用者的裝置型別重定向流量,W3 Total Cache的“使用者代理組”功能非常強大。例如,您可以將您的網站配置為在使用者通過手機訪問您的網站時呈現不同的主題。同樣,如果您的移動站點位於唯一的子域中,您可以將使用者重定向到一個完全不同的站點。

在響應式網頁設計時代,我們沒有看到太多針對此特定功能的用例。如今,最佳做法是讓您的網站從一開始就具有響應性,而不是依賴多個主題或僅限移動裝置的子域。

W3 Total Cache設定 – 引用組

HTTP引用是一個可選的HTTP標頭提供關於其中請求源於資訊。例如,如果訪問者從Google搜尋列表中點選您的網站,則HTTP引薦來源網址將為google.com

在W3 Total Cache中,您可以根據帶有“Referrer Groups”的請求的HTTP引用來定義自定義快取行為。例如,您可以建立一個由搜尋引擎組成的引用組,並僅為來自這些域的請求自定義快取行為。

與上面提到的“使用者代理組”類似,您還可以使用“引用組”功能將請求重定向到不同的域。大多數WordPress站點不需要設定引用組,因此我們不建議配置任何。

W3 Total Cache支援的最新快取組是“Cookie Groups”。此功能可讓您根據請求的cookie建立獨特的快取bucket和行為。與“使用者代理組”和“引用組”類似,大多數站點不需要設定自定義的基於cookie的快取配置。如果您的站點需要基於cookie的快取,我們建議您與開發人員合作以正確配置它。

W3 Total Cache設定 — CDN

現在,讓我們繼續W3 Total Cache的CDN設定。

  • Host Attachments –啟用此選項以從CDN提供WordPress媒體庫中的資源。
  • Host wp-includes/ Files –啟用它以從CDN提供wp-includes資料夾中的檔案。
  • Host Theme Files –啟用此選項以從CDN提供主題檔案。
  • Host Minified CSS and JS Files –啟用它以從您的CDN提供W3TC的最小化的CSS和JS檔案。
  • Host Custom Files –如果您的媒體庫或主題資料夾中沒有檔案,您可以在W3TC中新增檔案路徑以從CDN提供它們。
  • Add Canonical Header –rel=”canonical”標籤可以幫助搜尋引擎識別原始來源或網址。由於CDN通常使用不同的域,因此新增規範標籤會通知搜尋引擎原始資源的位置。話雖如此,保持禁用此設定是可以的,因為現代搜尋引擎足夠智慧,可以在不影響您網站的SEO排名的情況下識別CDN。

高階

  • Only Purge CDN Manually –我們建議禁用此選項以讓W3TC自動處理快取清除。
  • Disable CDN on SSL Pages –禁用此設定。如果您使用的是CDN,最好在HTTP和HTTPS頁面上都啟用它。
  • Use CDN Links for Media Library on Admin Pages –我們不建議啟用此選項,因為它會重寫媒體庫中的URL 。
  • Add CORS Header –啟用此設定以允許您的CDN資源顯示在其他域上。
  • Disable CDN for the Following Roles –此選項允許您為某些WordPress使用者角色禁用CDN。在大多數情況下,最好禁用此選項。
  • wp-includes File Types to Upload –此欄位指定wp-includes將從您的CDN提供的檔案格式。對於大多數站點,預設的檔案格式列表應該沒問題。如果您的檔案wp-includes夾中有自定義檔案,請隨時根據需要新增其他格式。
  • Theme File Types to Upload –此欄位指定將從CDN提供的WordPress主題資料夾中的檔案格式。預設列表包含所有流行的資源、影象和字型格式。如果需要,請隨意新增其他格式。
  • Custom File List –如果您啟用了“Host Custom Files”,您可以在此欄位中新增檔案列表以從您的CDN提供服務。
  • Rejected User Agents –此欄位允許您指定不會從您的CDN提供資源的使用者代理。我們建議將此欄位留空以確保您的CDN得到正確使用。
  • Rejected Files –此欄位允許您指定不應從CDN提供的檔案。如果您使用的服務需要從您的根域提供資源,您可以將檔案路徑新增到“Rejected Files”欄位。

W3 Total Cache設定 — 使用者體驗

接下來,讓我們自定義W3 Total Cache中的“User Experience”或延遲載入設定。

  • Process HTML Image Tags –啟用此選項可確保延遲載入影象。
  • Process Background Images –如果您在CSS中使用 `background` 顯示影象,啟用此選項將允許延遲載入這些影象。
  • Exclude Words –在此欄位中,您可以指定文字以繞過延遲載入。例如,如果新增no-lazy-load到此欄位,顯示的影象<img src="image.jpg">將不會被延遲載入。
  • Script Embed Method –此設定允許您自定義延遲載入指令碼的載入方法。預設async方法是大多數站點的最佳選擇。如果您的站點僅包含一個登入頁面,則inline可以使用該方法來減少載入頁面的HTTP請求數。

W3 Total Cache的可用擴充套件

W3 Total Cache提供各種擴充套件以與第三方服務整合。W3TC目前有以下服務的擴充套件。

  • AMP
  • Cloudflare
  • Google Feedburner
  • Fragment Cache
  • Genesis Framework
  • New Relic
  • Swarmify
  • Yoast SEO
  • WPML

如果您在您的站點上使用這些服務中的任何一項,我們建議您設定相關擴充套件以確保與W3 Total Cache正確相容。在本節中,我們將瞭解 W3 Total Cache的Cloudflare擴充套件。

如何使用Cloudflare擴充套件設定W3 Total Cache

要將Cloudflare與W3 Total Cache整合,您需要Cloudflare儀表盤中的兩條資訊 – 帳戶電子郵件和API金鑰。帳戶電子郵件是您用於登入Cloudflare的電子郵件地址。我們來看看如何設定Cloudflare API金鑰。

在Cloudflare儀表盤中,單擊“Overview”選項卡。接下來,向下滾動並單擊右側邊欄中的Get Your API Token

檢視您的Cloudflare全域性API金鑰

檢視您的Cloudflare全域性API金鑰

向下滾動,然後單擊“Global API Key”旁邊的View以獲取您的Cloudflare API金鑰。請注意不要在W3 Total Cache之外的任何地方共享此API金鑰,因為它可用於控制您的Cloudflare帳戶。

檢視您的Cloudflare Global API Key

檢視您的Cloudflare Global API Key

接下來,在W3 Total Cache的“Extensions”頁面中啟用Cloudflare擴充套件,然後單擊“Settings”。在“Credentials”部分,單擊“Authorize按鈕。

在W3 Total Cache中授權Cloudflare

在W3 Total Cache中授權Cloudflare

在隨後的彈出視窗中,輸入您的Cloudflare帳戶電子郵件和API金鑰。如果您收到錯誤訊息,請仔細檢查以確保您的電子郵件地址和API金鑰正確無誤。憑據獲得授權後,您應該會在頁面上看到其他Cloudflare設定。

W3 Total Cache中的Cloudflare設定

W3 Total Cache中的Cloudflare設定

讓我們回顧一下W3 Total Cache中的Cloudflare設定

  • Widget Statistics Interval –這指定了W3TC的Cloudflare小部件涵蓋的時間段。預設設定為30分鐘。如果您想檢視更長的時間段,請隨意增加它。
  • Cache Time –這指定了來自Cloudflare的小部件資料被快取的時間量。如果您不打算大量使用該小部件,我們建議增加此數字以減少從您的站點向Cloudflare發出的請求數。
  • Page Caching –如果您已將Cloudflare配置為快取WordPress站點的HTML 頁面,請啟用此選項以在文章修改和更新後自動清除Cloudflare快取。

Cloudflare快取

此部分允許您自定義Cloudflare的快取設定。

  • Development Mode –除非您需要將Cloudflare置於開發模式,否則請禁用此選項。當Cloudflare處於開發模式時,邊緣快取、縮小和影象優化將禁用三個小時。這使您可以立即檢視CSS和JS檔案的更新,並且對於故障排除很有用。
  • Cache Level –對於大多數站點,我們建議使用“Standard”快取級別,每次查詢字串更改時都會提供不同的資源。如果您100%確定您的WordPress站點不使用查詢字串來提供動態內容,您也可以使用“Ignore Query String”設定。
  • Browser Cache TTL –我們建議將Cloudflare的瀏覽器快取TTL設定為31536000秒,即1年。
  • Challenge TTL – Cloudflare提供各種與安全相關的服務,訪客Challenge就是其中之一。如果Cloudflare檢測到惡意使用者或奇怪的行為,它將以Captcha的形式提供Challenge訊息。“Challenge TTL”設定指定使用者在完成Challenge後可以訪問您網站的時間。預設設定為3600秒,受到Challenge的訪問者將能夠在另一個Challenge之前使用您的網站1小時。
  • Edge Cache TTL –此設定控制資源在Cloudflare的邊緣伺服器上快取的時間。我們建議將其設定為最大值31536000秒或1年。

Cloudflare內容處理

讓我們深入瞭解W3 Total Cache中的Cloudflare內容處理設定。

  • Rocket Loader – Cloudflare的Rocket Loader可加快WordPress網站的JavaScript載入速度。如果您的站點有很多JS,我們建議啟用Rocket Loader。
  • Minify JS/CSS/HTML –如果您已經在W3 Total Cache中啟用了對HTML、CSS和JavaScript的最小化,請隨時禁用Cloudflare擴充套件設定中的這些選項,因為無需重複最小化。
  • Server Side Exclude (SSE) –此選項允許您向可疑訪問者(Cloudflare 認為)隱藏敏感資訊。伺服器端排除對於隱藏您網站上的電子郵件地址、電話號碼和其他個人資訊等資訊非常有用。要使用SSE,請啟用它並將敏感資訊包裝<!--sse--><!--/sse-->在HTML程式碼或PHP主題模板中的標籤中。
  • Email Obfuscation –啟用此選項後,Cloudflare將使用JavaScript自動混淆您的WordPress網站上的電子郵件地址。雖然混淆不會完全擺脫垃圾郵件,但我們建議啟用此選項,因為它確實阻止了基本機器人從您的站點抓取電子郵件地址。

Cloudflare影象處理

讓我們回顧一下Cloudflare的影象處理設定。

  • Hotlink Protection-啟用盜接保護將阻止其他站點嵌入您的影象。如果您因未經授權的外部嵌入而遇到頻寬限制,啟用“Hotlink Protection”可以幫助您減少頻寬使用。
  • Mirage(僅限專業版)– Mirage優化了向低頻寬裝置和網路的影象傳輸。此功能僅適用於Cloudflare Pro計劃及更高版本。
  • Polish (僅限專業版)–Polish優化您網站的影象,並且可以配置為向支援的瀏覽器提供WEBP影象。此功能僅適用於Cloudflare Pro計劃及更高版本。

Cloudflare保護

Cloudflare的主要功能是一個複雜的防火牆,可以幫助保護您免受DDoS攻擊和惡意行為者的侵害。讓我們回顧一下Cloudflare的安全設定。

  • Security Level –此設定控制 Cloudflare 防火牆和安全規則的敏感度。對於大多數站點,我們建議將“安全級別”設定為“中”。
  • Browser Integrity Check –此功能會查詢不良行為和可疑的使用者代理。如果它檢測到潛在的惡意使用者或垃圾郵件傳送者,Cloudflare將自動提出挑戰。我們建議啟用此功能。
  • Always Online –如果您的源出現故障,此選項將為您網站的靜態HTML頁面提供服務。如果您已將Cloudflare配置為快取HTML,我們建議啟用它。
  • Web Application Firewall – Cloudflare的WAF或Web應用程式防火牆將掃描傳入流量並過濾掉到達您站點的“非法流量”。我們建議啟用此功能。
  • Advanced DDoS Protection –此功能預設啟用,只要Cloudflare的代理處於活動狀態,就無法禁用。DDoS保護有助於保護您的站點免受“分散式拒絕服務”攻擊。
  • Max Upload –設定上傳到您網站的最大允許檔案大小。您需要確保此設定等於或大於WordPress中的上傳檔案大小設定。

Cloudflare SSL

最後,您需要確保您的Cloudflare SSL設定配置正確。讓我們回顧一下本節中的正確配置。

  • SSL –一般建議使用“Full”或“Full (Strict)”SSL 選項。“Flexible”選項與部分主機不相容。“Full Strict”需要來自有效證書頒發機構的SSL,而“Full”選項也支援自簽名SSL。“Flexible”選項不需要源伺服器上的SSL證書——我們不推薦此選項,因為它最不安全。
  • TLS 1.2 Only – TLS或傳輸層安全性,是一種用於通過網路傳輸資料的安全協議。某些PCI合規性標準要求放棄對TLS 1.1及更低版本的支援。如果這是您站點的要求,您可以在Cloudflare中啟用“TLS 1.2 Only”設定以將最低TLS版本設定為1.2。

為WooCommerce設定W3 Total Cache

WooCommerce是WordPress網站最受歡迎的電子商務平臺。如果您在WooCommerce支援的商店中使用W3 Total Cache,您需要確保您的配置正確以避免快取客戶詳細資訊。

繞過WooCommerce Cookie

要繞過具有WooCommerce特定cookie的頁面的頁面快取,請轉到 W3TC 的“Page Cache”設定,向下滾動到“Rejected Cookies”,然後新增以下四項。

  • woocommerce_items_in_cart
  • woocommerce_cart_hash
  • wp_woocommerce_session_
  • wordpress_logged_in

在W3 Total Cache中繞過WooCommerce cookie

在W3 Total Cache中繞過WooCommerce cookie

為安全起見,我們還建議繞過WooCommerce特定的URL,例如購物車頁面、結帳頁面和帳戶頁面。要從快取中繞過這些頁面,請轉到W3TC的“Page Cache”設定,並將URL新增到“Never Cache the Following Pages”部分。

從W3 Total Cache繞過WooCommerce頁面

從W3 Total Cache繞過WooCommerce頁面

如何重置W3 Total Cache中的所有設定

在某些情況下,您可能需要重新開始W3TC配置。以下是將W3 Total Cache恢復為預設設定的方法。轉到W3TC的“General Settings”選單,向下滾動到“Import/Export Settings”部分,然後單擊Restore Default Settings

將W3 Total Cache重置為預設設定

將W3 Total Cache重置為預設設定

小結

如您所見,W3 Total Cache外掛功能和設定都非常豐富。從頁面快取到資源縮小,再到Cloudflare整合,W3TC擁有提升WordPress網站效能所需的一切!

評論留言

脣槍舌劍 (1)

  • 土狼妹妹的頭像

    土狼妹妹

    2024.10.30 12:10

    我现在用的是litespeed缓存插件,速度提升明显,谢谢分享。

    回覆