對於WordPress網站來說,快取外掛對網頁載入速度的確是有幫助的。
在已經進行一些基本最佳化的網站中,使用最簡單又免費的Simple Cache,就能讓頁面載入的速度加快1秒以上(實際視不同網站而定);如果,使用進階的快取外掛,像是SWift PERFORMANCE或是WP ROCKET,加快的幅度就不得了囉!
(不過,還得先將網站的基本體質最佳化,才吃得下進階版的快取外掛所創造的速度優勢)
以下是在我自己的網站的Chrome DveTool測速:
DevTools | 無快取 | Simple Cache | SWift PERFORMANCE | WP ROCKET
------------- | -------------
Dom | 1.878(s) | 0.7047(s) | 0.353(s) | 0.441(s)
Load | 1.974(s) | 0.7352(s) | 0.5146(s) | 0.592(s)
快取外掛只是輔助,還有許多網站的體質需要事先強化,像是主機的性能以及網站結構。
擺脫龜速的共享主機,因為超時的TTFB以及貧脊的CPU效能,會讓網頁的載入速度至少延遲3秒以上。
如果專業技能許可,像是linode、Vultr HF,甚至是GCP,都是不錯的VPS與雲主機。
如果無法自行部署雲主機,那麼,像是CLOUDWAYS以及RUNCLOUD這類型的平台服務,可以省去許多雲主機的管理以及安全維護的麻煩。不過,RUNCLOUD還是需要具備基礎的資訊工程知識,使用上比較不容易出錯;而CLOUDWAYS則是不太需要技術的方便選擇。
如果,實在無法自己駕馭雲主機,那麼,KINSTA是個花錢就可以無腦任性的選擇。
如果,沒那個屁股乘坐KINSTA,那麼,A2的Turbo方案大概可以算是共享主機裡較優質的選擇,至少,它具有快速的TTFB,至於主機效能,那得取決於網站的資源使用囉!
不使用花俏的主題與頁面編輯器:
花俏的主題與頁面編輯器,讓非資訊工程的用戶能夠建構出精美的網站;但是,往往也挾帶了許多可能不需要、又或者其實沒必要的垃圾(腳本);而這些垃圾,則是拖慢網頁載入速度的元兇。
當然,這些都可以靠不斷地升級主機(2核心以上的CPU),或者像是WP Rocket這類型的進階版的外取外掛來解決。
我的方案則是直接捨棄佈景主題,改用OXYGEN Builder,它不是佈景主題(同時也禁用主題),它也不只是頁面編輯器,它其實算是WordPress的網站建構器。
優點是:
OXYGEN Builder可以直接編寫每一個頁面的CSS、JS以及WordPress的php,創建出任何功能與樣式的網站,不需要再受限於佈景主題或頁面編輯器所提供的有限的功能,同時,也不會產生不需要的垃圾;但是,前提是必須得先學習CSS、JS以及php的基本應用,如此,使用過程中比較不容易因挫折而放棄,也才能夠隨心所欲建構出想要的功能與樣式。
如果無法駕馭OXYGEN Builder,又想要漂亮又現代的網站;那麼,Astra Pro算是功能較齊全、結構編寫得宜、也算較為輕量的佈景主題。
搭配WordPress預設的Block Editor一起使用,也比較不會拖慢網站的速度。
WebPageTest
因為數據中心可以選擇台灣,數據結果也相當完整。
快取外掛 | Full Loaded Time |
---|---|
Swift Performance | 0.986(s) |
WP Rocket | 1.1(s) |
Swift Performance Lite | 1.524(s) |
Breeze | 11.351(s) |
Simple cache | 11.518(s) |
無快取 | 13.874(s) |
在WebPageTest中的測試:
因為,它的功能非常完整,可以解決大多數造成慢速網站的各種疑難雜症;此外,它還提供了lite免費版,而這個免費版也相當佛心,包含了許多相當有用的核心功能,只要設定得宜,頁面的速度與最佳化的效果直逼WP Rocket!
在測試中,以下是「有開啟」+「能大幅加速」的功能
我的二個網站(其中一個是WooCommerce),架在CLOUDWAYS 「linode 1GB RAM/1 CPU」的方案中,可以負荷這二個網站的「Warmup」以及「OPTIMIZATION」。
前面在SWift PERFORMANCE所提到的「有啟用+能大幅加速」的功能,在WP ROCKET大致上都有,而測試的頁面中也有啟用(僅缺乏部分功能)。
而二者在頁面加速的策略與能力都相當好,不分軒輊,雖然在這次的測試中,SWift PERFORMANCE小勝了幾毫秒。
很多人都說WP ROCKET比SWift PERFORMANCE更容易上手,我當時天真地以為,WP ROCKET會自動幫我偵測+安排妥當所有的JS與CSS;但是,在我使用之後,我發現,其實半斤八兩耶!
因為,我還是得在合併、縮小或內聯、延遲JS之後,再逐頁檢查+逐一排除合併之後會跑版的JS呀!
此外,WP ROCKET在「Prefetch DNS Requests」以及「Preload Fonts」,都需要手動去輸入第三方JS的域名以及字體的url,真的比較容易嗎?
因為在SWift PERFORMANCE中,這二個功能只需要一鍵打開即可,除非功能或頁面跑版,才需要手動去個別排除,在我的操作使用上,我會覺得先一鍵開啟,再逐一排除,這樣的作法比較省事。
不過,以事後再來除錯的邏輯思考,在GRMetrix中找出妨礙頁面載入的第三方JS,再手動添加後觀察,或許更容易找到跑版兇手。
不過,這些差異都是一些小細節,重要的是,WP ROCKET確實大幅度改善了頁面載入速度,剩下的就是個別需求囉!像是「數據庫清理」、「CDN整合」、「Cron Job管理」以及「heartbeat管理」...等等。
和SWift PERFORMANCE一樣,「Preloader」也需要仰賴主機的效能,共享主機大概是無福消受了。
免費版真的很佛,雖然少了許多進階的細節調整與功能,但是,有許多重要的核心功能,像是「PreBuild」、「Warmup」、「Prefetch DNS」、「Collect domains from scripts」...等等,就足以讓網站的速度從13秒加快到1.5秒唷!
當然,前提是還得先仰仗「高性能的主機」以及「簡潔輕巧的網站架構」。
如果上面那3個功能都用不到的話,Lite免費版的表現還是相當驚人唷!
和前面SWift PERFORMANCE(付費版)所提及的2個項目一樣,需要有耐心地設定「Merge Scripts」,以及「Warmup」、「OPTIMIZATION」、「AJAX Cache」以及「Dynamic Cache」都需要仰仗高性能的主機。
這是CLOUDWAYS 自家開發的快取外掛,功能很簡單,只有縮小、內聯以及合併JS與CSS;當然,也可以手動添加去排除不要合併的JS與CSS。
不過,實際測試之後,有無「縮小、內聯以及合併JS與CSS」對速度改善沒什麼太大差異;此外,它的「Gzip Compression」似乎也沒有太多的幫助。
無論如何,快取的效果(包含瀏覽器快取),的確讓網頁速度加快了2秒。
正如其名一樣地簡單,它真的只負責快取!不提供處理JS與CSS的功能。
界面也相當簡單,只有一頁!
不過,它的快取功能包含了「可選擇啟用Memory或Object快取」(如果主機端有配置像是Memcached或Redis的話,則可以在Simple Cache中配置啟用),這一點比Breeze更好喔!(但是Simple Cache無法配置VARNISH)
有關Memcached、Redis以及VARNISH,可以參考這篇文章。
因為CLOUDWAYS已經配置好VARNISH以及Memcached,而Redis也只需要一鍵安裝,所以,以前使用Simple Cache主要是為了連結主機端的配置。
Simple Cache只負責基本的靜態內容的快取,所以,速度改善的幅度有限,和Breeze一樣,只加快了2秒。
如果只是想要單純的快取,那麼,在我的使用經驗中,Simple Cache其實比Breeze更好用(雖然在測試中幾乎不分軒輊)。
如果有使用Cloudflare CDN,可以將縮小HTML/CSS/JS交由Cloudflare去處理的效果也還可以,還更省事。
至於JS的問題,如果會使用的話,也可以交給Flying Scripts這套免費的外掛處理。
其實有很多免費的解決方案可以替代,未必要使用付費的外掛;不過,「Prefetch DNS」大概是無法免費(有一些付費外掛也有提供「Prefetch DNS」,像是perfmatters,它也是一個很超值的外掛,但是,它不處理快取以及延遲CSS/JS)。
因此,若想要擁有最多的功能,那麼,SWift PERFORMANCE是一個物有所值的選擇。
如果想要輕鬆使用VPS或雲端主機,那麼CLOUDWAYS是一個省時便利的選擇。
註冊CLOUDWAYS的時候,填入優惠碼MMM8可獲得首二月8折優惠。
太感謝分享了,好專業!
我最近自架網站也在看有什麼方法可以讓網站加速,
之前也有試過一些方法或軟體測試,但都覺得好像沒什麼差,
我也來用外掛測試看看!太感謝分享
可以從免費的外取外掛比較載入速度的差異,但是還是得考量網站本身的架構和主機的負載能力。