[WordPress] 網站越用越慢最有可能的主因 – 裝過太多外掛

為了避免邏輯上的誤解,這標題必須把「裝過太多外掛」特別先拿出來說。

字意上來看就是 WordPress 因為裝過太多外掛而變慢,但可能有人還是會沒反應過來說「我現在外掛很少啊,怎還是慢?」,這時候請回想過去是否拿這個網站「嘗試」過很多外掛實驗過很多功能呢? 如果有,那就符合這個條件了!

這件事就要從外掛的開發角度說起。外掛開發時有不少的參數狀態要記錄,這時候就會寫到 WordPress 的一個資料表 wp_options ,到這邊都還很正常,不過如果不想用這外掛的時候,外掛又沒有實作把這些自帶設定移除選項的「擦屁股」功能的話,那就開始不正常了~

這資料表中每筆資料有一個參數「autoload」會決定每次 WordPress 啟動時是否要順便把該筆資料也讀取出來暫存,用以達到加速網站之後功能的載入。

如此好心的設計,會因為嘗試過多的外掛,且外掛又沒有做好這塊解除安裝功能的話,時間一長,安裝過的數量一多,網站哪怕沒有多少內容或瀏覽量也會越來越慢。(讀取資料越來越大)

對一般非技術背景的人來說,學習 WordPress 也要養成良好習慣是「永遠不要在正式的網站上測試」。

在自己電腦測試,或是開過一個網站測試,都沒問題確定要上線了後才移植到正式的網站上!

當然也不是說有技術背景就可以,而是自己要理解該項操作的技術成本高低,評估正要使用的外掛彈性,來第一時間為這網站做好規劃。

很多東西說破不值錢,但一步一步扎扎實實的基本功夫才是堆疊出好網站的開始~

如果網站已經給你玩到很慢了怎辦? WP Engine 團隊有寫了一篇很實用的「如何最佳化 WordPress 資料庫」一文可以參考。

其中本文說明的部分在該文章裡「AUTOLOADED DATA」段落有很詳盡的整理方式,安裝過太多外掛進而影響效能的部分也大多在這。

找到前 20 大主動載入且過肥的資料:

SELECT LENGTH(option_value),option_name FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC LIMIT 20;

找到後想怎麼處理就看情況了~ 這塊操作也是要非常謹慎,弄一個不好可是會把網站搞掛的!

文末特別補充:只有說外掛其實不算公平,佈景主題其實也算是一種外掛,只是一個網站只能啟用一個。而過去曾經套用過不少主題的話也非常有可能造成這資料表過肥的問題。

另外個人經驗是 Yaost SEO 這套外掛也真是有辦法成為你那前 20 名肥大資料的主因,所以效能也是我後來改用 All in One SEO 的考量。

Facebook 外掛功能


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

參與討論

5 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *