先做這件事
WordPress 外掛殘留:不要在沒有備份時連續試錯
停用通常只停止執行,不一定刪除資料。外掛可能保留選項、自訂資料表、排程、角色與上傳檔,方便重新啟用或依法保存。
本文聚焦「先確認資料擁有者與重新啟用需求,不用通用清理工具盲刪。」。對應的使用情境是:停用或刪除外掛後,設定、排程或資料仍存在。。排查時請保存每一步的時間、畫面與日誌差異,才能把同時發生但無關的變更排除。
排查原則:先保存錯誤與現況,再從低風險、可回復的檢查開始;一次只改一個變因。
問題症狀
- wp_options 仍有外掛前綴
- WP-Cron 仍出現舊 hook
- 刪除外掛後資料表與上傳資料夾仍在
先用一個可重複的操作描述問題:哪個網址、哪個角色、哪個裝置,以及錯誤出現前最後成功的時間。畫面相同不代表根因相同。
可能原因
- 01外掛設計刻意保留資料。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
- 02卸載程序未執行或權限不足。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
- 03多站環境只清理部分網站。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。

修改前備份
完整備份資料庫與 wp-content,上傳外掛原版本與設定匯出;記錄準備刪除的表、選項與排程。
備份需放在站外,並至少檢查壓縮檔能開啟、資料庫能解析、版本清單完整;檔名要包含網站與時間。
由低風險到高風險的排查順序
-
1. 閱讀外掛官方卸載文件
這一步保持唯讀或可快速回復,先蒐集證據再改設定。 -
2. 在 staging 重新安裝同版本確認資料用途
這一步保持唯讀或可快速回復,先蒐集證據再改設定。 -
3. 列出資料表、選項、cron、角色與檔案
每完成一步就重測同一個最小重現,確認問題是否改變。 -
4. 使用外掛卸載機制優先
每完成一步就重測同一個最小重現,確認問題是否改變。 -
5. 小批量清除後重測登入、排程與資料
只把已在測試環境通過的最小變更套用到正式站,並立刻跑回歸測試。
排查過程一次只處理一層;每一步都用同一個失敗案例重測,結果沒變就回復該步再前進。
如何確認修復成功
外掛相關排程不再執行,網站與其他外掛正常,備份仍可還原歷史資料。
- 以原本的最小重現步驟再次測試。
- 檢查首頁、登入、REST API、表單與網站最重要的交易流程。
- 查看 PHP error log、瀏覽器 Console 與 Network 是否新增錯誤。
- 以 390px 手機寬度確認沒有版面級橫向溢位。
把症狀與證據對成一條排查路徑
| 目前看到的症狀 | 先驗證的原因 | 最小安全動作 |
|---|---|---|
| wp_options 仍有外掛前綴 | 外掛設計刻意保留資料 | 閱讀外掛官方卸載文件 |
| WP-Cron 仍出現舊 hook | 卸載程序未執行或權限不足 | 在 staging 重新安裝同版本確認資料用途 |
| 刪除外掛後資料表與上傳資料夾仍在 | 多站環境只清理部分網站 | 列出資料表、選項、cron、角色與檔案 |
這張表不是用來直接判定根因,而是把「看到什麼、要查什麼、哪個動作可回復」放在同一列。若第一列的證據不成立,就不要跳到高風險修改。
如何還原
匯回被刪除的資料表或選項並重新安裝原版本;不確定欄位關聯時不要只還原部分列。
還原後要再次檢查 PHP 日誌、快取與資料一致性;只看到首頁恢復,仍不足以證明背景排程與表單正常。
何時應停止自行操作
若資料涉及訂單、會員、授權、稅務或無法確認擁有者,停止直接刪除。
停止不是放棄,而是避免把可復原的錯誤變成停機、資料損失或資安事件。準備好時間線、備份、錯誤日誌與已嘗試步驟,能顯著縮短專業人員的診斷時間。
常見問題
可以直接在正式站測試嗎?
不建議。先備份並在測試環境重現,正式站只套用已驗證的最小變更。
需要關閉所有外掛嗎?
不應在沒有計畫時一次關閉。先保存清單,再用隔離或健康檢查方式逐步排除。
修好後要做什麼?
清除必要快取、重測主要流程、保存變更紀錄並確認監控沒有新錯誤。
官方文件與查核來源
以下文件用於核對 WordPress、WooCommerce、PHP 或資料庫行為。第三方外掛與主機設定仍需查閱該產品當前版本的正式文件。
