本指南介紹了如何使用 Cloudflare 快取規則來提升 WordPress 站點效能,你需要有一個 Cloudflare 賬號才能跟隨本指南進行操作。如果你還沒有帳號,可以根據這篇文章註冊一個 Cloudflare 免費賬號,也可以聯繫Y Cheung,我可以幫你創建一個。
1. 什麼是快取?
快取,英文為 Cache,是一種將常用的資料暫時保存在較快的儲存設備上的技術。當使用者請求這些資料時,就可以從快取中快速地讀取,而不需要從較慢的原始來源(如資料庫或遠端伺服器)中取得,從而大幅提升存取速度。
常見的快取應用包括:
- 瀏覽器快取: 瀏覽器會快取常用的靜態資源,如圖片、CSS、JavaScript 等,以加快下次訪問的速度。
- 伺服器快取: 網站伺服器會快取常用的動態頁面或 API 請求結果,減少重複計算的開銷。
- 內容分發網路(CDN)快取: CDN 會快取網站的靜態資源,部署在各地的 CDN 節點,就近為使用者提供資源。
2. 正確使用快取提升網站效能
在優化網站效能時,正確使用快取是非常重要的。以下是一些建議:
- 為靜態資源啟用快取: 對於圖片、CSS、JavaScript 等不常變動的靜態資源,可以設定較長的快取時間,減少不必要的網路請求。
- 為動態內容設置合適的快取時間: 對於經常變動的動態內容,應該設置較短的快取時間,以確保使用者看到的是最新資訊。
- 利用 CDN 加速靜態資源訪問: 將網站的靜態資源部署到 CDN,使用戶就近訪問,大幅提升載入速度。
- 結合記憶體緩存提升資料庫效能: 適當使用記憶體緩存資料庫查詢結果,減少直接訪問資料庫的次數。
3. 如何在 CloudFlare 上設置快取規則
登入 Cloudflare 儀錶盤後,導航到 “快取規則”(Cache Rule)頁面,建立規則。
4. 適用於 WordPress 站點的快取規則 Cache rule
4.1. 設置 wp-content 和 wp-includes 快取
告訴Cloudflare快取 /wp-content/
和 /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。
你也可以在創建 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 請求幫助。
Articles in this series: