CDN vs 快取差在哪?WordPress 網站加速怎麼搭配才不衝突

CDN 和快取都會出現在 WordPress 加速設定裡,所以很容易被當成同一件事。其實兩者有關,但不是同一個功能:快取是把已經產生的內容保存起來,避免每次都重新處理;CDN 則把可快取內容放到不同地區的節點,讓訪客從較近的位置取得。

一個網站可以只用快取、不用 CDN,也可以同時使用主機快取、快取外掛與 CDN。真正要注意的是各層快取怎麼搭配,以及登入、購物車、會員與課程頁不能被錯誤快取。

快取(Cache)是保存可重複使用的結果;CDN(Content Delivery Network)是透過分散節點傳送內容。CDN 通常也會使用快取,但「快取」本身不等於「CDN」。

CDN vs 快取,一張表先看懂

項目快取CDN
主要目的減少重複運算或下載縮短傳輸距離、分散流量
常見位置瀏覽器、伺服器、WordPress、記憶體全球或區域邊緣節點
主要處理HTML、查詢結果、物件、靜態檔案圖片、CSS、JS 等可快取內容,也可依服務設定快取 HTML
是否一定跨地區不一定通常是
可否一起用可以,而且 WordPress 網站常會同時使用

WordPress 裡其實有好幾層快取

談「快取」時,如果沒有先說是哪一層,很容易雞同鴨講。常見的快取至少包含下面幾種。

1. 瀏覽器快取

讓訪客瀏覽器保留一段時間內可重複使用的圖片、CSS、JavaScript 等檔案。下一次再造訪時,不必全部重新下載。

2. 頁面快取

把 WordPress 已經產生的 HTML 保存起來。公開文章或一般頁面沒有改變時,就不必每次重新執行完整 PHP 與資料庫流程。WP Rocket 這類外掛的核心功能之一就是頁面快取。

3. 物件快取

把常用的資料查詢結果保存在記憶體,減少重複向資料庫取得相同資料。WordPress 會員、WooCommerce 或較複雜網站常會搭配 Redis 等持久物件快取,但是否有幫助仍取決於網站與主機環境。

4. CDN 邊緣快取

CDN 節點也會保存可快取檔案。台灣訪客可能從亞洲節點取得內容,美國訪客則從更靠近當地的節點取得,減少每次都回到來源主機抓檔案的距離。

CDN 可以取代 WordPress 快取外掛嗎?

通常不能直接這樣理解。CDN 是否快取完整 HTML,要看服務與規則;WordPress 快取外掛則可能同時處理頁面快取、瀏覽器快取、CSS/JS、預載入與其他站內優化。

如果 CDN 只負責圖片、CSS、JavaScript,來源主機仍然需要產生 WordPress HTML。這時頁面快取仍然很有價值。反過來說,就算頁面快取已經做好,跨國訪客仍可能因為傳輸距離而受益於 CDN。

所以「CDN vs 快取」不是二選一,更接近「不同層要不要一起搭配」。如果你想看整體優化順序,可延伸閱讀WordPress 網站加速指南

什麼網站比較需要 CDN?

  • 訪客來自不同國家或地區。
  • 圖片、CSS、JavaScript 等靜態資源較多。
  • 流量活動會帶來短時間大量訪客。
  • 希望降低來源主機部分傳輸負擔。
  • 需要更完整的邊緣快取、安全或流量管理功能。

如果網站訪客幾乎都在同一地區,而且主機就在附近,CDN 帶來的差異可能沒有跨國網站那麼明顯。是否值得使用,應看真實訪客位置、內容類型與目前瓶頸。

本站另有Bunny CDN 教學,可以看實際 CDN 設定與快取流程。

會員、電商與課程網站最怕「快取錯人」

公開文章頁通常很適合快取,但登入後內容、購物車、結帳、會員中心與課程權限是依使用者變動的。這些頁面如果被錯誤做成共用快取,可能造成資料顯示不正確。

  • 登入狀態通常要和匿名訪客分開處理。
  • 購物車與結帳頁不應把一位客戶的內容給另一位看到。
  • 會員課程頁要依權限顯示。
  • 修改內容後,要確保主機、外掛與 CDN 各層快取能正確清除。

這也是為什麼「快取越多越好」不是正確目標。網站要快,但資料正確與交易流程正常更重要。

為什麼改了網站,自己看到新的,別人卻還是舊的?

多層快取最常見的困擾就是內容不同步。你可能清了 WordPress 快取,但 CDN 還保留舊檔;或 CDN 已清除,瀏覽器仍留著舊版本。

排查時可以依層級處理:

  1. 確認 WordPress/快取外掛是否已清除。
  2. 確認主機端快取是否另有一層。
  3. 清除 CDN 對應 URL 或整站快取。
  4. 用無痕視窗或不同裝置重新測試。

CDN 與快取怎麼搭配比較合理?

對一般 WordPress 網站,可以先把架構想成:

來源主機 → WordPress/頁面快取 → CDN → 瀏覽器快取

如果有物件快取,則是在 WordPress 與資料庫查詢這一層幫忙。每一層各自處理不同問題,不需要為了「層數多」全部打開,重點是功能沒有重複衝突,而且清除快取時能同步。

使用 WP Rocket 的網站可以參考WP Rocket 教學,了解頁面快取與前端優化的角色,再決定 CDN 要放在哪一層。

CDN vs 快取常見問題

只裝 CDN,不裝快取外掛可以嗎?

可以,但效果取決於 CDN 是否快取 HTML,以及主機本身有沒有伺服器快取。如果 CDN 主要只處理靜態檔案,WordPress 頁面仍可能每次重新產生。

只用 WP Rocket,不用 CDN 可以嗎?

可以。訪客集中在主機附近、流量不大時,頁面快取與前端優化可能已經足夠。CDN 是額外的傳輸與邊緣快取層,不是所有網站必需品。

CDN 會讓網站一定更快嗎?

不一定。訪客位置、來源主機、快取命中率、DNS、第三方腳本與網站本身都會影響結果。設定不當時,甚至可能增加排查複雜度。

先弄懂每一層在做什麼,才不會一直重複安裝

WordPress 加速最容易出現的問題,是主機有快取、外掛又快取、CDN 再快取,但沒有人知道哪一層負責什麼。把瀏覽器、頁面、物件與 CDN 分清楚,再依網站需求搭配,會比單純把所有功能都打開更穩定。

如果你正在規劃線上課程或想把網站做起來,這兩個資源可以直接拿去用:

1) 領取贈品:線上課程起步指引

2) 免費架站:只需付主機費,我們直接幫你把網站架好

先拿起步指引 了解免費架站

元氣站長
元氣站長

經營網路事業,賺取持續收入!
網路賺錢修煉,成就理想人生!