2020-10-19閱讀時間 8 分鐘

完整移除WordPress外掛的2個方法,有效減少網站效能負擔

在製作WordPress網站時,常常會對許多功能相似的外掛進行測試。測試完成後,則會將不需要的外掛移除。然而,若僅僅透過網站後台移除外掛,有時可能會遺留下資料夾、資料表、options以及cron jobs等,累積久了則會造成網站肥大,進而導致網站效能下降。本文將分享完整移除WordPress外掛的方法。

為什麼要完整移除WordPress外掛?

在WordPress官方給開發者的外掛手冊(Plugin Handbook)中,有明確說明針對停用外掛及移除外掛等情況應該執行的動作。停用外掛時,應該要刷新快取、暫存以及永久連結;而移除外掛時,則應該要將與外掛相關的資料表、options及cron jobs移除。

然而,往往在移除外掛後,仍然可以在資料庫中發現已移除外掛的資料表,亦或在伺服器中發現相關的資料夾。一般來說,我們將這些外掛移除後遺留下來的資料稱為orphans。遺留資料的原因,可能是開發者為了讓使用者在重新安裝後能夠直接使用原先的設定,也可能只是單純忘了寫入完整移除的程式。無論原因是什麼,這些orphans在長時間的累積下,會造成網站肥大,並導致網站效能下降。

因此,若確定未來不會再使用到該外掛,則應該進行完整的移除。也就是說,除了移除外掛本身外,也應該將遺留下來的orphans一併清除。

如何完整移除WordPress外掛?

在本段落中,將介紹兩種能夠完整將外掛及其相關資料表、options及cron jobs等移除的方法。方法一是依據外掛說明文件的移除步驟;而方法二,則適用於方法一無法完整清除、外掛說明文件無明確說明,以及過去沒有按照說明文件移除外掛但遺留下orphans的情況。需要注意的是,在執行完整移除外掛的步驟時,建議先將網站整體備份,以備不時之需。

方法一:依據外掛說明文件完整移除外掛

雖然外掛內不一定會寫入完整移除的程式,但有些外掛開發者會在其說明文件中,明確描述完整移除外掛的方法。

舉例來說,在Yoast SEO外掛的說明文件中,有明確列出完整移除外掛時需要刪除的資料表。在Wordfence外掛的說明文件中,則提到了外掛中有提供刪除資料表的選項。另外,在WooCommerce的說明文件中,則提到需要先編輯wp-config.php後,再執行外掛移除步驟,才能完整移除所有資料。

由以上可知,外掛開發者所設計的完整移除流程不盡相同。因此,在進行外掛移除前,建議先查看說明文件,了解移除步驟及應刪除的內容。

方法二:移除外掛本身,並搭配WordPress資料庫清理外掛完整移除

在方法一沒有完整移除、外掛開發者沒有提供完整移除外掛的方法,又或者過去沒有按照說明文件移除外掛等情況下,都可以參考方法二的步驟完整移除WordPress外掛。

步驟一:移除外掛本身

此步驟為一般的移除步驟。在網站後台的已安裝外掛列表頁中,點擊移除,即可移除外掛本身。

完整移除WordPress外掛1

步驟二:刪除來自已移除外掛的資料夾

在網站後台按下移除後,外掛就會自伺服器中刪除。然而,有些外掛會將檔案分開存放,在這樣的情況下,即使透過網站後台刪除該外掛,仍然可能出現遺留下來的資料夾。

舉例來說,下圖的網站過去曾安裝過EWWW Image Optimizer外掛,即使該外掛已被刪除,但在plugins資料夾以外,仍然可以看到名為ewww的資料夾。

完整移除WordPress外掛2

步驟三:清理資料庫及cron jobs

最後一步,則是要清理資料庫及cron jobs,共包含以下項目。

  • 資料庫中的孤兒資料表(Orphaned tables)
  • 資料庫中wp_options內的孤兒參數(Orphaned options)
  • Cron jobs

在執行時,最難的地方在於判斷哪些資料屬於orphans,雖然有時可以從名稱找到一些蛛絲馬跡,但仍然會存在難以識別的資料。因此,為了加速作業效率,我們可以透過Advanced DB Cleaner PRO付費外掛,來幫助我們快速識別出orphans,並將其刪除。

以下將分別介紹外掛、使用流程,並說明以免費外掛為基礎的替代方案。

Advanced DB Cleaner PRO外掛介紹

Advanced DB Cleaner是一款資料庫清理及優化的外掛,有免費版本及付費版本。在免費版本中,與其他同類別外掛相同的是,Advanced DB Cleaner可將Revisions、Auto drafts、Trashed posts、Comments、Orphan meta data等資料刪除,以達到優化資料庫的目的,也能夠條列出資料庫中的所有資料表;而與其他同類別外掛相異的是,Advanced DB Cleaner還提供了Options清單以及Cron jobs清單,讓使用者能夠進一步察看及管理。

在付費版本的Advanced DB Cleaner PRO中,進一步將資料表清單、Options清單以及Cron jobs清單中的資料依據Orphans、外掛、主題、WP核心做分類,幫助使用者快速識別,找到需要被刪除的資料。

完整移除WordPress外掛3

Advanced DB Cleaner外掛檔案
Advanced DB Cleaner PRO使用流程

使用Advanced DB Cleaner PRO刪除orphans的過程極為簡單,在安裝完成後,輸入驗證碼,即可完成外掛啟用程序。接著,依序進入General clean-up、Tables、Options、Cron jobs的頁籤,選擇Orphans類別,檢視是否存在錯誤分類的內容後,即可按下刪除,完成刪除已移除外掛相關的資料表、options及cron jobs的步驟。

完整移除WordPress外掛4

替代方案

除了Advanced DB Cleaner PRO這個付費外掛可以執行這個步驟外,其實也可以透過組合幾個免費外掛作為替代方案。在清理孤兒資料表方面,可以使用WP Optimize外掛。在孤兒參數方面,目前僅找到一個年代久遠的Clean Options外掛有提供這方面的功能,經測試過還可以正常使用(測試時間點:2020.10)。而在Cron jobs方面,可以透過WP Crontrol外掛列出所有cron jobs,再手動篩選並刪除。

結論

移除外掛其實並不是在網站後台按下移除而已,還需要注意是否有完整移除,因為若已移除外掛遺留下資料夾、資料表、options以及cron jobs等資料,可能在長時間累積後造成網站肥大而影響效能。完整移除外掛的方法,除了可以參考外掛開發者提供的說明文件外,也可以透過WordPress資料庫清理外掛等來協助處理。

相關文章
WordPress是什麼?超過30%市佔率的內容管理系統(CMS)
3個停用WordPress外掛的方法
製作高效能WordPress網站的Oxygen Builder網站編輯器
客製化文章版面:結合CPT UI及ACF的Elementor Pro實作教學
Dynamic Content for Elementor外掛介紹及動態內容案例
5個好用的Elementor第三方延伸外掛
我不是機器人,在WordPress網站加入Google reCAPTCHA
5個好用的Contact Form 7延伸外掛

分享:
訂閱FirstHatch一起孵,聊聊有興趣的主題