提升WordPress網站效能!設置免費CloudFlare快取規則指南2024

Posted by Y Cheung on Wed, Jul 3, 2024

本指南介紹了如何使用 Cloudflare 快取規則來提升 WordPress 站點效能,你需要有一個 Cloudflare 賬號才能跟隨本指南進行操作。如果你還沒有帳號,可以根據這篇文章註冊一個 Cloudflare 免費賬號,也可以聯繫Y Cheung,我可以幫你創建一個。

1. 什麼是快取?

快取,英文為 Cache,是一種將常用的資料暫時保存在較快的儲存設備上的技術。當使用者請求這些資料時,就可以從快取中快速地讀取,而不需要從較慢的原始來源(如資料庫或遠端伺服器)中取得,從而大幅提升存取速度。

常見的快取應用包括:

  • 瀏覽器快取: 瀏覽器會快取常用的靜態資源,如圖片、CSS、JavaScript 等,以加快下次訪問的速度。
  • 伺服器快取: 網站伺服器會快取常用的動態頁面或 API 請求結果,減少重複計算的開銷。
  • 內容分發網路(CDN)快取: CDN 會快取網站的靜態資源,部署在各地的 CDN 節點,就近為使用者提供資源。

2. 正確使用快取提升網站效能

在優化網站效能時,正確使用快取是非常重要的。以下是一些建議:

  • 為靜態資源啟用快取: 對於圖片、CSS、JavaScript 等不常變動的靜態資源,可以設定較長的快取時間,減少不必要的網路請求。
  • 為動態內容設置合適的快取時間: 對於經常變動的動態內容,應該設置較短的快取時間,以確保使用者看到的是最新資訊。
  • 利用 CDN 加速靜態資源訪問: 將網站的靜態資源部署到 CDN,使用戶就近訪問,大幅提升載入速度。
  • 結合記憶體緩存提升資料庫效能: 適當使用記憶體緩存資料庫查詢結果,減少直接訪問資料庫的次數。

3. 如何在 CloudFlare 上設置快取規則

登入 Cloudflare 儀錶盤後,導航到 “快取規則”(Cache Rule)頁面,建立規則。

Go to the page for Cache Rules and make a new rule.

4. 適用於 WordPress 站點的快取規則 Cache rule

4.1. 設置 wp-content 和 wp-includes 快取

告訴Cloudflare快取 /wp-content//wp-includes/ 文件夾中的資源 。

Cache wp-content and wp-includes

你也可以在創建 Cloudflare 快取規則時複製以下運算式到“編輯運算式”的部分。

1(starts_with(http.request.full_uri, "/wp-content/")) or (starts_with(http.request.full_uri, "/wp-includes/css")) or (starts_with(http.request.full_uri, "/wp-includes/js")) or (starts_with(http.request.full_uri, "/wp-includes/images")) or (starts_with(http.request.full_uri, "/wp-includes/fonts")) or (starts_with(http.request.full_uri, "/wp-includes/blocks"))

快取資格選擇“適用快取”。

4.2. WordPress 登錄、結帳、購物車、Cookies 等禁用快取

告訴 Cloudflare 不要快取 WordPress 登錄頁面、賬戶頁面、結帳、購物車、以及其他在 Wordpress、WooCommerce 設置中不應該被緩存的 cookie。

Don’t cache WordPress login, checkout, cart, cookies, and more

你也可以在創建 Cloudflare 快取規則時複製以下運算式到“編輯運算式”的部分。

1(http.request.full_uri contains "/wp-admin") or (http.request.full_uri contains "/wp-login.php") or (http.request.full_uri contains "/checkout/") or (http.request.full_uri contains "/cart/") or (http.request.full_uri contains "/my-account/") or (starts_with(http.request.full_uri, "/xmlrpc.php")) or (http.cookie contains "no_cache") or (http.cookie contains "wp-") or (http.cookie contains "wordpress-") or (http.cookie contains "comment_") or (http.cookie contains "woocommerce_") or (http.cookie contains "PHPSESSID") or (http.user_agent contains "jetmon")

如果你的網站特別的有某些路徑不想被緩存,也一併在這裡設置。

快取資格選擇“略過快取”。

4.3. 設置站點其他所有快取

告訴 Cloudflare 快取站點內所有其他的資源。

快取資格選擇“適用快取”。


設置好這些快取規則後,你的 WordPress 站點就可以在 Cloudflare 上進行全頁面緩存了。快取是一個複雜的東西,如果你遇到任何問題可以聯繫 Y Cheung 請求幫助