~/blog/wordpress-cloudflare-ultimate-integration-guide.md
網站安全與防護 · 2025 / 08 / 22 · 5 views

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

Eric — 浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
網站快到飛起,駭客只能哭泣!WordPress + Cloudflare 整合指南 (2025 實測)
目錄 table-of-contents.md

為什麼有些 WordPress 網站天天被掃描攻擊卻安然無恙,速度還快得不像話?答案往往不是主機多貴,而是伺服器前面多了一層 Cloudflare。它把全球 CDN、WAF 防火牆和 DDoS 防護擋在你的網站之前,讓流量先過一道安檢門,而不是赤裸裸暴露在網際網路的槍林彈雨中。這篇就用 2025 年的實測,帶你把這道門裝好裝滿。

今天,我就要來介紹這套幾乎所有專業網站都在用的「神級盔甲」—— 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

常見問題

WordPress 搭配 Cloudflare 有哪些好處?
Cloudflare 透過全球資料中心讓訪客從最近節點載入靜態資源,提升載入速度;它會隱藏主機 IP 並以 WAF 過濾常見的 WordPress 漏洞攻擊、SQL Injection 與惡意機器人;大量流量被擋在第一線可節省主機頻寬與資源;同時提供免費且自動續約的 SSL 憑證,讓網站輕鬆啟用 HTTPS。
WordPress 接 Cloudflare 時 SSL/TLS 模式該選哪一種?
建議選擇「完整(嚴格)/ Full (Strict)」。它會全程加密並嚴格驗證主機上安裝的 SSL 憑證有效。Flexible(彈性)只加密訪客到 Cloudflare 這段、Cloudflare 到主機未加密,容易造成「重新導向次數過多」且是假性安全;Full 雖全程加密但不驗證主機憑證,仍有中間人攻擊風險。
Cloudflare 的 Page Rules 在 WordPress 上應該怎麼設定?
建議將 /wp-admin/ 與 wp-login.php 設為快取層級「略過 (Bypass)」並提高安全性層級,因為後台與登入頁是動態且常被攻擊;再用 *yourdomain.com/* 搭配「快取所有項目 (Cache Everything)」並設定較長的 Edge Cache TTL 來快取一般頁面。由於 Page Rules 由上到下匹配,Cache Everything 規則要放在最後,先排除不該快取的後台與登入頁。
用了 Cloudflare 後 WordPress 取得的訪客 IP 變成 Cloudflare IP,怎麼還原真實 IP?
因為流量都經 Cloudflare 轉發,網站日誌與安全外掛看到的會是 Cloudflare 的 IP,導致無法正確封鎖惡意來源。可在 wp-config.php 的「That's all, stop editing!」註解上方加入程式碼:檢查是否存在 $_SERVER['HTTP_CF_CONNECTING_IP'],若有就用它覆蓋 $_SERVER['REMOTE_ADDR'],這樣 WordPress 與外掛即可取得訪客真實 IP。
Cloudflare 的 APO 是什麼,適合誰使用?
APO(Automatic Platform Optimization)是 Cloudflare 專為 WordPress 設計的效能方案,比 Cache Everything 更聰明,會透過外掛智慧判斷哪些內容該快取、快取多久,並在內容更新時自動清除快取,還能為登入使用者與訪客提供不同快取版本。對 WooCommerce 網站特別重要,可避免快取到購物車與結帳等個人化資訊。
~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?