網路架站

靜態網站產生器還是 WordPress?先看規模、更新頻率與團隊資源

多數人以為要在靜態網站產生器與 WordPress 之間做選擇,答案就藏在「哪一種跑得比較快」這句話裡,其實兩者在真實使用者的裝置上跑出來的速度落差,遠比坊間常聽到的「快兩三倍」溫和得多。真正該先問的,反而是這個網站以後要放多少頁面、內容多久換一次、團隊裡有沒有人願意碰命令列。

靜態網站產生器(Static Site Generator)是一種在網站正式上線前,就先把每個網址對應的 HTML 檔案全部組裝好的架站方式,Astro、Hugo 是目前最常被拿來當代表的工具;WordPress 這類動態 CMS 則相反,每次有人點進網頁,伺服器都要當場查資料庫、組出這一頁的內容。這個差異聽起來只是技術細節,但它會一路影響到誰能自己上稿、網站遇到攻擊時風險落在哪裡,以及流量一大會不會撐不住。

先從靜態網站產生器怎麼運作、跟動態 CMS 有什麼差異講起,再一路拆到它們各自的維護代價與適用場景。

靜態網站產生器是什麼?以 Astro、Hugo 為例的運作邏輯

把一個網站放上線,通常只有兩種時間點可以「產生」頁面:一種是在建置(build)當下就先產生好,一種是等訪客真的點進來那一刻才臨時產生。靜態網站產生器走的是前者。寫好內容、跑一次建置指令後,系統就把每一頁對應的 HTML 檔案全部產出來,存成現成的檔案。之後不管誰在什麼時候、從哪個地方點進這個網站,伺服器(或更精確地說,CDN 邊緣節點)拿到的請求都只是把這份現成的檔案送出去,不需要再重新執行任何程式,也不必查詢資料庫。

Google 官方的 web.dev 在說明各種渲染架構時,把這種做法定義為「Static Rendering」。這代表建置時就為每個網址個別產生好 HTML 檔案,不需要動態伺服器即時生成。它帶來的直接好處是「achieves a consistently fast TTFB, because the HTML for a page doesn’t have to be dynamically generated on the server」,也就是穩定拿到快速的首位元組時間,因為頁面的 HTML 不必等伺服器當下動態組裝;連帶也讓「a fast FCP, and also a lower TBT and INP」,也就是首次內容繪製更快,互動延遲相關的指標也比較低。代價則是網站上有多少個網址,建置時就得先把多少頁面全部產完,網站規模一大,或內容需要因人而異高度個人化,這套做法就會開始遇到瓶頸。

Astro、Hugo 是目前談到靜態網站產生器最常被提起的兩支代表工具,Next.js 雖然更常被拿來做伺服器端渲染,但它同樣支援純靜態匯出模式。Astro 官方文件把自己定位成專為「content-driven websites」設計的工具,也就是內容導向的網站,部落格、行銷網站、文件站、電商前台、作品集都是它瞄準的場景,並刻意把自己和 Next.js、Nuxt、SvelteKit 這類以複雜互動應用(儀表板、社群平台)為目標的框架區分開來。它的核心理念有兩個:一個是「Server-first」,意思是先由伺服器端把 HTML 準備好,而不是把大量邏輯丟給前端 JavaScript 執行;另一個是「Islands」架構,預設不送出任何 JavaScript,只有畫面上真正需要互動的元件,例如一個留言表單、一個輪播圖,才會載入對應的程式碼。Hugo 則是這類工具裡歷史最久、目前佔比最高的一款,長期以純靜態、不依賴額外執行環境著稱。

HTTP Archive 的《Web Almanac》2024 年 Jamstack 章節,把「Prerendered」這個靜態預渲染分類裡最常見的框架做了排名:Hugo 佔 18%,是這個分類裡使用最廣的工具;Next.js 佔 13%,說明它除了大家熟知的伺服器渲染模式,也有不少專案是拿它做純靜態匯出;Astro 則佔 5%,但《Web Almanac》特別點出 Astro 是「the largest growth of any Prerendering framework in 2024」,也就是那一年成長幅度最大的預渲染框架。這幾支工具背後共同的設計哲學,是把內容放在第一位,並且預設把要送到瀏覽器的 JavaScript 降到最低,這也是為什麼它們常被拿來蓋部落格、行銷網站這類內容為主、互動需求不高的網站,而不是需要大量即時互動的應用程式。

WordPress 這類 CMS 靠資料庫即時組裝頁面

跟靜態網站產生器完全相反的做法,是等訪客真的點進網頁那一刻,才由伺服器現場把內容組裝出來,這正是動態內容管理系統的運作邏輯,WordPress 是這類架構裡最具代表性的例子。每一次有人瀏覽一篇文章、一個商品頁,WordPress 都要在當下查詢資料庫,把標題、內文、圖片路徑、選單這些片段抓出來,套進版型,即時組裝成一份 HTML 再送出去。跟靜態架構一次產好、重複送出同一份檔案完全不同,動態 CMS 是每次請求、每次現做。

靜態網站產生器在建置時一次產好所有 HTML 交給 CDN 送出,WordPress 動態 CMS 則每次請求都查資料庫即時組裝頁面
靜態架構在建置時就把頁面全部產好、重複送出同一份;動態 CMS 每次請求都重新查資料庫、現組一份。

WordPress 之所以能被拿來當這類架構的代表,不只是因為它歷史悠久,更因為它目前的市佔規模。W3Techs 在 2026 年 9 月的統計顯示,WordPress 佔全球所有受監測網站的 40.3%;若只看有安裝已知 CMS 的網站,WordPress 的佔比更高達 58.8%,遠遠超過排在第二名、市佔約 7.8% 的 Shopify。W3Techs 的統計方法把絕對佔比(全體監測網站)與市佔率(僅限已識別出使用某種 CMS 的網站,約佔監測站台的 68.5%)分開計算,但不管用哪一種算法,WordPress 都是動態 CMS 這個類別裡最主流、讀者最可能實際碰過的代表。

WordPress 從一開始就主打不必寫程式的賣點,安裝好之後,經營者直接在瀏覽器裡打開後台,用視覺化的編輯介面寫文章、上架商品、調整版面,再透過安裝外掛去擴充功能,會員系統、線上金流、表單、SEO 工具幾乎都能靠外掛補上。這種後台介面加上外掛生態系統的組合,正是它跟靜態網站產生器最直觀的差異:一邊把技術複雜度封裝在瀏覽器後台裡,讓不懂程式的人也能自己管理內容;另一邊則把技術複雜度留在建置與部署的環節。

建置門檻從寫作介面移到部署、維運能力

兩種架構好不好上手的答案,其實不在會不會寫文章這一層,而是在有沒有人扛得起程式碼與部署流程這一層。動態 CMS 把複雜度收進後台介面,經營者自己就能完成日常操作;靜態網站產生器則把複雜度留在建置與部署這一段,寫作可能簡單,但要把網站真正架起來、維持它正常運作,仍然需要具備工程背景的人力,而且這份長期維護的責任,分配到的位置跟動態 CMS 完全不同。

要用 Astro 這類工具架一個網站,實際走的流程是這樣的:先透過命令列工具初始化專案,內容用 Markdown 或元件檔案寫,寫完用版本控制系統送出變更,再執行建置指令,把整個網站編譯成一批 HTML 檔案,最後部署到主機或 CDN 平台上才算真正上線。Astro 官方文件把自己定位成「Developer-focused」,提供命令列工具、編輯器擴充功能與完整技術文件,這些都是設計給工程師使用的配套,不管介面做得多友善,整套流程始終圍繞在程式碼檔案與命令列指令展開,跟直接打開瀏覽器後台打字發文,是完全不同的兩種操作方式。

這不代表靜態架構不值得選,而是代表它把技術能力這件事,從經營者自己就能處理,換成需要工程資源介入。Google Search Central 在說明 JavaScript SEO 的基本觀念時提到,「server-side or pre-rendering is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript」。這句話從另一個角度印證了同一件事,預渲染、靜態化本身是一種需要在建置與部署階段主動處理的技術選擇,不是後台按一個按鈕就自動發生的效果。動態 CMS 把這整段流程省掉,換來的代價,是外掛生態系統背後那份持續的安全維護責任。

外掛安全性維護和靜態架構的攻擊面落差

把維護責任在誰身上這件事講得更具體一點:動態 CMS 靠外掛擴充功能,代表經營者要為這整個外掛生態系統的安全性,持續承擔更新責任;靜態架構因為每次請求都只是送出現成的 HTML 檔案,背後沒有伺服器端程式在執行,也沒有資料庫連線可以被攻擊,天生就少掉這整類風險。這不是理論推測,而是可以從架構本身的定義直接推導出來。前一節提過,靜態渲染的 HTML 在建置時就已經產生完畢,請求當下不會再執行任何程式,SQL 注入、外掛漏洞這類攻擊,都需要有伺服器端程式碼或資料庫連線才成立,靜態架構等於從根本上不具備這個攻擊面。

國際資安研究機構 Patchstack 在《State of WordPress Security in 2026》白皮書裡提供的數字,說明了這份維護責任有多沉重。2025 年,WordPress 生態系新增的弱點數量達到 11,334 個,比 2024 年成長 42%;其中 91% 出現在外掛裡,9% 出現在佈景主題,核心程式本身只回報 6 個低風險問題。另一個關鍵是揭露與修補之間的時間差,46% 的弱點,在公開揭露的當下,開發者都還沒釋出修補;而高風險弱點一旦被大規模利用,加權中位數只要 5 小時,也就是說,約半數高風險弱點在揭露後 24 小時內就會遭到攻擊。這代表選擇動態 CMS 加外掛生態系統,就等於選了一份需要有人持續盯著更新、盯著修補的長期工作,不是裝完外掛就能放著不管。

2025 年 WordPress 生態系新增的弱點有 91% 出現在外掛、9% 在佈景主題,核心程式本身只回報 6 個低風險問題
WordPress 的安全維護責任幾乎都落在外掛生態系統,核心程式相對穩固(資料來源:Patchstack)。

相對地,靜態架構省掉了這份風險,卻也換來另一個限制,它沒辦法用裝一個外掛的方式,快速加上一個新功能,這個限制在內容編輯彈性上感受最直接。

行銷團隊能不能自己上稿,上線仍要等建置跑完

同一篇文章、同一則活動公告,換成兩種架構,誰能自己上線、要等多久才會真的出現在網站上,落差相當大。這件事跟前面談的建置門檻是同一條線,但落在行銷團隊或非工程背景的人身上,體感又更直接。

早期的靜態網站產生器,內容編輯方式幾乎等於改檔案,寫作者要打開一個 Markdown 檔案或設定檔,改完用版本控制系統送出變更,再等建置流程跑完。對工程師來說這套流程很自然,但對非工程背景的人,光是打開一個檔案改文字、再用版本控制系統提交這件事,就已經構成一道實際的操作門檻,更別提還要學會分辨哪個檔案對應網站上哪個頁面。

這個缺口後來有了折衷做法,搭配一套獨立的內容管理系統(headless CMS),單獨給編輯者一個視覺化介面去寫內容,靜態前端則另外從這套系統把內容抓進來組頁面,寫作介面跟前端顯示這兩件事被拆開處理。這不是空想出來的理論選項,Jamstack Community Survey 2022 這份調查就顯示,實務社群裡已經有一定規模在採用這種做法。甚至 WordPress 自己,也可以只當內容倉庫使用。調查裡,傳統一體式使用的 WordPress 佔 37%,但開發者滿意度評分只有 0.5,量表中偏低;把 WordPress 改成只負責存內容、透過 API 讓其他系統把資料抓走的 headless/API 模式,使用比例是 22%,滿意度評分卻拉高到 1.0,是傳統用法的兩倍。這說明就算留在同一套系統裡,只要把後台好編輯和前端要快這兩件事分開處理,開發者的評價就會明顯不同。

不過,就算裝上了視覺化編輯介面,靜態架構仍然有一道動態 CMS 沒有的關卡,內容存檔之後,不會馬上出現在網站上。Next.js 官方文件在說明「Static Export」這種純靜態匯出模式的限制時明講,這種模式不支援 ISR 這類增量更新機制,也就是純靜態匯出的網站,背景沒有伺服器在替你重新產生頁面,內容一旦更新,必須靠重新建置整個網站、或觸發部分重建,才會反映到線上。這跟動態 CMS 存檔就即時生效的體驗完全不同,對行銷團隊來說,就是發完公告要等建置流程跑完才看得到,跟按下發布馬上就上線的差別。

真實速度差異存在,但沒有行銷話術講得那麼絕對

靜態架構在效能上確實有結構性的優勢,這點從第一節就講得很清楚,HTML 在使用者請求之前就已經產生完畢,可以直接從 CDN 邊緣節點送出。Google 官方 web.dev 的說明也印證了這一點:靜態渲染「achieves a consistently fast TTFB」,還帶來一個更快的 FCP、更低的 TBT 與 INP;相對地,伺服器端即時渲染因為要在請求當下動態產生頁面,「generating pages on the server takes time, which can increase your page’s TTFB」。原理上,靜態架構確實比較快。

但實際數據顯示的落差,遠比坊間常聽到靜態網站快兩三倍這種說法溫和許多,真正決定一個網站快不快的,往往是優化有沒有做到位,而不是選了哪一種架構。

Core Web Vitals 通過率的實際落差

把上面的原理換成真實使用者的資料來看,差距確實存在,但幅度沒有想像中誇張。HTTP Archive《Web Almanac》2024 年 Jamstack 章節,用 Google 官方定義的 Core Web Vitals 全部通過標準衡量,也就是 LCP 於 2.5 秒內、CLS 低於 0.1、INP 於 200 毫秒內,都以 75% 使用者達標為門檻:靜態預渲染架構的網站有 41% 全部通過;混合渲染架構是 31%;動態渲染架構,多數傳統 CMS 屬於這一類,是 33%。

換算下來,靜態預渲染與動態渲染之間的落差是 41% 對 33%,差距落在 8 個百分點左右,是真實存在的優勢,但不是坊間常聽到的快兩三倍那種誇張說法。這份涵蓋數百萬個網站的真實使用者資料,比單一測試案例更能說明問題,選架構這件事,架構本身給的優勢只是一個起跑點,不是最終成績。

WordPress 的優化空間決定它能不能追上

接下來的問題自然是,動態 CMS 有沒有機會把這 8 個百分點的落差追回來?HTTP Archive《Web Almanac》2024 年 CMS 章節的數字顯示,答案是肯定的,而且正在發生。WordPress 整體的 Core Web Vitals 通過率,2024 年來到 40%,比 2023 年的 28% 成長了 12 個百分點;行動裝置頁面重量中位數約 2.0 MB,JavaScript 使用量中位數是 528 KB。拿這個數字對照同期的 Wix(1,462 KB)與 Squarespace(1,314 KB),WordPress 的 JavaScript 用量其實不算最重,說明拖慢它的主因,並不是天生就載了大量前端程式碼。

把這個 40% 拿回去對照上一節動態渲染架構平均 33%,WordPress 整體的表現其實已經略高於同類架構的平均值,而且比前一年進步得相當明顯。這說明有沒有把優化做到位,比選了哪一種架構更能決定一個網站快不快,架構決定的是優化的天花板落在哪裡、要花多少力氣才能碰到那個天花板,不是決定終點的唯一因素。

Core Web Vitals 全通過率:靜態預渲染 41%、WordPress 整體 40%、動態渲染平均 33%、混合渲染 31%,落差約 8 個百分點
靜態架構的速度優勢真實存在,但只領先約 8 個百分點,WordPress 整體 40% 甚至高於動態架構平均(資料來源:HTTP Archive Web Almanac 2024)。

網站規模與更新頻率比種類更決定架構選擇

與其問這個網站是部落格、電商還是品牌官網,該用哪種架構,不如換一個角度問:這個網站有多少頁面、內容多常變動。這兩個變數,才是真正決定靜態架構好不好用的關鍵,而且這套技術本身,也正在往消弭這個限制的方向演進。前面幾節談的速度、安全、編輯彈性,最後都會落到這兩個變數上,決定哪一種取捨對某個網站比較划算。

頁面數量增加會拉長靜態建置時間

純靜態架構有一個天生的瓶頸,建置這個動作,是把全站每一個頁面都重新產生一次。頁數一多,從改完內容到新版本真正部署上線之間要等的時間,就會被拉長,網站只有幾十頁時幾乎無感,但頁面量一旦衝到成千上萬,這道等待就會變成實際的維運痛點。

Astro 官方部落格在〈Astro 7.2〉的發布說明裡,直接承認了這個既有問題:「Until now Astro re-rendered every static page on every build, even when nothing about that page had changed.」,也就是即便只改了一個頁面的內容,過去的建置流程也會把全站所有預渲染頁面重新產生一次。Astro 7.2 因此加入了一項實驗性的增量靜態建置機制,透過比對程式碼與資料是否變動,來決定某個頁面能不能跳過重新渲染。官方也坦白說明,這仍是「an early, experimental feature」,目前還在收集真實網站的使用回饋,並未公布具體的效能提升數字。

增量建置與混合渲染正在補上更新即時性

純靜態架構歷史上另一個吃力的地方,是面對頻繁變動的內容,電商庫存數量、即時公告、留言互動這類隨時可能改變的資料,純靜態建置時就固定內容的邏輯很難跟得上。Next.js 的增量靜態再生(ISR)與 Astro 的混合渲染模式,就是為了補上這塊弱點而生。

Next.js 官方文件說明,ISR 讓開發者能「update static content without rebuilding the entire site」,也能「handle large amounts of content pages without long next build times」,也就是不必重建整個網站就能更新靜態內容,也能處理大量內容頁面而不用忍受漫長的建置時間。它的運作機制是設定一個 revalidate 秒數,例如 60 秒,超過這段時間後,下一個造訪者仍然會先拿到快取裡的舊頁面,維持即時回應,同時系統在背景重新產生新版頁面,之後造訪的人才會拿到更新後的版本,這種模式叫 stale-while-revalidate。不過官方文件也明列限制,「ISR is not supported when creating a Static Export」,要用上 ISR,就不能是最單純的靜態匯出模式,得靠 Node.js 伺服器或平台專屬的介接程式才能支援,例如部署在 Vercel 這類平台上。

這說明靜態網站產生器到了現在,已經不是全站一次建置到底的單一選項,而是可以依內容變動頻率分層處理:不常變動的頁面維持純靜態,常變動的頁面改用 ISR 或混合渲染,兩者混搭在同一個網站裡運作。

WordPress 也能接上靜態前端,兩種架構未必二選一

把前面幾節的線索整理起來,這篇真正想幫你判斷的,從來不是靜態或動態、兩個選一個,而是三件事:這個網站以後會長到多少頁面、內容多久要換一次、團隊裡有沒有人願意碰命令列與部署流程。規模小、內容更新不頻繁,靜態網站產生器的效能優勢與安全性優勢會被放大;規模大、內容天天在動、團隊裡沒有工程資源,動態 CMS 的即時編輯與外掛生態系統,反而是省下大量摩擦的那一邊。

依頁面規模、更新頻率與團隊工程資源三個變數,決定該傾向靜態網站產生器、動態 CMS 或兩者混合的做法
選架構不必二選一,先看頁面規模、更新頻率與團隊工程資源,再決定偏靜態、偏動態,還是走混合做法。

實務上還有一個很多人沒想過的選項,WordPress 本身也可以只當內容倉庫使用,前台改用靜態方式產生頁面,把兩種架構的優點兜在一起。Jamstack Community Survey 2022 那份調查已經證明,這不是空想,WordPress 以 headless/API 模式被使用的比例達到 22%,開發者滿意度評分 1.0,高於傳統一體式用法的 0.5,說明把 WordPress 當內容管理後台、前台另外用靜態方式產生頁面這種混合做法,已經在實務社群裡有一定規模的採用。呼應前面談速度的那一節,混合渲染架構在 HTTP Archive 2024 年的資料裡,Core Web Vitals 通過率是 31%,雖然略低於純靜態預渲染的 41%,但仍高於本文一開始定義的傳統動態 CMS 平均值,動態渲染平均 33%、WordPress 整體則是 40%,落在同一個區間,混合式架構其實是效能與彈性都有一定水準的中間選項,不是各方面都打折扣的妥協。

下一次要決定網站架構時,與其先問哪一種比較快,不如先把這三個問題攤開來看:頁面規模、更新頻率、團隊裡的工程資源。靜態網站產生器與動態 CMS 之間的答案,往往不是二選一,而是一個依實際情況調整比重的組合。

資料來源
  1. Rendering on the Web — Google
  2. Why Astro — Astro
  3. 2024 Web Almanac: Jamstack — HTTP Archive
  4. 2024 Web Almanac: CMS — HTTP Archive
  5. Usage Statistics and Market Share of Content Management Systems — W3Techs
  6. State of WordPress Security in 2026 — Patchstack
  7. Understand JavaScript SEO Basics — Google Search Central
  8. Astro 7.2 — Astro
  9. Incremental Static Regeneration (ISR) — Next.js
  10. Jamstack Community Survey 2022 — Jamstack