對於一個優秀的WordPress網站, WP外掛 是一個非常重要的項目。有了這些外掛,可以幫助你更輕鬆的優化自己的網站、提高文章可見度、又甚至是優化自己的SEO!
什麼是外掛?
WordPress 外掛是一種擴充功能的工具,可以在WordPress網站上添加新的功能、特性。在WP五萬多款外掛中,涵蓋了各種各樣的功能,例如SEO優化、安全性增強、社交分享、快取等等。
安裝外掛可以讓你輕鬆定製、擴展和改良你的網站,以滿足特定需求,更好的是:它不需要你會寫PHP,裝好然後啟用,就這麼簡單!
大多外掛通常由開發者社群(開源社群)或公司開發並提供,您可以從 WordPress 官方目錄或其他外部市場獲取它們!
常見問題:外掛不是不好的東西嗎?
對於遊戲而言,外掛確實常常被當成作弊的代名詞。但在WordPress中,你可以很光明正大地說自己”開掛”!
WP的外掛程式會幫你改善自己的網站,確實相當於給自己的網站開了個掛,但這是一個正面的掛,不違法,甚至官方也同意這些外掛的存在!
WordPress外掛彙整頁面提供的資訊
想要找到一個適合自己的 WP外掛 ,首先最重要的就是確認自己的需求。
想要找到一個好的外掛,可以先到WordPress官方的外掛網頁搜尋自己想要的類型(記得,大部分外掛都是英文的,所以請用英文搜尋會更準確),然後進到頁面後,最好可以看看外掛的評分、更新日期、版本等…
以下我舉官方的 JetPack 外掛來作範例:

外掛名稱與開發者
此例中的紅色框處,裡面會有該外掛的標誌、名稱(部分有中文,但大多是英文,可用瀏覽器翻譯看得更清楚)與下載按鈕(下載一個壓縮檔,可以直接傳到後台>安裝外掛裡上傳外掛處)
大多數外掛會在標題提供簡明扼要的資訊,概述這款外掛的功能、特色、開發者、前置外掛等,例如此例中標題已經載明此外掛提供了網站的 “安全性”、”備份”與”速度”方面進行優化,並由Automatic(WordPress的母公司)開發維護。
外掛說明
此例中的紫紅色框處,這裡會有關於這個外掛的介紹,會提及該外掛的功能與詳細介紹,如果不想找官方的說明文檔或官方沒寫,可以先從這裡看到該外掛的資訊。
這個地方類似於GitHub大多數專案會提供的README.md檔案,但不同的是GitHub對於此處不會進行太多的限制,但WordPress官方有對這個文件(不是Markdown,是特殊格式的TXT)給出一些限制。
外掛收費狀態
綠框處,常見的有以下三種:
商業版外掛 (Commercial Plugin)

商業版 WP外掛 ,顧名思義就是要收費的外掛。這種外掛通常會有免費的一組受限功能,並允許用戶付費生及解鎖完整功能。為閉源外掛,因此我們無法靠自己取得該外掛的原始程式碼
優點
更新速度較快:因為只有公司自己擁有外掛的原始程式碼,所以它們的更新相對較快,並對於新的版本有更好的相容性
效能較高:外掛公司對於WP外掛開發有相對較長的經驗,可以降低該外掛對伺服器的依賴度
較穩定:為了減少客服需求,這些公司會對外掛做較完整的穩定設定並Debug,正常使用下基本不會有Bug
缺點
限制功能與付費:顧名思義,這種外掛只有有限的功能,而不提供完整功能供使用者使用。
可能暗藏後門:因為有閉源特性,某些外掛可能會在程式碼暗藏後門
範例
WYSIWYG頁面編輯器 Elementor、WordPress網站主題 Blocksy Companion 等
基本而言只要是付費外掛並分享到WP官方目錄者一定都屬於此類
社群版外掛 (Community Plugin)

社群版 WP外掛 則大多為開源專案或提供一般使用者可以進行貢獻的專案,常可以在GitHub、SVN儲存庫等地方找到它的原始碼。因為是公開的專案所以程式碼相對透明,使用者可以輕易地取得它們的程式碼並進行貢獻。
優點
較安全:原始程式碼都攤在陽光下,較不用擔心原始碼內含後門,並且就算有後門也容易被抓,開發者不會想冒風險
廣泛社群支持:來自世界各地的開發者都會協助開發這款外掛
開放原始碼:開放原始碼代表它的使用是完全免費的,並且只要你有能力,你也可以協助外掛的開發,使它更加完善!
完全免費:大部分社群版外掛都是開源專案,因此原始碼可以從官方取得並不需要反編譯,自然是免費的
缺點
功能較少:免費外掛功能相較付費外掛比起來確實會比較少,但不會少太多
更新較慢:雖然不能一口咬定,以偏概全,但一些較小型的社群專案確實會提供較慢的更新速度,甚至忘記更新…
範例
傳統小工具 Classic Widgets、除錯選單 Debug Bar
完全閉源外掛
此種外掛如WP Rocket等,一般不會登上WordPress官方外掛彙整頁面,而是要自行去他們的網站購買並取得帳戶才能下載外掛壓縮包後上傳。一般不會有免費板可以下載(最多30天試用),且價格更貴,適合想要把網站當成工作、或是網站已有一定進度與收益的人購買。
外掛數據
上方圖片中的藍色區塊,有完整的外掛數據可供參考,說明如下:

版本 (Version)
此例中為13.3.1,各外掛的版本號規則並無一定規律,基本是想怎麼編就怎麼編(當然還是有點啦),某些外掛會需要搭配特定版本才能正常使用,這時就要注意外掛有沒有被更掉了,雖然要搭配特定版本的那基本叫做破解版外掛,我不推薦使用
最後更新 (Last Updated)
這是這款外掛在官方SVN(Apache Subversion)上傳最後一個更新或修補版本的日期,一般而言如果離你看資料當天幾周內代表還在認真開發中,安裝不會有太大問題;3個月內都是還有在支持維護,可以安裝;如果接近一年或更久,那可能已經沒有維護了。此例中兩周前才剛上傳最新版本,安裝不會有太大問題
SVN是什麼?
SVN(Apache Subversion)是一種版本控制系統,用於跟蹤文件和目錄的更改,特別是在軟件開發中。在 WordPress 中,SVN 通常與 WordPress 官方插件目錄相關聯。WordPress 官方插件目錄使用 SVN 作為插件提交和版本管理的工具。開發者可以使用 SVN 將他們的插件提交到 WordPress 官方插件目錄,並在那裏進行版本控制和發布管理。因此,WP 外掛與 SVN 有關聯,因為它是開發者將插件提交到官方目錄的主要工具。
啟用安裝數 (Active installations)
簡單來講就是下載次數,使用者安裝的數量。就像YouTube頻道訂閱越多越容易讓人信任一樣,安裝越多通常代表這款外掛越合大眾口味
當外掛的安裝數量增加時,也代表這個外掛會更受到開發者的支持、維護與新功能。這是因為開發者通常會根據用戶的反饋和需求,不斷改進外掛的功能和性能,以確保它能夠與最新版本的 WordPress 兼容,並且保持安全穩定
WordPress版本需求 (WordPress Version)
這是指該外掛或主題所支持的 WordPress 核心版本範圍,也就是最少要這個版本作者才保證正常運作。
例如這邊的頁面寫著 WordPress 版本:6.3 或更高版本 ,表示該插件或主題支持 WordPress 5.0 及更高版本。這意味著該插件或主題應該在這些版本的 WordPress 上正常運行,並且與這些版本的功能和特性兼容。
外掛寫著5.0怎麼辦?
請不用擔心,它寫的5.0一般是說5.x版都可以使用,如果你想看看它支不支持自己現在的版本,請看下面Testes Up Version
WordPress已測試最新版本 /
(Tested up Version)
這是指該外掛或主題最後一次被開發者確認在其它版本中經過測試的 WordPress 核心版本。例如這裡寫 已測試相容的WordPress最新版本:6.5.2 表示該插件或主題在 WordPress 6.5.2 上經過了最後一次的測試。這並不意味著該插件或主題不兼容於其他 WordPress 版本,但是這是開發者最後確認已經測試過的 WordPress 版本,也就是說作者可以保證這個外掛在6.5.2版上可以正常運作。
常見問題:已測試最新版本與支持版本差在哪裡
WordPress 版本需求: 這是指插件或主題所基本需要的 WordPress 核心版本範圍。它是一個底線,如果你的版本低於這版本,可能仍然可以安裝並啟動,但不保證相容性、未來穩定度與支持,如果你的版本低於這個版本,詢問作者作者可能也不願理你…
已測試相容的 WordPress 版本: 這是指開發者最後一次確認已經在該版本的 WordPress 上進行了測試。這個版本告訴用戶開發者最後一次確認該插件或主題在特定版本的 WordPress 上經過了測試,但並不排除它可能在其他版本上也能正常運行。
PHP版本需求 (PHP Version)
這代表了你的WP必須要有多少版的PHP才被允許安裝,低於此版本可能造成PHP執行環境不支持!
PHP
PHP是一款動態網站用的程式語言,編寫WordPress的就是它
PHP是一種開源的通用電腦手稿語言,尤其適用於網路開發並可嵌入HTML中使用。PHP的語法借鑑吸收C語言、Java和Perl等流行電腦語言的特點,易於一般程式設計師學習。PHP的主要目標是允許網路開發人員快速編寫動態頁面,但PHP也被用於其他很多領域。
維基百科
語言 (Languanges)
這邊的語言不是程式語言的語言(外掛一定是PHP寫的),它代表著這款外掛已經翻譯成哪些國家的語言並受支援,大多數外掛都會有英文版,如果項目太多會收合起來,可以將游標Hover到上面看看具體有哪些語言:

如果按下”將這個外掛本地化為你的母語版本”,會帶你到本地化界面,你可能要登入。在此會看到一張表格,列出各國語言的翻譯工作到哪些地步了,像這邊繁體中文已經達到98%

標籤 (Tags)
就像網站Blog文章要分標籤一樣, WP外掛 也要分標籤,標籤代表這外掛的特點,像這款JetPack擁有這些標籤:backup(備份)、malware(病毒,在此應指防毒,應該不會有人光明正大說自己的外掛是病毒吧…)、performance(效能與優化)、scan(掃描)、security(安全性與防毒)
評價

就跟Google Play會有五顆星一樣,WP外掛也有五星評價等級,一般而言只要星數大於三顆星就不錯了…
如何挑選一個適合自己的外掛?
我簡單繪製了一張流程圖如下:

總之,最重要的不外乎以下幾點:
- 安裝與啟用數:這直接代表了外掛有多少人願意下載來使用
- 最後更新日期:最後更新日期代表開發者還有沒有認真維護這款外掛,也很重要
- 使用者評價:這一般是真實用過的人的評論,雖然不是每個人下載完都會評分(像我就不會),但它還是有一定的參考價值
- 網路上是否有人推薦?:這代表是不是有人真心推薦這款外掛
外掛禁忌篇
安裝過多外掛?
我自己先前就看過有些網站因為安裝外掛太多而造成Cron作業滿到溢出。試想,一款外掛就像一個員工,如果你裝了太多外掛,就像請了太多員工,首先當然付費外掛的錢會是一個負擔;而且員工需要吃飯,也就是吃伺服器的資源,裝太多外掛一直吃資源,但WP網站又大多是PHP直接渲染給終端用戶看,這也是一個伺服器壓力!
性能
首先,從性能方面分析:一個外掛就像剛剛提到的很吃資源,就算只是一個小小的外掛也會需要排一個WP Cron作業,大家一起排最後出事的就是伺服器扛不住!
安裝外掛的意義
再者,安裝外掛的意義為何?是要實質上提升網站功能,或者只是想玩玩看?或只是想秀特效?如果你只是想玩玩看或秀特效炫技,這種不會增加實質性功能的原因最好就不要用了。如果你只是因為看到網路上有人推薦一款外掛,你就想用用看,那並沒有什麼意義,就像上面流程圖說明的,安裝外掛是為了解決一些問題,你也要先考慮自己的需求,挑選適合的外掛。
打個比方,一個部落格並沒有想要讓訪客登入或提供線上服務,但卻裝了Ultimate Member之類的會員系統外掛、或是一個論壇裝了改善部落格文章的東西,這豈不是倒行逆施了?WordPress的外掛不是想到什麼就找,找到就一直裝一直裝毫無節制,就像我很喜歡的一句話一樣:
網站如同迎客的房屋,應以訪客需求為先,而非網站主的喜好。唯有訪客的存在,賦予網站真正的價值,否則只是程式碼的虛無結構。
本人座右銘
Cron作業
WP Cron作業
有些事情我們會需要等時間到了才去做,例如春節到了回娘家、開學了就要去上課。
WP也是一樣,像是它會定期檢查外掛或主題是否需要更新、訂單還沒付款的是否要取消、排程發表的文章是否要發佈了等等。
這些動作自己不會執行,在 HTTP 協定的限制下,網站是「被請求後」才執行,被動的接受請求,然後回應請求。
那它們會自己做嗎?
其實做不到,WP會在被每一個訪客瀏覽時才開始看時間決定程式能不能觸發來跟主機檢查是否到期需要執行任務。因此如果Cron作業太多,就代表訪客載入時觸發的東西太多,結果訪客載入時要先觸發這些東西才會開始渲染網頁,自然就變慢
由上文可知,外掛太多造成網站訪問速度變慢是很合理的!
外掛衝突
繼續剛剛的比喻,如果你雇用了太多的工人,這些工人自然很容易因為一些原因就打架起來,就像狗跟貓在一起會打架一樣。
外掛常常會因為寫法不一樣,同樣一個檔案被別人改過,或設計過程中的瑕疵而造成兩款外掛不相容,裝在一起輕則網站Down掉,重則可能直接網站掰掰全部重來!如果你只裝少少幾個外掛,不容易發生衝突,就算發生衝突用二分法也可以很快解決!但如果幾十個、甚至幾百個呢?要弄到西元幾年?如果像我的網站裝了19個外掛,其中一個出問題我大概要二分法分4~5次左右即可,但如果你的外掛裝了二三十個呢?簡單算一下,如果你裝了32個外掛,那就要處理五到六次,四十幾個就要至少七次…尤其如果你網站做出了一定規模,少幾分鐘可能網站收益就會減少,那怎麼辦?
總之,如果你的網站很重要,甚至你靠網站吃飯,那我想你應該已經知道這個問題癥結點了,但對於新手而言這很常是大雷區,而且新手也不一定會處理、修復、禁用外掛!
如果外掛沒有實質用處,那就不要裝;如果外掛辦的到的事情有內建或可以自己寫,那就不要裝;如果外掛只是為了炫技好看,那絕對不要去裝!
架站的意義不是在炫技炫耀,也不是在實驗自己喜歡的東西。我們架出一個網站,是為了分享自己所學共享知識,而不是單方面炫技!
外掛太久沒更新?
如果你在外掛資訊頁面看到這類的訊息:

代表這個外掛真的已經太久沒更新了,不要安裝是最好的選擇。這種外掛一般也不會在WP後台安裝外掛的地方顯示,最好就不要再用了!
外掛跟主題或其他外掛衝突?
我自己就有遇過裝某些外掛Blocksy會跑版的問題。常見會衝突的外掛最大多數就是快取外掛跟網站版型,這種時候有一個很棒的Debug方法叫做二分除錯法:
二分除錯法
二分除錯是將可能出錯的項目分成兩半的除錯方法,因為只要錯誤不在這一半就一定在另一半的特性,他被廣泛用在程式設計、裝機、網站程式的問題的處理,並且因為學習門檻低且效率不差而被廣泛使用
它由搜尋演算法中常見的二分搜尋演算法演變而來,效率是挺高的。
首先將外掛分成兩半,先停用一半看看有沒有改善,沒有應該就是另一半(當然可以順便把另一半也停用以更加確定),然後再把有問題的那一半再分成兩半並分別停用,直到找到錯誤來源。這就是二分除錯法的原理。

總結
經過這些說明,相信各位對外掛的原理、地雷與問題除錯等方面有了一定的認識。
我是SamHacker,掰掰~