Cloudways WooCommerce:從架設小型網路商店到將購物車與結帳頁排除於快取之外

Cloudways WooCommerce 是在 Cloudways 伺服器的 WordPress 應用程式上安裝 WooCommerce 外掛來經營的網路商店。為了測試小店的網路商店,在 Vultr 首爾 1GB 測試伺服器的 WordPress 安裝了 WooCommerce,一路做到測試訂單。購物車、結帳與我的帳號頁面已自動排除於快取之外,商品頁的首位元組也藉由 Breeze 快取從 532.4ms 降到 54.9ms。
1️⃣ 在 Cloudways 安裝 WooCommerce
網路商店看似要另外建立專用的應用程式,但只要在現有的 WordPress 應用程式加入 WooCommerce 外掛,商店就開張了。測試伺服器上也沒有建立新的應用程式,而是在既有的 WordPress 應用程式以外掛形式安裝。
安裝時是 透過 SSH 連線到應用程式,再用 wp-cli 執行;也可以從 WordPress 管理後台的新增外掛選單安裝。
wp plugin install woocommerce --activateInstalling the plugin...
Plugin installed successfully.
Activating 'woocommerce'...
Plugin 'woocommerce' activated.
Success: Installed 1 of 1 plugins.安裝與啟用花了 30 秒,外掛資料夾為 72MB。
wp post list --post_type=page --fields=ID,post_title,post_name --format=csvID,post_title,post_name
7,Shop,shop
8,Cart,cart
9,Checkout,checkout
10,My account,my-account
11,Refund and Returns Policy,refund_returns
2,Sample Page,sample-page
3,Privacy Policy,privacy-policyWooCommerce 啟用時建立了商店(Shop)、購物車(Cart)、結帳(Checkout)、我的帳號(My account)與退款政策共五個頁面。
2️⃣ 基本設定:銷售國家、幣別與付款方式
頁面雖已建立,但剛安裝的商店設定為美國加州的地址與美元,韓國的店家就要先從變更銷售國家與幣別開始。
| 設定 | 剛安裝時 | 變更後的值 |
|---|---|---|
| 銷售國家(Country / State) | 美國加州 | 韓國 |
| 幣別(Currency) | 美元(USD) | 韓元(KRW) |
| 銀行轉帳(Direct bank transfer) | 關閉 | 開啟 |
| 支票(Check payments) | 關閉 | 關閉 |
| 貨到付款(Cash on delivery) | 關閉 | 關閉 |
韓元沒有小數,所以把 [Number of decimals] 改成 0,再按 [Save changes] 儲存。剛安裝時有銀行轉帳、支票、貨到付款三種付款方式,為了測試訂單只啟用了銀行轉帳。在畫面上,要在 [Payments] 分頁的 [Take offline payments] 裡按下 [Direct bank transfer] 的 [Enable]。
信用卡付款不在離線付款清單裡。把銷售國家改成韓國後,[Payments] 畫面會出現帶有 [Install] 按鈕的 Visa Acceptance Solutions 與 PayPal Payments,要用信用卡販售,就要安裝這類 金流外掛。
3️⃣ 新增商品與測試訂單:從購物車到銀行轉帳訂單
訂單進來不代表付款已完成。銀行轉帳訂單在確認入帳前,會以 [On hold] 狀態儲存。
測試商品以 15,000 韓元、庫存 10 件上架,再用和訪客一樣的方式放進購物車,以銀行轉帳下單。
wp wc shop_order list --user=1 --fields=id,status,total,payment_method --format=csvid,status,total,payment_method
13,on-hold,15000,bacswp wc product get 12 --user=1 --fields=id,price,stock_quantity --format=csvField,Value
id,12
price,15000
stock_quantity,9訂單記錄為 on-hold 狀態,付款方式為銀行轉帳(bacs),而且還沒付款,庫存就在下單當下從 10 件扣成 9 件。
4️⃣ WooCommerce 快取排除:購物車、結帳與我的帳號網址
頁面快取適合商店與商品頁,卻不適合每位訪客內容都不同的購物車、結帳與我的帳號頁面。把購物車排除在快取之外,就像貨架上的價格標籤可以事先印好,結帳櫃台的收據卻要為每位客人重新列印。即使沒開快取外掛,WooCommerce 也已對這三個頁面送出禁止快取的回應標頭。
curl -sI https://example.com/cart/ | grep -i cache-controlcache-control: no-cache, must-revalidate, max-age=0, private把 Cloudways 應用程式一起安裝的快取外掛 Breeze 以預設值啟用後,設定畫面的排除網址欄位雖然是空的,Breeze 設定檔卻已把這三個網址記錄在排除清單中。
grep -A4 exclude_url wp-content/breeze-config/breeze-config.php 'exclude_url' =>
array (
0 => '/cart/*',
1 => '/checkout/*',
2 => '/my-account/*',從首爾的另一台伺服器對每個網址各請求 10 次,測量首位元組時間(TTFB)的中位數,應用程式的 Varnish 為關閉狀態。
| 地址 | 快取關閉 | Breeze 開啟 |
|---|---|---|
| 商店 /shop/ | 484.7ms | 55.2ms |
| 商品 /product/test-mug/ | 532.4ms | 54.9ms |
| 購物車 /cart/ | 506.7ms | 496.9ms |
| 我的帳號 /my-account/ | 507.4ms | 377.0ms |
開啟 Breeze 後,商店與商品頁約 55ms 就回應,購物車與我的帳號頁則每次都由 PHP 在沒有快取下產生,為 377~497ms。
5️⃣ 在 1GB 測試伺服器確認的範圍:不適合小型商店的情況
即使用快取讓商品頁變快,購物車與結帳仍會在每次下單時由 PHP 處理。這台測試伺服器只用一個商品和一筆測試訂單確認了安裝、下單與快取排除;訂單變多、購物車與結帳請求增加的商店,也要一併考慮 伺服器規格調整。
PHP 版本也是要確認的項目。測試伺服器的 PHP 8.2.34 未達 WooCommerce 官方文件的建議(PHP 8.3 以上),但安裝與下單都能運作。
在 Vultr 首爾 1GB 測試伺服器上,WooCommerce 安裝花了 30 秒,測試訂單以 [On hold] 狀態儲存,商品頁首位元組在 Breeze 下為 54.9ms,購物車則是 496.9ms。下一步是把金流外掛以測試模式連接,再用信用卡重新下一次同樣的訂單。
🔢 FAQ & 推薦內容














ℹ️ 聯盟行銷說明
本站內容包含聯盟行銷連結。訪客透過這些連結購買商品或服務時,本站會從賣家獲得佣金。在這個過程中,購買者支付的金額(遇到活動折扣時金額會降低↓)並不會因此提高。刊登的價格、折扣與庫存資訊以撰寫當時為準,可能與實際情況不同,購買前請向賣家做最後確認。商品的挑選與評價依本站自訂的標準撰寫,是否支付佣金不會影響介紹順序或評價內容。

