
網站功能用現成模組還是客製開發?從流程例外與長期維運判斷
從流程例外、資料連動、後續改動與失敗影響,判斷網站功能適合成熟模組、客製外掛,或兩者並用的混合架構。
文章導讀
一個功能要不要客製,看的是你們公司的流程。重點有四個:例外多常發生、牽動哪些資料、規則還會不會改、出錯的代價有多大。
- 客製的範圍愈集中愈好。先用模組的設定和正式的延伸介面,真的承接不了,才寫獨立的客製功能。
- 外掛的選用與設定、客製程式、測試和版本更新,由維護團隊統一執行;你們公司提供商業規則和驗收情境。
- 上線之後,現成模組和客製功能一起納入更新、備份與監看。
網站功能要用現成模組還是客製開發?多數時候,答案是兩個一起用。大家都一樣的部分交給成熟模組,你們公司特有的規則再客製。難的是分界線畫在哪裡。同樣叫「會員」,有的網站只分登入和未登入。有的會員等級,會影響價格、付款方式和看得到的商品,還牽涉業務歸屬。這篇從流程裡的例外開始,拆解這條線怎麼畫。
功能需求通常從營運例外長出來
網站要加預約、報名或會員功能時,我們最常被問到的第一句話是:「有沒有現成的外掛?」可是功能很少一開始就有完整規格。它通常先是一個營運上的需求。像是讓客戶線上預約、讓會員登入後看到專屬內容,或是讓不同地區用不同的配送方式。也可能是訂單完成後,要把資料送進內部系統。流程真的跑起來,例外才一個一個冒出來。
拿「線上報名」來說,標準路徑是選活動、填資料、付款、收到通知,這一段大多數網站都一樣。你們實際的規則,可能還有候補、團體報名和資格審核,也可能依身分收不同價格。名額要跨場次調整,取消後還有後續要處理。系統之間的差異,就出在後面這一段。
偶爾出現、現有流程吸收得了的例外,可以先留在人工處理。已經反覆佔用人力、造成錯誤,或成了你們競爭優勢的規則,才值得寫進系統。我們很常看到的狀況是,同一個例外,同事用 Excel 默默補了好幾年。大家早就習慣,沒有人把它當成需求提出來。
需求先別寫成「要會員系統」或「要預約功能」。把使用者從開始到完成會經過的狀態寫下來,再寫你們內部怎麼接著處理。標準和客製的分界,會在這份流程裡出現。
現成模組真正提供的是成熟基本盤

現成模組的價值,在於它已經整理好大量共通情境。表單處理欄位、驗證和送出;購物車處理商品、訂單和付款狀態;會員功能處理登入、帳號和權限。成熟的工具通常持續在更新,有文件,也累積了相容性的經驗。團隊可以把力氣放在你們真正不同的地方。
在 WordPress 裡,核心負責內容與使用者這些基礎能力,主題負責呈現。功能模組和外掛,再擴充表單、會員、購物車、SEO 等需求。選哪一個模組,參考的做法是先看四件事。這個元件是不是還有人在維護?資料怎麼存?和現有架構相不相容?之後還能不能擴充?評估完,再由我們安裝、設定和測試,這些都不是你們需要自己操作的工作。
標準化還有一個好處。登入、訂單和通知這些資料與狀態,已經被很多網站反覆驗證過,不必每個網站重新發明一次。如果你們的商業差異不在這些底層功能,這樣做保有足夠彈性,維運的邊界也更清楚。
| 適合優先使用成熟模組 | 需要進一步評估客製 |
|---|---|
| 欄位、狀態與流程符合常見情境 | 同一功能因客戶、商品或部門走不同規則 |
| 資料主要留在網站內使用 | 資料要查詢、回寫或同步其他系統 |
| 改動集中在內容與顯示方式 | 改動會影響價格、資格、訂單或交付 |
| 例外少,現有設定能清楚承接 | 例外反覆發生,人工補流程已成為日常 |
模組的邊界從哪裡來
現成模組要服務各式各樣的網站,所以會選比較普遍的資料模型和設定方式。你們的規則剛好落在這個範圍裡,它就能穩定承接。需求一旦偏離標準路徑,碰到限制也很正常,這個產品本來就沒打算涵蓋每一家公司的做法。
常見的邊界有三種:
- 顯示能改,計算不能改:版面可以換,卻沒辦法依多重身分和合約條件計價。
- 單一流程能設定,跨流程就不一致:會員等級變了,購物車、內容權限和業務通知卻沒有跟著同步。
- 資料能匯出,卻不能即時回寫:需要的時候,資料沒辦法馬上送進其他系統。
如果只是想讓畫面不一樣,不必把整個功能重寫。差異如果落在你們每天怎麼成交、審核、履約和追蹤,就不適合把流程硬塞進不合的欄位。時間一久,人工繞路只會愈來愈多。評估時要確認的,是這條商業規則該放在哪一層。
設定、延伸與客製開發是三個深度
同一個需求,維護團隊處理的深度分三層。最淺的是既有設定,像是開關一種通知、調整欄位。再深一點,是用模組提供的正式延伸介面,加上條件或動作。最深的,才是建立獨立的客製功能和資料流程。維護團隊會先用穩定邊界內的方法,不直接改動原始元件,之後更新時路徑才清楚。
用四個維度判斷要不要客製

把需求放到下面四個維度上看,要不要客製通常就清楚了。四個維度要一起看,只看其中一個容易誤判。
- 例外頻率
一年偶爾一次的特殊訂單,和每天都有一部分客戶走不同的價格與審核,是不同層級的事。出現得愈頻繁,人工判斷累積的工作量和出錯機會就愈大,愈值得交給系統。
- 資料連動
一個欄位只在當頁顯示,影響有限。如果它還決定會員權限、訂單金額和發票,甚至庫存、配送與 CRM 的狀態,資料來源、更新時點和失敗處理就要一起設計。
- 後續改動
規則已經穩定,可以精確建模;還在頻繁試驗的,要先保留設定空間,別把沒確認的做法寫死。規劃時要分清不會變的核心規則、由維護團隊調整的參數,以及預期會新增的流程。
- 失敗影響
展示區塊偶爾載入失敗,和價格計算、付款結果、會員資格或庫存回寫出錯,承受的營運風險完全不同。愈接近收入、權益和交付,需求分析、測試、監看與退回機制就要愈完整。
什麼情況值得進入客製開發
客製開發最有價值的地方,是把你們已經確認、標準流程又接不住的規則,變成系統能重複執行的行為。它要能減少重要流程裡的落差,讓資料保持一致,或是把你們獨特的交易與服務方式做出來。下面幾種狀況出現在你們的流程裡,就值得認真評估:
- 不同身分的客戶,看到的內容、價格、付款方式或購買資格不一樣。
- 訂單、報名或申請在成立前後,有明確的審核和狀態轉換。
- 商品組合、折扣、運費或交付方式,要由好幾個條件一起計算。
- 網站資料要在特定時間點,送進 CRM、ERP、物流或發票系統。
- 人工補流程已經是日常,出錯會影響收入、庫存、履約或客戶關係。
符合其中一項,也不代表整個網站要改成全客製。維護團隊會先確認三件事。成熟模組有沒有正式的擴充點?資料能不能維持原本的結構?客製的部分,能不能圈在一個清楚的邊界裡?連底層的資料模型都不合,才需要重整更大的架構。
驗收客製功能,要用情境來驗,光看畫面不夠。除了正常流程,資料缺漏、重複操作和權限不足也要測。取消、退款,還有外部服務暫時失敗的狀況,也要依功能的風險排進測試。每個情境應該得到什麼結果,由你們確認;維護團隊再把它們轉成可以驗證的測試案例。
混合架構通常比全有或全無更合理

混合架構的分工大致是這樣:WordPress 管內容,成熟模組承接表單、會員、購物車或 SEO 基礎。你們特有的價格、審核、資料回寫和例外流程,再用客製外掛做出清楚的邊界。所有功能不必從零開發,特殊規則也不用硬塞進現成模組。
設計的重點,是資料來源和責任不能重疊。商品和訂單由哪個核心管理?會員資格看哪個狀態判定?外部資料回來時,要更新哪個欄位?這些都要先定義。客製功能透過正式介面讀寫需要的資料,不另外複製一份,兩邊才不會對不上。
這樣安排,之後擴充也比較有路可走。標準層跟著成熟工具取得相容性與安全更新,客製層專心維護你們的差異規則。營運有變化時,維護團隊能判斷要調整的是哪一層,不必把整個網站拆開。
預約、會員與電商會怎麼選
預約情境:單一服務、固定時段、統一名額加上一般通知,成熟模組就能建立基本流程。如果可預約的時段要看地點、設備和服務人員,還跟會員資格或前一個選項連動,情況就不同了。再加上候補、改期和內部排程,客製的部分會進到可用時段的計算和狀態管理。
會員情境:基本的註冊、登入和限定內容,可以沿用標準能力。會員等級可能連動合約價、購買上限和專屬商品,也可能牽涉審核狀態、業務歸屬或有效期限。到這一步,規劃就要往下一層走。身分從哪裡來、權限怎麼給、各個功能怎麼反應,要一起設計。
電商情境:一般的商品、折扣、付款和配送,有成熟的購物車可以承接。同一件商品如果會因為客戶、數量、地區或組合,出現不同的價格和交付條件,標準設定就很難處理。訂單還要審核、拆單或回寫內部系統時,客製外掛會是購物流程裡重要的一層。
報名與申請情境:一般表單能處理資料收集和通知。當資格條件、附件和分階段審核,跟名額、付款、結果通知彼此相連,就需要明確的狀態模型。評估時要看的是每一次狀態改變,會觸發哪些後續工作;表單長短只是表面。
你們公司和維護團隊怎麼分工
功能規劃要商業和技術一起完成,兩邊負責的事不同。你們最清楚規則為什麼存在、哪些例外是真的、出錯會造成什麼影響。維護團隊負責把這些轉成資料與狀態、權限與畫面,再做整合和測試。
| 公司端提供 | 維護團隊承接 |
|---|---|
| 目標、角色、商業規則與優先順序 | 技術架構、資料模型與功能邊界 |
| 正常流程、真實例外與內部處理方式 | 狀態轉換、權限、錯誤處理與外部資料流 |
| 內容、必要資料與驗收結果 | 頁面實作、模組選用與設定、客製開發與測試 |
| 規則變動與營運回饋 | 版本更新、相容確認、退回點、監看與異常處置 |
在我們的代管維護期間,下面這些都由我們統一執行:
- WordPress 頁面編排
- 外掛的安裝與設定
- 客製外掛開發與必要的程式調整
- 版本管理
由同一個團隊執行,修改前就能先評估影響範圍,再連同備份與測試、速度與 SEO、資安一起處理。
你們不需要研究該用哪一支外掛、哪段程式。要說清楚的是:誰、在什麼條件下、對哪筆資料做什麼,完成後應該發生什麼。功能符不符合營運,看的是這幾句話,工具名稱反而其次。
上線後,標準與客製都要一起維護

用了成熟模組,上線後一樣要維護;有客製功能,更新也不見得比較難。影響長期穩定的,是架構有沒有清楚的邊界,以及版本、相依元件、測試和異常有沒有被持續管理。
核心、主題或功能模組要更新之前,維護團隊會先判斷變更的範圍,建立退回點,並避開你們的營運尖峰。更新之後,再沿著關鍵路徑確認:表單與會員、價格與購物車、通知與資料串接,都還正常。客製功能如果走正式介面,也留下明確的測試情境,出問題時比較容易定位。
備份也要跟著功能的深度設計。除了檔案和資料庫,還要清楚哪些資料放在外部系統、不在網站裡。也要知道還原到某個時間點,會產生什麼樣的狀態落差。備份的頻率、存放位置、版本和還原驗證,由維護團隊持續管理。你們要提供的,是營運上的判斷:哪些訂單、申請或會員異動最不能遺失。
業務一調整,內容和活動頁由你們依檔期提出,維護團隊完成頁面與設定。系統更新與相容性、備份、資安與監看,則是另一條線,不論這個月有沒有新需求,都持續在跑。兩件事分開管理,功能擴充才不會打亂日常的穩定。
我們怎麼規劃模組與客製功能
規劃功能時,可以請負責的同事,挑一筆最近處理起來最麻煩的訂單或報名,從頭講一遍。從客戶下單到結案,講到「這裡要另外手動處理」的地方,多半就是標準模組和客製的分界。
接著把這幾個手動的點放到四個維度上看,再決定用設定、延伸還是客製來處理。我們不會一開始就把需求推向全客製,也不會為了沿用現成功能,硬改你們的商業規則。
功能上線後,會一起納入年度維護代管。版本更新與相容測試、備份、速度與 SEO,還有異常處置,都由同一個團隊持續處理。
把特殊流程做成能長期運作的功能
如果現有購物車、會員、預約或報名流程已經需要大量人工補充,把正常路徑、例外規則與資料去向告訴我們。我們可以評估哪些能力沿用成熟模組,哪些部分以客製外掛完成,並納入後續維護。
若需求主要是常見內容、表單、課程、付款或輕電商模組,可先查看 Site Now 現有方案;需要特殊條件、狀態或系統回寫時,再由 SC-ICG 進行客製開發。
Site Now 結帳時輸入折扣碼 kevin2000 可使用專屬優惠;實際方案與優惠內容以結帳頁為準。
常見問題
先用現成模組上線,之後再改成客製,可行嗎?
可行,但第一版就要想好資料怎麼延續。先用模組上線,能早點看到真實的使用狀況,確認哪些例外真的常發生。之後改成客製時,最費工的通常是資料:模組存資料的方式,未必符合客製功能的結構,需要轉換和驗證。第一版就留意欄位和狀態的設計,之後轉換的範圍也比較好掌握。
網站用的現成模組停止更新了,會有什麼影響?
功能短期內多半還能運作,但相容性和資安修補,會停在它最後一次更新的那天。WordPress 核心、PHP 和其他模組都持續在更新,停更的元件遲早會跟不上。維護團隊會評估是換成仍有人維護的模組,還是改由客製功能承接,並把資料搬移和測試一起排進更新計畫。
客製功能的費用,主要花在哪裡?
主要花在規則和例外,畫面反而是比較小的一塊。同樣是報名功能,只有一種身分、一種價格,和要處理候補、團體報名、多種身分價格,工作量差很多。另外還有測試情境、錯誤處理,以及上線後每次更新的相容確認。實際費用依需求範圍和專案階段而定。
客製功能會拖慢網站速度嗎?
影響大小取決於寫法,和是不是客製沒有必然關係。拖慢速度的,通常是每次開頁都重新查一次資料、在用不到的頁面也載入程式,或是同步等待外部服務回應。客製功能只在需要的頁面執行、查詢結果適當快取,對速度的影響就小得多。參考的做法是上線前量測關鍵頁面,比對加入功能前後的差異。
規劃客製功能時,公司內部該派誰參與?
最好是每天實際處理這個流程的同事,再加上一位能做決定的主管。前者知道例外怎麼發生、現在怎麼補;後者能決定規則要不要改、優先順序怎麼排。只有主管出席,常會漏掉現場的例外;只有執行的同事,規則改不改又沒有人能拍板。
延伸閱讀
瀏覽全部網站知識
網站入門WordPress 只能做套版網站嗎?模組化建置、客製設計與外掛開發的差別
電商與金流開店平台、WordPress 購物車還是客製電商?判斷點不只是預算
方案與規劃網站架設費用到底差在哪裡?從一次性建置到每年維運的成本地圖其他相關連結