網站快到飛起,駭客只能哭泣!WordPress + Cloudflare 終極整合指南 (2025 實測)

2025/08/22 | 架構與效能優化

網站快到飛起,駭客只能哭泣!WordPress + Cloudflare 終極整合指南 (2025 實測)

嗨,我是浪花科技的 Eric。身為一個整天跟伺服器、程式碼打交道的工程師,最常被問到的問題之一就是:「我的 WordPress 網站為什麼這麼慢?」、「我的網站常常被攻擊,怎麼辦?」聽久了,耳朵都快長繭了。說實話,很多時候問題不在 WordPress 本身,而在於你的網站赤裸裸地暴露在網際網路的槍林彈雨中,沒有任何盔甲。

今天,我就要來介紹這套幾乎所有專業網站都在用的「神級盔甲」—— Cloudflare。而且,我會一步步帶你完成 WordPress 與 Cloudflare 整合最佳設定,這不只是裝個外掛點幾下那麼簡單,我們會深入到那些能真正榨出效能、擋下攻擊的魔鬼細節。準備好了嗎?泡杯咖啡,我們開始吧!

為什麼 WordPress 網站需要 Cloudflare?這對神仙組合的化學反應

在我們動手設定前,先花點時間理解一下,為什麼 WordPress 和 Cloudflare 簡直是天作之合。很多新手會以為 Cloudflare 就只是一個 CDN(內容分發網路),但這真是太小看它了。把它想像成你網站的數位保鑣兼超級加速器。

  • 閃電般的載入速度: Cloudflare 在全球擁有數百個資料中心。當訪客瀏覽你的網站時,他們會從最近的節點載入靜態資源(如圖片、CSS、JS),而不是大老遠跑到你主機的所在地。這就是 CDN 的基本功,但 Cloudflare 的魔法遠不止於此。
  • 銅牆鐵壁般的安全性: 你的主機 IP 會被隱藏在 Cloudflare 的網路後面,駭客無法直接攻擊你的伺服器。它的 WAF(Web Application Firewall,網站應用程式防火牆)能自動過濾掉常見的 WordPress 漏洞攻擊、SQL Injection 和惡意機器人,讓你睡得更安穩。
  • 節省主機頻寬與資源: 因為大量的流量和請求都被 Cloudflare 擋在第一線處理掉了,真正到達你主機的流量會少很多。這不僅能節省你的主機頻寬費用,還能減輕伺服器的負擔,讓主機專心處理真正重要的動態請求。
  • 免費的 SSL 憑證: 還在煩惱 HTTPS 怎麼設定嗎?Cloudflare 直接提供免費且自動續約的 SSL 憑證,一鍵開啟,網站馬上從 http 變成 https,對 SEO 和使用者信任度都是一大加分。

簡單來說,沒用 Cloudflare 的 WordPress 網站,就像是沒穿盔甲就上戰場的士兵。而正確設定後的 WordPress 網站,則是穿上了鋼鐵人裝甲,攻防一體。

從零開始:WordPress 與 Cloudflare 整合實戰設定

理論說完了,來點硬核的實作。假設你已經在 Cloudflare 註冊好帳號,並新增了你的網站。

第一步:DNS 指向 Cloudflare(信任的跳躍)

這是最基礎也是最關鍵的一步。Cloudflare 會給你兩組 Nameservers (NS 紀錄),你需要到你的網域註冊商(例如 GoDaddy, Namecheap)後台,將你網域預設的 Nameservers 換成 Cloudflare 提供的那兩組。這個過程有點像是在郵局登記新的收件地址,告訴全世界:「以後我的信(網站流量)請全部先送到 Cloudflare 這個地址。」

工程師小囉嗦: DNS 的更新需要時間在全球生效,官方說法是 24-48 小時,但通常幾分鐘到一小時內就會搞定。這段時間請耐心等待,不要手癢一直去改設定,泡杯咖啡看部影集,回來通常就好了。

第二步:SSL/TLS 加密模式設定(別再用錯模式了!)

在 Cloudflare 後台,找到「SSL/TLS」選項,進入「概觀 (Overview)」。你會看到四種加密模式。請直接選擇「完整 (嚴格) / Full (Strict)」。

為什麼?我來解釋一下這幾個選項的坑:

  • 關閉 (Off): 等於沒加密,千萬別用。
  • 彈性 (Flexible): 這是最多新手踩的坑!它只加密「訪客到 Cloudflare」這一段,但「Cloudflare 到你的主機」這段是未加密的!這會造成「重新導向次數過多」的錯誤,而且是一種自欺欺人的假性安全。
  • 完整 (Full): 加密全程,但 Cloudflare 不會驗證你主機上的 SSL 憑證是否有效。比 Flexible 好,但仍有中間人攻擊的風險。
  • 完整 (嚴格) / Full (Strict): 加密全程,且 Cloudflare 會嚴格驗證你主機上必須安裝一個有效(未過期、由受信任機構簽發)的 SSL 憑證。這是最安全的選項,也是唯一推薦的選項。現在有像 Let’s Encrypt 這麼方便的免費憑證,你沒有理由不用這個模式。

第三步:設定頁面規則 (Page Rules) 榨乾效能

這才是 Cloudflare 的精髓所在!免費方案有 3 條 Page Rules,請務必把它用在刀口上。在後台找到「規則 (Rules)」>「頁面規則 (Page Rules)」。

規則一:強制後台不快取,並提高安全性

  • URL 模式: *yourdomain.com/wp-admin/*
  • 設定:
    • 安全性層級 (Security Level) → 高 (High)
    • 快取層級 (Cache Level) → 略過 (Bypass)
    • 停用應用程式 (Disable Apps)
    • 停用效能 (Disable Performance)
  • 說明: WordPress 後台是動態的,絕對不能快取,否則會看到過時的資訊或無法操作。同時,登入和後台區域是駭客最愛攻擊的地方,所以我們把安全等級調高。

規則二:強制登入頁面不快取

  • URL 模式: *yourdomain.com/wp-login.php*
  • 設定: (同規則一)
  • 說明: 理由同上,登入頁面也必須是即時的。

規則三:快取所有靜態內容

  • URL 模式: *yourdomain.com/*
  • 設定:
    • 快取層級 (Cache Level) → 快取所有項目 (Cache Everything)
    • Edge 快取 TTL (Edge Cache TTL) → 7 天或更長
  • 說明: 這是效能大躍進的關鍵!這個設定會告訴 Cloudflare:「只要是這個網站的內容,不管三七二十一,全部給我快取起來!」這樣一來,即使是動態生成的 HTML 頁面,也會被 Cloudflare 的邊緣節點快取。訪客第二次訪問時,連你的主機都不用碰,直接由 Cloudflare 回應,速度快到不可思議。

工程師再次囉嗦: 這個「Cache Everything」規則要放在最後,因為 Page Rules 是有順序性的。Cloudflare 會從上到下匹配規則,一旦匹配成功就不會再往下找。所以我們要先把不該快取的 `/wp-admin/` 和 `/wp-login.php` 排除掉,最後再用 `*yourdomain.com/*` 來涵蓋所有其他頁面。

第四步:啟用 APO (Automatic Platform Optimization)

如果你的預算稍微寬裕一點(每月 5 美元,真的是佛心價),強烈建議開啟 APO。這可以說是 Cloudflare 專為 WordPress 量身打造的懶人效能包。它比「Cache Everything」更聰明,會透過一個 WordPress 外掛,智慧地判斷哪些內容該快取、快取多久,以及在內容更新時自動清除快取。甚至對於登入使用者和訪客,它也能提供不同的快取版本,完美解決了動態內容快取的問題。對於 WooCommerce 網站來說,APO 更是必備,可以避免快取到購物車、結帳頁面等個人化資訊。

還原真實訪客 IP:一個必須解決的問題

用了 Cloudflare 後,所有流量都經過它轉發,所以你的 WordPress 網站日誌或安全外掛(如 Wordfence)看到的訪客 IP 都會變成 Cloudflare 的 IP。這會導致安全外掛無法正確封鎖惡意 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 添加的 `HTTP_CF_CONNECTING_IP` 這個 header,如果存在,就用它的值來覆蓋 `REMOTE_ADDR`,這樣 WordPress 和所有外掛就能獲取到訪客的真實 IP 了。

推薦搭配的 WordPress 外掛

雖然大部分設定都在 Cloudflare 儀表板完成,但有幾個外掛可以讓整合體驗更絲滑:

  • Official Cloudflare Plugin: 這是官方外掛,安裝後可以自動套用推薦的 WordPress 設定,最重要的是,它提供了一個按鈕,讓你在 WordPress 後台就能一鍵清除 Cloudflare 的所有快取。當你更新文章或網站設定後,這個功能非常方便。
  • Cache Purging Plugins: 如果你沒有用 APO,且設定了 Page Rules 的「Cache Everything」,那你需要一個能在發布/更新文章時自動清除特定頁面快取的外掛。像是 `WP Cloudflare Super Page Cache` 就是一個不錯的選擇。

結論:這不只是設定,而是一種架構思維

搞定!跟著這份指南操作,你的 WordPress 網站現在應該已經脫胎換骨了。速度和安全性都提升了好幾個檔次。記住,WordPress 與 Cloudflare 整合最佳設定 不只是一次性的工作,它是一種網站架構的思維轉變。你把網站的「邊緣」防禦和加速交給了全球最頂尖的網路公司之一,讓你的主機可以更專注於核心的內容生成與業務邏輯。

當然,Cloudflare 的功能博大精深,我們今天只談了最重要的部分。還有像是 Rate Limiting(頻率限制)、Bot Management(機器人管理)、Argo Smart Routing 等等進階功能,都值得你去探索。但先把基礎打好,你已經贏過 90% 的網站了。

如果你在設定過程中遇到任何問題,或是希望我們浪花科技的團隊為你的企業網站進行更深入的效能調校與安全架構規劃,別客氣!

👉 歡迎點擊這裡,填寫表單與我們聯繫,讓專業的工程師團隊成為你最強的後盾!


延伸閱讀

常見問題 (FAQ)

Q1: 對於 WordPress 網站,最重要的 Cloudflare 設定是哪一個?

A1: 如果只能選一個,那就是「頁面規則 (Page Rules)」。正確設定 Page Rules,特別是針對後台的「Bypass Cache」和針對前台的「Cache Everything」,是提升網站效能最立竿見影的方法。如果預算允許,啟用 APO (Automatic Platform Optimization) 則是更聰明、更自動化的選擇。

Q2: 我用了 Cloudflare 之後,還需要安裝 WordPress 快取外掛嗎?

A2: 絕對需要,但它們扮演的角色不同!Cloudflare 處理的是「頁面快取 (Page Cache)」和 CDN,主要服務對象是訪客。而 WordPress 快取外掛(如 WP Rocket, LiteSpeed Cache)除了頁面快取,更重要的是能處理「物件快取 (Object Cache)」和「資料庫快取」。這能減少 PHP 和資料庫的重複運算,從根本上加快網站後端的處理速度。兩者相輔相成,才能達到最佳效能。

Q3: 為什麼我設定 Cloudflare 後網站出現「重新導向次數過多」的錯誤?

A3: 這 99% 的機率是因為你的 SSL/TLS 加密模式設定為「彈性 (Flexible)」。這個模式會讓 Cloudflare 用 HTTP(未加密)連到你的主機,但你的主機可能又設定了強制 HTTPS,導致兩者之間無限循環跳轉。請務必到你的主機上安裝有效的 SSL 憑證,然後將 Cloudflare 的加密模式改為「完整 (嚴格) / Full (Strict)」,問題就能解決。

 
立即諮詢,索取免費1年網站保固