WooCommerce HPOS 教學:安全遷移訂單資料與驗證外掛相容性

WooCommerce 高效訂單儲存遷移與相容性驗證的示意圖

High-Performance Order Storage(HPOS)把 WooCommerce 訂單由 WordPress 的 posts 和 postmeta 結構移到專用訂單資料表,減少共用資料表的讀寫負擔並改善擴充能力。新商店通常已預設使用 HPOS,但舊商店在切換前必須核對外掛、自訂程式、同步狀態及實際交易流程,不能只按一下設定便當作完成。

先了解兩套訂單儲存

HPOS 使用專用資料表保存訂單、地址、操作資料和中繼資料。切換期間,一套資料表是 authoritative source,另一套可以作同步副本。管理員必須知道目前哪一套正在讀寫,避免在錯誤資料來源直接修改訂單。

不要把相容模式當成備份

Compatibility mode 可把訂單同步到另一套資料表,主要目的是過渡和支援仍未完全相容的功能。它不是可獨立復原的備份,也不代替檔案、資料庫、異地保存和復原測試。

建立完整擴充清單

列出付款閘道、訂閱、預約、會員、物流、發票、稅務、ERP、CRM、Webhook、報表及自訂程式。逐一查看供應商是否明確聲明支援 HPOS;沒有資料不等於相容,需在測試環境驗證。

找出直接查詢 posts 的程式

舊外掛或程式可能直接讀寫 `wp_posts`、`wp_postmeta` 或使用訂單 post ID 查詢資料。HPOS 啟用後,這些操作可能讀到過時資料。開發者應使用 WooCommerce CRUD API,而不是繞過資料存取層。

建立接近正式站的 Staging

複製目前資料庫、主題、外掛、PHP 版本、物件快取及伺服器設定。測試站要阻止真實電郵、付款和 Webhook 外送,並使用付款沙盒,避免測試訂單觸發真正收款或通知顧客。

先做可復原的完整備份

遷移前備份資料庫和網站檔案,保存到網站主機以外的位置。記錄備份時間、WooCommerce 版本及目前訂單數量,並確認有人懂得在可接受時間內還原。

在測試站啟用同步

到 WooCommerce > Settings > Advanced > Features 查看 Order data storage。舊商店可先維持 WordPress posts tables 為主,開啟 compatibility mode,讓現有訂單逐步同步到 HPOS 資料表。

監察未同步訂單

大型商店可使用官方 WP-CLI 的 `wp wc hpos status`、`count_unmigrated` 和 `sync` 檢查及處理資料。執行前先閱讀目前版本的 `–help`,分批遷移並監察 CPU、資料庫負載、PHP 錯誤及 Scheduled Actions。

驗證遷移資料

不要只看同步工作顯示完成。比較訂單總數、狀態、顧客地址、稅項、運費、折扣、退款、訂單備註和自訂欄位。技術人員可使用目前官方提供的 HPOS verification 指令,再抽查不同年份及不同付款方式的訂單。

測試完整交易生命週期

用每個付款閘道建立訂單,測試成功、失敗、取消、退款和重試。再測庫存扣減與回補、優惠券、稅率、電郵、下載權限、Webhook、物流標籤、後台搜尋和報表。

特別測試訂閱與預約

訂閱續期、試用結束、失敗付款重試和預約狀態依賴背景任務及擴充資料。不能只完成一次結帳便判定相容,要在測試站模擬排程事件並檢查 Scheduled Actions 及相關日誌。

選擇低風險切換時間

正式切換安排在自然低流量時段,通知客服、營運及開發人員,暫停非必要部署。準備即時監察新訂單、付款平台、錯誤日誌、任務佇列和顧客查詢。

把 HPOS 設為主要來源

確認所有待同步資料完成後,選擇 WooCommerce orders tables 作主要儲存。若介面不允許切換,先找出未同步訂單或不相容外掛,不要繞過安全檢查直接改資料庫選項。

保留相容模式觀察

切換後可按官方遷移策略暫時保留同步,重新測試關鍵流程及自然訂單。穩定時間要按交易量和風險決定;停用相容模式前,再確認沒有程式依賴舊 posts 資料。

建立回退與監察方案

記錄何時需要切回 posts tables、如何補同步及由誰批准。持續監察結帳錯誤、訂單缺欄位、重複扣款、Webhook 失敗和報表差異。回退前同樣要先同步,避免遺漏切換後的新訂單。

參考資料

WooCommerce 官方 HPOS 文件:https://developer.woocommerce.com/docs/features/high-performance-order-storage

WooCommerce 官方大型商店遷移指南:https://developer.woocommerce.com/docs/features/orders/high-performance-order-storage/guide-large-store/

WooCommerce 官方 HPOS CLI 文件:https://developer.woocommerce.com/docs/features/orders/high-performance-order-storage/cli-tools/

«
»
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • Cloudways Master Credentials 憑證頁面,IP、帳號及密碼已遮蔽
    July 30, 2026
  • Cloudways 伺服器監察畫面顯示 RAM、CPU、磁碟與頻寬,敏感資料已遮蔽
    July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • July 30, 2026
  • Cloudways Master Credentials 憑證頁面,IP、帳號及密碼已遮蔽
    July 30, 2026
  • Cloudways 伺服器監察畫面顯示 RAM、CPU、磁碟與頻寬,敏感資料已遮蔽
    July 30, 2026