WordPress 資料庫優化教學:5 個步驟解決網站變慢問題

WordPress 網站變慢?從診斷 wp_posts、wp_options 等資料表大小開始,學習如何清理文章修訂版本、暫存資料與外掛殘留,有效執行資料庫優化,提升網站效能與載入速度。

WordPress 資料庫優化資料庫清理WordPress 效能提升wp_options 優化WordPress 網站速度

WordPress 資料庫為什麼越跑越慢?常見肥大原因診斷

當你感覺網站後臺操作遲鈍、前臺頁面載入時間拉長,資料庫往往是首要檢查的關鍵環節。WordPress 資料庫負責儲存所有文章、留言、設定與暫存資料,隨著網站運行,無用的冗餘資料會不斷累積,直接拖慢 SQL 查詢速度並增加伺服器負載。效能問題的根源,常是少數資料行(例如大量的 autoload 設定)佔用了不成比例的空間,而非資料表總筆數。常見的「頭號戰犯」包括:無限增長的文章修訂版本 (Post Revisions)、過期的暫存資料 (Transients)、垃圾留言、已停用外掛的殘留資料表,以及過度膨脹的 wp_options 資料表。

開始清理前:備份與資料庫健康檢查

任何資料庫清理操作都具有不可逆的風險,執行前的備份是保護網站資產的唯一安全網。這個步驟的目的,是先精準定位問題源頭,再決定後續優化方向。

強制備份: 登入你的主機控制檯(如 cPanel)或使用 BackupBuddy、UpdraftPlus 等外掛,執行一次完整的資料庫備份並下載保存。

健康診斷(找出肥大資料表):

  1. 方法一(圖形化介面 - phpMyAdmin): 從主機控制檯進入 phpMyAdmin,選擇你的 WordPress 資料庫。在「結構」分頁下,點擊「大小」欄位進行排序,可以快速識別出佔用空間最大的資料表(通常是 wp_posts、wp_postmeta 或 wp_options)。
  2. 方法二(SQL 語法): 在 phpMyAdmin 的「SQL」分頁中,貼上以下指令,將列出所有資料表的大小(以 MB 為單位):
    SELECT table_name AS "資料表", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "大小 (MB)" FROM information_schema.TABLES WHERE table_schema = "你的資料庫名稱" ORDER BY (data_length + index_length) DESC;

核心清理步驟:5 個關鍵操作

確認問題後,可以按順序執行以下五個核心清理步驟。建議逐項進行,每完成一步都可觀察資料表大小的變化。

  1. 清理文章修訂版本: WordPress 預設會儲存每次編輯的歷史版本,長期累積會導致 wp_posts 資料表急遽膨脹。你可以透過 WP-Optimize 等外掛一鍵清理,或在 wp-config.php 中加入 define('WP_POST_REVISIONS', 5); 來限制僅保留最新 5 個版本,從源頭減少產生量。
  2. 清除暫存資料 (Transients): Transients 是 WordPress 用於暫時儲存資料(例如外掛設定、API 回應)的機制,過期資料若未被及時刪除,同樣會佔用空間。可使用「Transients Manager」外掛查看與刪除,或透過 phpMyAdmin 執行 SQL 語句刪除:DELETE FROM wp_options WHERE option_name LIKE '%_transient_%';
  3. 移除垃圾留言與已刪除項目: 進入後臺「留言」區塊,點選「清空垃圾留言」。同時,檢查「文章」與「頁面」的「回收站」,將不需要的項目永久刪除。
  4. 清理外掛殘留資料: 停用或刪除外掛後,部分外掛會遺留自己的資料表。可參考外掛文件說明,或使用 WP-Optimize 的「資料庫清理」功能來檢查並安全移除這些未使用的資料表。
  5. 優化資料表: 此操作會重新組織資料表結構、回收被標記為刪除的空間,並重建索引,有助於提升查詢效率。在 phpMyAdmin 中勾選所有資料表,從下方功能選單選擇「優化資料表」即可執行。

進階優化:處理 wp_options 資料表肥大問題

如果診斷發現 wp_options 資料表異常龐大,這是一個需要特別關注的信號。問題核心通常在於「autoload」屬性。

聚焦 Autoload: wp_options 中儲存了 WordPress 核心、外掛與主題的設定。其中,autoload 欄位設為 yes 的選項,會在每個頁面載入時被自動讀取。若大量外掛或笨重的設定項被標記為 autoload,將嚴重拖慢全站速度。

檢查 Autoload 資料量: 執行以下 SQL 語句,查詢所有 autoload 資料的總大小:
SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload = 'yes';

設定參考值: 根據公開技術建議,autoload 總大小的理想值應控制在約 800KB 以內。此數值為常見參考標準,實際狀況需結合主機環境判斷。

處理步驟: 查詢結果若遠超參考值,可進一步用 SQL 找出哪些選項佔用最多:SELECT option_name, LENGTH(option_value) as size FROM wp_options WHERE autoload = 'yes' ORDER BY size DESC LIMIT 20; 檢視結果,找出來自已停用或不必要外掛的選項,考慮清理或將其 autoload 屬性改為 no(此操作需謹慎,建議先諮詢開發者或查閱外掛文件)。

工具實戰:使用 WP-Optimize 一鍵優化

對於不熟悉 SQL 操作的站長,使用成熟可靠的外掛是簡化流程的有效方式。WP-Optimize 是一個功能整合且評價良好的選擇。

安裝與設定: 從 WordPress 後臺外掛庫搜尋並安裝「WP-Optimize」。安裝後可在設定頁面中,依需求勾選要清理的項目(如文章修訂、暫存資料、垃圾留言等),並可設定自動清理的排程(例如每月一次)。

功能對應: 該外掛的核心資料庫清理功能,幾乎完全對應上文提到的「核心清理步驟」。它會自動處理修訂版本、暫存資料、垃圾留言的刪除,並可一鍵執行所有資料表的優化操作。

附加價值: 除了資料庫清理,WP-Optimize 還整合了圖片壓縮、頁面快取等功能,從多個層面協助提升網站整體效能。

重要提醒: 即使使用一鍵工具,事前備份與瞭解其運作原理仍然必要。建議首次使用時,先仔細檢查外掛預設勾選的項目,確認符合你的需求後再執行。

清理後:驗證效果與預防措施

完成優化後,需要驗證成果並建立長期維護習慣,防止資料庫再次快速膨脹。

  • 再次檢查資料表大小: 重複執行「資料庫健康檢查」的步驟,對比清理前後各主要資料表(尤其是 wp_posts、wp_options)的大小變化。
  • 監控網站前臺速度: 使用 GTmetrix、Google PageSpeed Insights 等工具,觀察頁面載入時間的變化趨勢。效能的提升是一個綜合結果,資料庫優化是其中重要一環。
  • 設定定期維護: 對於更新頻繁的網站,建議每 1-3 個月執行一次資料庫清理。可以利用 WP-Optimize 設定自動化排程,或每月手動快速檢查一次主要資料表大小。
  • 從源頭減量: 在 wp-config.php 中限制文章修訂版本數量;定期審視已安裝的外掛,停用或刪除不需要的;避免安裝功能重疊的外掛,以減少潛在的資料庫負擔。

資料庫優化是網站整體優化工作中不可或缺的一環。若想更全面地瞭解如何從速度、SEO 與使用者體驗等多個面向提升網站效能,可以參考這篇《網站優化完整指南:速度、SEO、Core Web Vitals 三大支柱(2026)》。而當你發現資料庫查詢速度改善後,頁面載入的關鍵瓶頸可能轉移至前端渲染,例如最大內容繪製時間(LCP),此時便可參閱《LCP優化怎麼做?從診斷最大內容渲染到縮短首屏等待》進行下一階段的優化。

優化 WordPress 資料庫前,最重要的步驟是什麼?

務必先完整備份資料庫。因為資料庫清理(如刪除文章修訂、暫存資料)是不可逆的操作,備份能確保在操作失誤或發生問題時,可以還原網站。

我的 WordPress 後臺變得很慢,一定是資料庫的問題嗎?

資料庫肥大是常見主因之一,但非唯一原因。其他可能包括主機效能不足、PHP 版本過舊、外掛衝突或主題問題。建議先檢查資料庫各資料表大小,並執行基礎優化,再排查其他因素。

使用 WP-Optimize 外掛安全嗎?會不會誤刪重要資料?

WP-Optimize 是廣泛使用且評價良好的外掛,相對安全。它主要清理 WordPress 產生的冗餘資料(如修訂、暫存)。使用前仍建議手動備份,並在外掛設定中仔細檢查勾選的項目,確保不會刪除你可能需要保留的內容。

「wp_options」資料表為什麼那麼大?「autoload」又是什麼?

wp_options 存儲 WordPress 核心、外掛和主題的設定。其中「autoload」設為 yes 的選項,會在每個頁面載入時被讀取。若外掛存入大量此類選項,或選項本身未及時清理,會導致該資料表異常肥大,拖慢全站速度。

清理資料庫後,網站速度一定會變快嗎?

清理資料庫是改善效能的重要一步,尤其當資料庫確實存在大量冗餘資料時。然而,最終效果還取決於主機效能、網站架構、外掛數量等多重因素。建議清理後,使用測速工具(如 GTmetrix)進行前後對比觀察。

多久應該執行一次 WordPress 資料庫優化?

視網站活躍程度而定。對於更新頻繁的網站,建議每 1-3 個月檢查並清理一次。你可以利用 WP-Optimize 等外掛設定自動清理排程,或每月手動快速檢查主要資料表大小。

除了用外掛,有沒有手動清理資料庫的方法?

有。你可以透過主機提供的 phpMyAdmin 登入資料庫,手動執行 SQL 語句來刪除特定類型的資料(如舊的文章修訂),或優化資料表。但手動操作需要一定的技術知識,務必在充分了解 SQL 指令與資料庫結構下進行,並提前備份。