快速答案:停用的外掛不會執行,但檔案還在,有些漏洞不需要啟用就能被利用,而且會拖慢每次的更新盤點。確定不用就刪;不確定的先在測試站刪掉看有沒有東西壞。判斷「沒人維護」看最後更新日期和已測試的 WordPress 版本。
為什麼會這樣 #
外掛越多,互相打架的機率越高,可攻擊的面積也越大。停用外掛的檔案仍可被直接存取,攻擊者掃的是檔案路徑,不看你有沒有啟用。另外很常見的殘留是 -bk、-old 之類的複製目錄,是以前某人手動備份留下的,通常沒人記得。
「沒人維護」的外掛更危險:漏洞公告了也不會有修補版,只能換掉。
怎麼處理 #
- 到「外掛」列表用「已停用」篩選。每一支問三個問題:誰裝的、做什麼用、前台哪裡用到?答不出來的就是候選。
- 判斷是否已停止維護:最後更新超過兩年、外掛頁標示「未與目前 WordPress 版本測試」、原廠網站消失或授權買不到。
- 大型多合一外掛(例如一支做二十件事的電商工具箱)常是相衝來源。先在測試站用功能單一的免費外掛替代,確認後再換。
- 刪除前先備份。刪掉後看前台幾個主要頁面和後台編輯器。有些外掛移除後,後台欄位或 ID 顯示會跟著消失,用小外掛補回即可。
- 注意 Code Snippets:有些客製碼依賴某支外掛,那支外掛更新或停用時,snippet 可能被自動停用,功能就默默壞了(實例見客製碼放子主題還是 Code Snippets)。
- 每次例行維護順手做:清「已停用」、清修訂版本、刪來路不明的複製目錄。
我們實際遇過的情況 #
一家電商站前台回 500,停用一支「多合一」的電商工具箱外掛之後就正常了——這種一支做二十件事的外掛,出事時很難分辨是哪一段在打架。另一個網站停用某支後台管理外掛之後,分類和文章列表的 ID 欄位跟著不見,補裝一支只做「顯示 ID」這件事的小外掛就回來了。
也有客戶直接請我們把沒在用的外掛關掉。方向是對的,但停用只是第一步:檔案還留在主機上,確定不用的最後仍要走到刪除。至於外掛目錄裡那些 -bk、-old 的複製資料夾,查不到來源不代表可以直接刪,先確認正本在哪、前台有沒有在用。
還有一家客戶把維護方案降級時,我們把方案裡才會用到的外掛和程式一併停用。停用了哪些、為什麼停,要留下紀錄,日後要恢復才知道從哪裡開回來。
什麼時候該找人 #
不知道哪些外掛是必要的、外掛之間有相依、或站上有客製程式碼——這種站盲刪一定會壞,而且壞的地方常常不是當下看得到的頁面。
WPTOOLBEAR網站工具熊