WordPress 外掛太多會變慢?我把網站精簡到 11 支的取捨清單

外掛裝越多網站越慢?其實關鍵不在數量。我把朋友的站從 38 支砍到 11 支、載入時間從 6.2 秒降到 1.9 秒,這篇分享我實測過的取捨清單與診斷工具。

上週幫一位朋友看他卡了三個月的部落格,後台外掛清單拉下來我直接傻眼——裝了 38 支外掛,首頁載入要 6.2 秒。他一直以為是主機太爛,其實主機沒問題,是外掛把資料庫查詢塞爆了。我花一個下午幫他砍到 11 支,GTmetrix 上的 Fully Loaded Time 從 6.2 秒掉到 1.9 秒,什麼主機都沒換。

這篇就是把那天的取捨過程整理成清單。我自己的 WordPress 站養了六年,外掛數量一直壓在 12 支以內,不是因為我特別克制,而是踩過太多「多裝一支、慢一截、還多一個資安破口」的虧。下面講的每個判斷,都是我實際在 wp-admin 後台一支一支關掉、再用工具測出來的。

📌 本文重點

  • 外掛變慢的真正原因不是「數量」,而是有沒有在每個頁面載入額外的 CSS/JS 與資料庫查詢,一支寫得爛的外掛比五支寫得好的還傷。
  • 我用 Query Monitor 實測,停用一支社群分享外掛就讓單頁的 DB queries 從 84 降到 51,TTFB 少了約 180ms。
  • 我把網站精簡到 11 支核心外掛:快取、SEO、安全、備份、表單、圖片壓縮各留一支,其餘能用佈景主題或程式碼取代的一律砍掉。
  • 判斷一支外掛該不該留的三個問題:它有沒有取代方案、是不是每頁都在跑、過去半年有沒有更新。三個答案有兩個不利就移除。
WordPress 後台外掛清單精簡前後與網站速度提升示意圖
圖:把外掛從 38 支砍到 11 支後,GTmetrix 載入時間從 6.2 秒降到 1.9 秒。

外掛太多到底是不是網站變慢的元兇?

先說結論:真正拖垮網站的不是外掛「數量」,是外掛「做了什麼」。我看過裝 30 支照樣飛快的站,也看過裝 8 支卻慢得像在跑泥巴的站。差別在於每支外掛在前台頁面上偷偷做了多少事。

一支外掛慢不慢,看三件事:它會不會在每個頁面都載入自己的 CSS 和 JS、會不會額外打資料庫、有沒有在背景跑排程任務。社群分享按鈕、相關文章、頁面建構器這類外掛最容易中標,因為它們幾乎在每頁都要插一堆東西。相反地,像備份外掛只在半夜跑一次,平常對前台速度幾乎沒影響。

所以我從來不問「我裝幾支外掛」,我問的是「有哪幾支在我每個訪客身上都收一次過路費」。把那幾支揪出來,速度問題大概就解一半了。

先測再砍:我用來抓凶手的兩個工具

不要憑感覺停外掛,會把網站搞壞。我固定用兩個免費工具先抓數據,再決定動哪一支。

1. Query Monitor:看哪支外掛在打資料庫

Query Monitor 是我裝在每個案子上的第一支診斷外掛。它會在後台工具列顯示這個頁面總共跑了幾筆資料庫查詢、花多少時間,而且能按外掛分組,直接告訴你誰最耗。我那天幫朋友看的時候,光是停用一支社群分享外掛,單篇文章的 DB queries 就從 84 降到 51,TTFB 少了大約 180ms。數字擺在眼前,要不要砍就很好決定。

Query Monitor 依外掛分組顯示資料庫查詢數量的診斷畫面
圖:Query Monitor 按外掛分組,一眼看出誰打最多資料庫查詢。

2. GTmetrix 與瀏覽器 Network 面板:看前台實際載入

診斷完後台,我會用 GTmetrix 跑一次,記下 Fully Loaded Time 和總請求數當基準。接著每停用一支外掛就重測一次,看哪支讓數字明顯往下掉。瀏覽器按 F12 打開 Network 面板也很好用,能直接看到是哪個 .css 或 .js 檔在拖慢,檔名通常就帶著外掛的資料夾名稱,凶手藏不住。

我的 11 支核心外掛清單(含取捨理由)

這是我自己的站目前實際在跑的清單。每一支都通過「沒它不行、而且沒有更輕的替代方案」這關。如果你想開始精簡,可以拿這份當對照表。

WordPress 11 支核心外掛依功能分類的清單表格
圖:依功能各留一支,是我控制外掛數量的基本原則。
功能 我用的外掛 為什麼留它
快取 WP Rocket(付費)/ W3 Total Cache(免費) 最有感的一支,頁面快取直接砍掉重複運算。
SEO Rank Math 內建 schema、sitemap、麵包屑,不用再各裝一支。
安全 Wordfence 防火牆+登入防護,自架站沒這支我不安心。
備份 UpdraftPlus 排程備份到雲端,半夜跑,不影響白天速度。
表單 WPForms Lite 輕量,只在有表單的頁面載入資源。
圖片壓縮 ShortPixel 自動轉 WebP,省頻寬又顧 LCP。

剩下幾支是依站別需求補的:抗垃圾留言(Akismet)、外部連結管理、區塊增強(Stackable)、以及前面提到的診斷用 Query Monitor。原則就一句話:一個功能只留一支,重疊的全部砍。關於更進階的客製化做法,我整理在這篇 WordPress 自架站進階玩法的整理裡,想再往下鑽可以接著看。

這幾類外掛我直接砍掉,改用別的方法

精簡的精髓不在「換一支更快的」,而在「根本不需要這支」。以下是我每次接手別人的站,幾乎都會砍掉的幾類。

社群分享按鈕外掛——改用佈景主題內建或手刻。這類外掛幾乎都在每頁載入一堆圖示字型和追蹤腳本,是 CP 值最低的速度殺手。現在多數主題本身就有分享按鈕,沒有的話幾行 HTML 就解決。

「相關文章」外掛——改用主題功能或快取友善的方案。它們常在頁面底部做即時資料庫查詢找相關文,流量一大就拖垮 TTFB。我寧可手動在文末放內鏈,既快又能控制連到哪。

各種「只用一次」的功能外掛——用完就刪。搬家用的 Duplicator、批次改網址的 Better Search Replace,這類做完事就該停用刪除,留著只是多一個沒在更新的資安風險。一支半年沒更新的外掛,比慢更可怕的是它可能是下一個被打的洞,這點 WordPress.org 官方的安全說明文件講得很清楚——只裝來源可信、持續維護的外掛。

如果你的站本來就是電商或圖多型,速度的坑會更深,我把另一套針對載入速度的急救做法寫在這篇談網站速度慢怎麼起死回生的文章,可以搭配這篇的外掛精簡一起做。剛起步、還在選平台與佈署的新手,建議先看過這份網站架設新手必看指南把地基打穩,再來談外掛精簡會更有感。

常見問題(FAQ)

Q:WordPress 外掛裝幾支算太多?

A:沒有絕對數字,但對個人或內容型網站,我會把核心外掛壓在 10 到 15 支。重點不是總數,而是有沒有「每頁都在載入額外資源」的重型外掛。與其數數量,不如用 Query Monitor 看哪支真的耗效能。

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

A:有可能,所以一定要先用 UpdraftPlus 之類的工具做完整備份,再一支一支停(不要一次全停),每停一支就到前台逛一輪確認沒破版。我的習慣是先停用觀察三到五天,確定沒事才刪除。

Q:免費快取外掛夠用嗎,一定要買 WP Rocket?

A:免費的 W3 Total Cache 或 LiteSpeed Cache 對多數網站已經夠用,我自己很多案子就是用免費的。WP Rocket 的價值在設定簡單、開箱即用,適合不想花時間調參數的人,但它不是非買不可。

Q:怎麼知道是哪一支外掛拖慢我的網站?

A:裝 Query Monitor 看資料庫查詢按外掛的分組,再配合 GTmetrix 採「停一支、測一次」的方式逐一比對。讓 Fully Loaded Time 明顯下降的那支,通常就是元凶。

想收到更多像這樣「實測過才寫」的 WordPress 與數位遊牧乾貨?把這個站加入書籤,下一篇我會拆解我每次新站上線第一週固定做的設定清單。