Cloudflare 不是裝了就好!資深工程師的 WordPress 終極調校聖經:從快取、防火牆到 APO 設定全攻略
嗨,我是浪花科技的資深工程師 Eric。在業界打滾這麼多年,我看過太多 WordPress 網站主,以為把網域的 Nameservers 指向 Cloudflare 就功德圓滿,可以高枕無憂了。嘿,朋友,這就像你買了一台頂級 F1 賽車,卻只用它來當買菜車,根本浪費了它 90% 的潛力,甚至還可能因為錯誤設定,讓網站變得更慢、更不安全。
說真的,每次看到有人沾沾自喜地說「我裝了 Cloudflare」,我心裡的小劇場都在吶喊:「你真的『設定』了嗎?」。Cloudflare 不只是一個 CDN,它是一個強大的網站效能與安全平台。今天,就讓我這個有點囉嗦的工程師,帶你從頭到尾、由淺入深,把 Cloudflare 的潛力徹底榨乾,讓你的 WordPress 網站快到飛起,安全到讓駭客都搖頭!
為什麼你的 WordPress 網站需要 Cloudflare?(不只是 CDN 這麼簡單)
在我們動手設定之前,先花點時間搞懂我們到底在用什麼神兵利器。很多人對 Cloudflare 的印象還停留在「免費 CDN」,但這只是冰山一角。它真正的價值在於一個整合性的平台:
- 全球 CDN 網路: 這當然是基本盤。Cloudflare 在全球有數百個節點,可以將你的網站靜態資源(如圖片、CSS、JS)快取在離訪客最近的地方,大幅縮短載入時間。
- 頂級 DNS 服務: 它的 DNS 解析速度是全球數一數二的快,光是換上它的 Nameservers,你的網站 TTFB (Time to First Byte) 就已經贏在起跑線上了。
- 網站應用程式防火牆 (WAF): 這才是重頭戲!Cloudflare 的 WAF 能在惡意流量到達你的主機之前就把它們攔截下來,有效防禦 SQL Injection、Cross-Site Scripting (XSS) 等常見攻擊。
- DDoS 緩解: 你的網站曾經被惡意流量攻擊到癱瘓嗎?Cloudflare 巨大的網路頻寬可以輕鬆吸收大規模的 DDoS 攻擊,讓你的主機連一根毛都傷不到。
簡單來說,Cloudflare 就是你網站最外層的超級保鑣兼加速器。現在你知道它有多重要了,讓我們開始動手把它調校成最強型態吧!
基礎設定:打好地基,避免日後踩雷
基礎沒打好,蓋再高的樓都會倒。Cloudflare 的設定也是一樣,有幾個關鍵點一旦設錯,後患無窮。
最重要的 SSL/TLS 設定:『完整 (嚴格)』才是唯一正解!
這點我要用最大的力氣強調:請到你的 Cloudflare 後台,在「SSL/TLS」->「概觀」頁面,把加密模式設定為「完整 (嚴格) / Full (Strict)」。
為什麼?我來解釋一下這幾個選項的差別:
- 彈性 (Flexible): 這是最危險的選項!它只加密了「訪客到 Cloudflare」這一段,但「Cloudflare 到你的主機」這段是沒有加密的!這等於是自欺欺人,讓中間人攻擊有機可乘。拜託,千萬不要用這個選項,每次看到專案用這個設定,我都想直接打掉重做。
- 完整 (Full): 這好一點,兩段都加密了。但它不驗證你主機上的 SSL 憑證是否有效。
- 完整 (嚴格) / Full (Strict): 這才是標準答案。它確保兩段全程加密,並且會驗證你主機上安裝的是一個有效且受信任的 SSL 憑證(例如 Let’s Encrypt)。這才能真正確保端到端的數據安全。
在 2025 年的今天,免費的 Let’s Encrypt 憑證已經非常普及,你沒有任何理由不使用「完整 (嚴格)」模式。
解決 IP 錯亂問題:讓 WordPress 看到真實訪客 IP
這是另一個新手最常踩的坑。當你啟用 Cloudflare 後,所有流量都會先經過 Cloudflare 的伺服器再轉發到你的主機。這會導致一個問題:你的 WordPress 在記錄訪客 IP 時,看到的通通都是 Cloudflare 的 IP!
這會造成什麼後果?你的安全外掛(如 Wordfence)會失效,因為它無法封鎖真正的惡意 IP。你的留言系統、數據分析都會亂掉。解決方法很簡單,就是在你的 `wp-config.php` 檔案中,加入一小段程式碼,告訴 WordPress 去抓取 Cloudflare 傳遞過來的真實 IP 標頭。
請在 `wp-config.php` 檔案的 `/* That’s all, stop editing! Happy publishing. */` 這行註解之前,加入以下程式碼:
// 修正 Cloudflare 造成的訪客 IP 錯誤問題
if ( isset( $_SERVER['HTTP_CF_CONNECTING_IP'] ) ) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
}
這段程式碼的意思是,如果收到的請求中包含了 Cloudflare 用來傳遞真實 IP 的 `HTTP_CF_CONNECTING_IP` 標頭,就用它來覆寫 `REMOTE_ADDR` 的值。就這麼簡單,問題解決!
榨乾 Cloudflare 效能:為 WordPress 量身打造的加速魔法
基礎打好了,接下來就是進階的效能調校,這才是拉開差距的地方。
頁面規則 (Page Rules) 的藝術:精準控制你的快取策略
免費版的 Cloudflare 提供 3 條頁面規則,這對一個標準的 WordPress 網站來說,簡直是天賜的禮物,我們必須把它們用在刀口上。請到「規則」->「頁面規則」設定以下三條(順序很重要):
- 規則 1:保護後台與重要頁面
- URL 模式: `*yourdomain.com/wp-admin/*`
- 設定: 安全性層級 (Security Level) -> 高 (High), 快取層級 (Cache Level) -> 略過 (Bypass)
- 目的: 增強後台的安全性,並確保後台操作不會被快取,避免編輯內容時看到舊資料。
- 規則 2:不要快取預覽、登入和購物車
- URL 模式: `*yourdomain.com/*preview=true*` (也可以加入 `*yourdomain.com/wp-login.php*` 和 `*yourdomain.com/cart/*` 等,但需要更多規則)
- 設定: 快取層級 (Cache Level) -> 略過 (Bypass)
- 目的: 確保文章預覽、登入頁面和 WooCommerce 的購物車、結帳頁面等動態內容不會被快取,以免造成使用者資料錯亂。
- 規則 3:強制快取所有前端內容
- URL 模式: `*yourdomain.com/*`
- 設定: 快取層級 (Cache Level) -> 快取所有項目 (Cache Everything), Edge Cache TTL -> 設一個你覺得合適的時間,例如 4 小時或 1 天
- 目的: 這是最重要的規則!它會告訴 Cloudflare 把你整個網站的 HTML 頁面都快取到邊緣節點。訪客來訪時,Cloudflare 直接回傳快取好的頁面,完全不用請求你的主機,速度快到不可思議!
這三條規則的組合,就能在不影響後台操作和動態功能的前提下,最大化 WordPress 網站的快取效益。
自動平台優化 (APO):值不值得那 5 美金?
APO (Automatic Platform Optimization) 是 Cloudflare 專為 WordPress 設計的付費服務(每月 5 美元)。你可以把它想像成是上面「頁面規則 3」的超級進化版。它不只快取 HTML,還能透過 Cloudflare Workers 更智慧地處理動態內容和第三方字型,並且與官方外掛深度整合,自動清除快取。如果你的預算允許,且不想自己鑽研複雜的頁面規則,APO 絕對是物超所值的選擇。
Speed Tab 設定:自動壓縮 (Minify) 與 Brotli 壓縮
在「速度」->「最佳化」頁面,請務必勾選「JavaScript」、「CSS」和「HTML」的「自動壓縮 (Auto Minify)」。這會自動移除程式碼中不必要的空格、換行和註解,縮小檔案體積。
另外,確認「Brotli」壓縮是開啟的。Brotli 是比 Gzip 更高效的壓縮演算法,可以進一步減少傳輸的資料量,對網頁載入速度有顯著提升。
打造銅牆鐵壁:Cloudflare 防火牆 (WAF) 與安全設定
效能搞定了,安全也不能馬虎。Cloudflare 的 WAF 是你網站的第一道防線。
啟用 WAF 並部署 WordPress 專屬規則集
在「安全性」->「WAF」頁面,你可以看到防火牆規則。免費方案的 WAF 已經能擋掉很多基礎攻擊。如果你是 Pro 或更高方案的使用者,強烈建議你啟用「Cloudflare 受管規則集」中的「WordPress」規則。這是 Cloudflare 團隊專門為 WordPress 的漏洞和攻擊模式維護的規則,防護效果非常好。
速率限制 (Rate Limiting):防止暴力破解登入頁面
暴力破解 `wp-login.php` 是最常見的 WordPress 攻擊手法。我們可以用「速率限制」來對付它。到「安全性」->「WAF」->「速率限制規則」,建立一條新規則:
- 欄位: URL 完整路徑
- 路徑: `/wp-login.php`
- 方法: POST
- 速率: 在 1 分鐘內如果同一個 IP 超過 5 次請求
- 動作: 封鎖 (Block),持續 15 分鐘
這樣設定後,任何企圖用程式自動猜密碼的機器人都會很快被封鎖掉。
整合的最後一哩路:安裝 WordPress 官方外掛
最後,別忘了到你的 WordPress 後台安裝官方的「Cloudflare」外掛。透過 API 金鑰連接後,它可以幫你做幾件很重要的事:
- 自動清除快取: 當你更新文章、修改主題或外掛時,它會自動告訴 Cloudflare 清除相關頁面的快取,確保訪客能看到最新的內容。這解決了使用「Cache Everything」規則後最大的痛點。
- 一鍵最佳化設定: 外掛裡有一個「Apply Recommended Settings」按鈕,它會幫你自動套用許多對 WordPress 友善的 Cloudflare 設定,非常適合新手。
- APO 整合: 如果你購買了 APO 服務,就必須透過這個外掛來啟用。
總結:不只是設定,更是持續優化的思維
看到這裡,相信你對 **WordPress 與 Cloudflare 整合最佳設定** 已經有了非常深入的了解。記住,Cloudflare 不是一個裝了就沒事的工具,它是一個需要根據你網站特性持續調整和優化的平台。從 SSL 的基礎安全,到 IP 的正確識別,再到頁面規則的精準快取與 WAF 的安全防護,每一步都是為了讓你的 WordPress 網站更上一層樓。
今天分享的這些設定,已經涵蓋了 90% 以上 WordPress 網站所需要的 Cloudflare 調校。把這些步驟確實做好,你的網站不論在速度還是安全性上,都將會有脫胎換骨的改變。別再讓你的 F1 賽車只跑買菜的時速了,立刻動手調校吧!
延伸閱讀
- 網站龜速是都市傳說?Cloudflare vs. BunnyCDN 終極對決,資深工程師帶你挑選 WordPress 最強 CDN 加速引擎
- 「網站大門忘了鎖?」資深工程師帶你架起 WordPress 銅牆鐵壁:WAF、Bot 防護與外掛設定終極指南
- 網站慢到捶心肝?別再只會裝快取外掛!資深工程師揭秘 WordPress 效能雙核心:Page Cache vs. Object Cache 終極對決
如果你在設定過程中遇到任何困難,或是想為你的企業網站導入更進階的效能與安全架構,浪花科技的團隊隨時準備好為你提供專業的諮詢與服務。我們處理過各種疑難雜症,深知如何打造一個既快又穩的網站。歡迎點擊這裡,填寫表單與我們聯繫,讓我們一起打造你的下一個成功專案!
常見問題 (FAQ)
Q1: 為什麼 Cloudflare 的「彈性 (Flexible)」SSL 模式很危險?
A1: 因為「彈性」模式只加密了從訪客瀏覽器到 Cloudflare 伺服器這一段的流量。從 Cloudflare 到你的網站主機這一段是完全沒有加密的明文傳輸。這會讓駭客有機會在中間竊聽或篡改數據,是一種非常不安全的「假性 HTTPS」,強烈建議所有 WordPress 網站至少使用「完整 (嚴格)」模式。
Q2: 啟用 Cloudflare 後,我的 WordPress 留言和安全外掛都顯示 Cloudflare 的 IP,該如何修正?
A2: 這是因為所有流量都經過 Cloudflare 代理。你需要在 WordPress 的 `wp-config.php` 檔案中加入一小段程式碼,告訴 WordPress 從 Cloudflare 提供的 `HTTP_CF_CONNECTING_IP` HTTP 標頭中獲取訪客的真實 IP 位址。詳細的程式碼片段請參考本文中的教學。
Q3: 對於一個標準的 WordPress 網站,最重要的三條 Cloudflare 頁面規則是什麼?
A3: 順序很重要:1. 為 `*/wp-admin/*` 設定高安全性並略過快取,以保護後台。 2. 為預覽、登入、購物車等動態頁面 (`*preview=true*`, `*/cart/*` 等) 設定略過快取,避免功能異常。 3. 為 `*/*` (所有其他頁面) 設定「快取所有項目 (Cache Everything)」,將整個網站的 HTML 快取到 Cloudflare 的邊緣節點,以達到最快的載入速度。
Q4: 我用了 Cloudflare 的「Cache Everything」後,還需要安裝 WordPress 的快取外掛嗎?
A4: 這個問題非常好!答案是:仍然建議安裝。Cloudflare 處理的是「頁面快取 (Page Cache)」,是給訪客看的最終 HTML。而 WordPress 的快取外掛(如 WP Rocket, W3 Total Cache)通常還包含「物件快取 (Object Cache)」、「資料庫快取 (Database Cache)」等功能,可以減少 PHP 和資料庫的重複運算,加快頁面生成的速度。兩者相輔相成,一個對外(訪客),一個對內(伺服器),搭配使用能達到最佳效能。






