快訊
2026-07-11
Wordpress教學

WordPress 資料庫優化:清修訂版本、transients,還要盯住 autoload 這塊隱形肥肉

約 5 分鐘閱讀

⚡ 站長快讀:核心重點

  • 文章屬性:教學實戰(WordPress 維運)
  • 適用對象:自架 WordPress、後台愈來愈慢、資料庫愈養愈肥的站長
  • 難易度 / 耗時:⭐⭐⭐ / 約 15 分鐘
  • 核心結論:資料庫變慢多半不是「資料太多」,而是每次請求都要載入的 autoload 選項太肥。清修訂版本與 transients 只是基本功,真正該盯的是 wp_options 的 autoload 大小(健康值約 800 KB 以內)。
  • 最重要提醒:動資料庫前一定要先完整備份,操作不可逆。

📌 快速答案

一句話答案:先完整備份資料庫,再依序清掉過期 transients 與多餘的修訂版本(revisions),最後檢查 wp_options 的 autoload 資料大小——這才是拖慢 WordPress 後台的頭號元兇,健康值應控制在約 800 KB 以內。

廣告

🧰 開始前的準備(務必先做)

  • 系統需求:可存取 WordPress 後台;進階操作需能用 phpMyAdmin 或 WP-CLI
  • ⚠️ 最重要:先做一次完整資料庫備份(用 UpdraftPlus、主機的備份功能,或 wp db export)。以下操作會刪除資料、且無法復原,沒有備份請不要往下做。
  • 需要工具:一個資料庫清理外掛(如 WP-Optimize、Advanced Database Cleaner),或 WP-CLI
  • 預計耗時:約 15 分鐘

🔍 為什麼資料庫會愈來愈慢?

很多人以為網站慢是「文章太多」,其實資料筆數本身很少是瓶頸。真正的兇手通常是三種看不見的垃圾:修訂版本(每次存檔都留一份舊稿)、過期的 transients(外掛留下的暫存)、以及膨脹的 autoload 選項。其中最關鍵的是最後一項——WordPress 每一次頁面請求,都會把 wp_options 裡標記為 autoload = yes 的資料全部載入記憶體。當外掛不斷往這裡塞東西、又忘了清,這塊資料愈養愈大,每一次請求都被拖慢,後台尤其明顯。以下就從最基本清到最關鍵。


🛠️ 實戰步驟

步驟一:先備份(不可逆,別跳過)

再強調一次:任何清理前先完整備份資料庫。最快的方式是 WP-CLI:

wp db export backup-before-cleanup.sql

或用 UpdraftPlus 之類的外掛做一次完整備份。確認備份檔存在、可下載,再繼續。

步驟二:治本——限制修訂版本數量

與其事後狂刪,不如先關掉源頭。在 wp-config.php 加一行,把每篇文章保留的修訂版本上限設成合理值(例如 10):

define( 'WP_POST_REVISIONS', 10 );

這樣未來每篇最多留 10 版,不會再無限累積。

步驟三:清掉過期 transients 與舊修訂版本

用外掛(WP-Optimize / Advanced Database Cleaner)勾選「過期 transients」「文章修訂版本」「垃圾留言」「已刪除項目」清理即可。習慣指令的人用 WP-CLI 更快:

廣告
wp transient delete --all
wp post delete $(wp post list --post_type=revision --format=ids) --force

步驟四:重點——揪出膨脹的 autoload

這一步最多人忽略,卻最有感。到後台「工具 → 網站健康 → 資訊」展開資料庫區段,或用 SQL 查 autoload 總量:

SELECT ROUND(SUM(LENGTH(option_value))/1024) AS autoload_kb
FROM wp_options WHERE autoload = 'yes';

【建議】這個數字控制在約 800 KB 以內較健康(WordPress 網站健康的參考門檻)。若破 MB 級,通常是某些外掛把大量資料設成 autoload。找出佔用最大的選項:

SELECT option_name, ROUND(LENGTH(option_value)/1024) AS kb
FROM wp_options WHERE autoload = 'yes' ORDER BY kb DESC LIMIT 20;

確認是已停用外掛留下的殘骸,再考慮把它的 autoload 改成 no 或刪除(改之前一樣先備份)。

步驟五:重整資料表

清完後執行一次資料表最佳化,回收被刪資料留下的空間:

wp db optimize

沒有 WP-CLI 的話,在 phpMyAdmin 選取資料表 → 「最佳化資料表(OPTIMIZE TABLE)」也可以。


📊 清理優先順序

順序項目有感程度
0完整備份必做
1autoload 選項瘦身★★★ 最有感
2過期 transients★★
3修訂版本 / 垃圾留言★★
4OPTIMIZE TABLE 重整

💡 總結

WordPress 資料庫優化的重點順序,和多數教學相反:大家都在教你刪修訂版本,但真正拖慢後台的往往是 autoload 那塊肥肉。所以流程應該是——先備份、限制修訂版本治本、清 transients、然後把 autoload 查清楚壓到 800 KB 以內,最後重整資料表。清理外掛適合一般站長無腦操作;要精準抓 autoload 兇手,還是得看 SQL 或網站健康。最後老話一句:先備份再動手,資料庫沒有 Ctrl+Z。

廣告

❓ 常見問題

Q:用清理外掛會不會把網站弄壞?

正常勾選「修訂版本、過期 transients、垃圾留言」很安全。但「改 autoload、刪 options」這種進階操作有風險,務必先備份,不確定的選項別亂刪。

Q:多久清一次比較好?

一般站台:transients 每週、修訂版本每月、autoload 每季稽核一次即可。多數清理外掛可以排程自動做。

Q:清完資料庫,網站就會變快嗎?

後台與 wp-admin 的反應速度通常會有感改善,尤其 autoload 原本破 MB 的站。但前台的整體速度還牽涉快取、圖片、主機,資料庫只是其中一環。

廣告

🔗 延伸閱讀

📎 參考資料來源

📖 第一級|WordPress 官方與外掛:

⚠️ autoload 800 KB 為 WordPress 網站健康的參考門檻;實際操作以你的站台備份與測試為準。資料庫操作不可逆,請先備份。

📅 本文查證戳記:2026-07-01。若 WordPress 版本調整網站健康門檻或 WP-CLI 指令,站長會回來更新。