WooCommerce 商店的主機需求:為什麼一般 WordPress 主機會不夠
WooCommerce 只是一個外掛,但裝上去之後主機的負擔會換一個等級。這篇說明購物車為什麼不能快取、資料庫為什麼開始頻繁寫入,以及該看哪個規格才是對的。
🚀 想直接開始?一鍵部署你的專屬服務
免架伺服器、獨立容器、自動 SSL、月付不綁約。
WooCommerce 是一個 WordPress 外掛,安裝過程跟裝任何外掛沒有兩樣。但它裝上去之後,這個網站對主機的要求就換了一個等級。
很多人是在辦第一次促銷活動的時候發現這件事的。
三個結構性的差異
一般的 WordPress 網站——部落格、形象官網、作品集——本質上是唯讀的。訪客只是在看你已經寫好的東西。商店不是。
一、購物車與結帳頁不能快取
這是最關鍵的一點。一般 WordPress 網站能夠用便宜主機撐住不少流量,靠的是整頁快取:頁面產生一次,之後所有人看到的都是同一份現成的 HTML,PHP 根本不用執行。
但商店有三個頁面永遠不能這樣做——購物車、結帳、我的帳戶。這三頁的內容每個人都不一樣,而且每一秒都可能改變。它們必須每次即時產生。
結論很直接:快取救不了商店網站的關鍵頁面。這些頁面的速度直接由 CPU 決定,而它們正好是最接近成交的那幾頁。
二、資料庫從唯讀變成頻繁寫入
瀏覽型網站幾乎只讀不寫。商店每一個動作都在寫入:加入購物車、更新數量、產生訂單、扣減庫存、記錄工作階段。
WooCommerce 還會大量使用 transient(暫存資料)與 wp_options 資料表。商店跑久了,這張表會膨脹,而它是每一次頁面載入都要讀的。這是很多商店「用了半年之後突然變慢」的真正原因,跟訪客數沒有關係。
三、流量是尖峰型,不是平均型
部落格的流量是平的。商店不是——廣告開跑、電子報寄出、直播導購、雙十一,流量會在幾分鐘內衝上來,然後幾小時後散掉。
看月平均流量選主機,在尖峰的那幾分鐘會失敗。而那幾分鐘正是你花錢買流量換來的。
所以該看哪個規格
直覺會去看儲存空間,因為那是價目表上最好懂的數字。但商店網站真正的瓶頸幾乎不在硬碟。
| 規格 | 對商店的重要性 | 原因 |
|---|---|---|
| CPU | 最高 | 結帳頁不能快取,每次都要即時運算 |
| 物件快取 | 高 | 減少重複的資料庫查詢,對寫入頻繁的站差距明顯 |
| 記憶體 | 中 | 外掛越多吃越兇,WooCommerce 本身就不輕 |
| 儲存空間 | 低 | 商品圖片佔大宗,但很少是瓶頸 |
RoamerHost 的兩個 WordPress 方案都可以安裝 WooCommerce,差別在運算資源:標準版 NT$299/月(1.5 vCPU/10 GB)、進階版 NT$499/月(2 vCPU/20 GB)。商店建議從進階版開始,理由就是上面那張表的第一列。
但不是每間商店都需要更好的主機
要誠實。如果你的狀況是下面這幾種,標準方案就夠了,不用多花錢:
- 商品數量少、訂單是個位數。一天五筆訂單的商店,結帳頁的運算量根本不構成負擔。
- 不做促銷活動、沒有廣告投放。沒有尖峰,就不需要為尖峰付費。
- 賣的是數位商品或預購。沒有即時庫存扣減,寫入頻率低很多。
商店網站升級主機的正確時機,是你開始花錢買流量的時候,不是開店的時候。
判斷表
| 你的狀況 | 建議 |
|---|---|
| 剛開店,先驗證有沒有人買 | 標準版就好,別預先投資 |
| 有在投廣告或做檔期促銷 | 進階版——尖峰那幾分鐘最貴 |
| 商品數百項以上、有變化型商品 | 進階版——變化型商品的查詢成本高很多 |
| 商店已經在跑但越來越慢 | 先看下一段,可能不用換方案 |
變慢的時候,先查外掛
商店網站的外掛通常比一般網站多——金流、物流、發票、行銷、評價、會員。每一個都在每次請求時執行。
而商店的外掛還有一個一般網站沒有的問題:很多電商外掛會在後台掛排程工作,同步庫存、寄提醒信、跑報表。這些排程在背景吃掉的資源,訪客看不到,但會反映在結帳頁的速度上。
網站變慢的時候,先停掉一半的外掛測測看,再決定要不要升級方案。這個測試不用錢,而且很常直接找到答案。