天天看點

【原創文章】wordpress速度優化終極指南玩技部落格獨家

作者:玩技e族

簡單介紹:

本篇文章為玩技部落格站長經過多年來積攢的wordpress網站優化經驗分享,期間很多的優化可能大部分站長都親身經曆過或者優化過,如有不足歡迎大家再評論區留言補充。

優化目的:

大家都知道,網站的打開和通路速度決定了大部分流量和seo相關收錄的先決條件,是以做好一個網站最基礎的就是要保證網站通路和打開的速度。文章源自玩技e族-https://www.playezu.com/674426.html

開始優化:

問題一

場景分析:正常的優化大家可能都進行過,其中最基礎的就是谷歌字型的引入導緻國内通路和打開的速度過慢。文章源自玩技e族-https://www.playezu.com/674426.html

解決辦法:将下面代碼添加到主題functions.php檔案中:文章源自玩技e族-https://www.playezu.com/674426.html

function coolwp_remove_open_sans_from_wp_core() {    wp_deregister_style( 'open-sans' );    wp_register_style( 'open-sans', false );    wp_enqueue_style('open-sans','');}add_action( 'init', 'coolwp_remove_open_sans_from_wp_core' );           

2、之後,再次登入背景速度明顯提升。代碼取自 Remove Open Sans font from WP core 插件,也可以直接安裝啟用該插件。文章源自玩技e族-https://www.playezu.com/674426.html

3、相似功能的插件:Disable Google Fonts 因Google字庫中隻有英文,對國人無任何用處,換用國内某字型服務的方法同樣意義不大,禁掉最實用。文章源自玩技e族-https://www.playezu.com/674426.html

4、上述方法對前台主題加載Google字型無效,國外主題也多采用外鍊Google字型,自行手動修改模闆删除相關代碼。文章源自玩技e族-https://www.playezu.com/674426.html

5、以Wordpress預設主題Twenty Fourteen為例,打開主題functions.php模闆檔案,查找并删除:文章源自玩技e族-https://www.playezu.com/674426.html

//fonts.cat.net/css           

6、其它主題類似,但可能不在functions.php模闆中,隻能逐一檔案查找,隻搜尋google關鍵字就可以了。文章源自玩技e族-https://www.playezu.com/674426.html

7、注:這已是目前國内使用Wordpress所必須做的,建議國内主題設計者直接內建在主題中,不然剛接觸WP的新手,會是以放棄!文章源自玩技e族-https://www.playezu.com/674426.html

問題二

場景分析:插件或主題引用了大量的外鍊或者其他站外資源等等。文章源自玩技e族-https://www.playezu.com/674426.html

解決辦法:如遇到安裝插件之前網站速度非常快,但是安裝主題或者插件之後網站突然變得很慢。那麼就完全可以确定是是有插件或者主題導緻的。文章源自玩技e族-https://www.playezu.com/674426.html

1、我們首先可以使用浏覽器自帶的開發者工具進行請求分析,檢視是哪個請求導緻的網站加載速度比較緩慢。(這裡以谷歌浏覽器為例,開發者快捷鍵F12)文章源自玩技e族-https://www.playezu.com/674426.html

【原創文章】wordpress速度優化終極指南玩技部落格獨家

文章源自玩技e族-https://www.playezu.com/674426.html

2、其次我們可以根據圖中第二個檢視下具體是哪些請求連結時間過長,然後根據做出具體的優化文章源自玩技e族-https://www.playezu.com/674426.html

3、專業工具進行分析例如:pagespeed 或者 pingdom 檢視推薦優化的名額項或者靜态資源(此處不多說,需要大家自行研究)文章源自玩技e族-https://www.playezu.com/674426.html

【原創文章】wordpress速度優化終極指南玩技部落格獨家

文章源自玩技e族-https://www.playezu.com/674426.html

方式一:文章源自玩技e族-https://www.playezu.com/674426.html

比如:加載的外部樣式或者腳本檔案css、js,我們可以将其下載下傳并上傳到本地伺服器資源,然後再對面引用的頁面位置将站外的引用連結位址改為站内,站内可以應用絕對路徑或者相對路徑。文章源自玩技e族-https://www.playezu.com/674426.html

方式二:文章源自玩技e族-https://www.playezu.com/674426.html

CDN:使用國内大廠的cdn加速或者其他你認為速度很快的CDN,然後通過wordpress插件或者代碼的形式引入到站内使用,wp-super-cache 或者 litespeed-cache 或者 CDN Enabler插件。文章源自玩技e族-https://www.playezu.com/674426.html

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(高手推薦:litespeed-cache)

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(新手推薦:wp-super-cache)

插件:前兩款插件可以靜态加速外和css、js壓縮,本身內建了cdn的功能是以更友善入手,最後一個推薦使用1.0.9版本,因為高版本之後隻能使用他們自己的加速服務。

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(litespeed-cache的css壓縮)

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(litespeed-cache的js延遲和壓縮)

tips:當然了還有很多站外的免費加速cdn等等,根據實際情況選擇,我推薦的隻不過是适合新手和自己實際測試過。

問題三

場景分析:(圖檔資源站等等)大量的圖檔資源導緻網站的打開速度過慢

解決辦法:可以壓縮圖檔或者是懶加(延遲)載資源實作。

插件:推薦使用litespeed-cache插件,因為插件本身內建了懶加載功能(也叫延遲加載),懶加載的插件有很多,大家可以根據需求自行測試下哪款比較好用。(這裡可以百度下同步加載和異步加載的方式)

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(litespeed-cache的圖像壓縮)

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(litespeed-cache的圖像延遲加載)

其他:如何知道是否啟用成功了可以檢視對應圖檔位置是否有lazy字樣即可

【原創文章】wordpress速度優化終極指南玩技部落格獨家

問題四

場景分析:主題自帶的模闆頁面子產品過多或文章釋出較多導緻的網站卡頓

解決辦法:子產品過多要精簡首頁的子產品加載個數,因為資源加載的越多導緻需要引入的靜态資源就過多,過多就會導緻每個使用者通路的時候都會加載并占用大量帶寬,并發量過大的時候會導緻網站直接崩潰或者cpu 100%等問題。

方法:文章釋出過多請參考

WordPress文章過多導緻跳轉文章時加載過慢的問題優化

問題五

場景分析:之前安裝過插件之後導緻網站慢,解除安裝插件之後還是慢無法再像過去那樣快。

問題分析:插件和主題中會有大量的字段會存在wp-option這張表中,在wp-options表裡面主要是存貯WP的全局資料設定方面的資訊, 如部落格名、部落格位址、基本設定、插件設定、主題設定等等。在你不經意間,這個表裡面的資料可能就會瞬間增長,比如,建站大概兩年的時候,開啟了wp-rocket加速插件,感覺不好用,就關閉了,之後發現問題,網站被人cc就挂了,一直再找問題,後來準備重新安裝環境的時候才發現原來是資料庫裡面的wp-options表資料過大,導緻cc攻擊的時候通路資料庫壓力劇增,cpu直接爆炸,就當機了。

該表包含以下字段,我們在性能方面更關心其中一個字段:

  • option_id
  • option_name
  • option_value
  • autoload

了解wp_options表的重要事項之一是autoload字段。這包含是或否值(标志)。這基本上控制它是否由wp_load_alloptions() 函數加載。自動加載的資料是在WordPress網站的每個頁面上加載的資料。就像我們向您展示了如何禁止某些腳本在站點範圍内加載一樣,同樣的想法在這裡也适用。預設情況下,開發人員的自動加載屬性設定為“yes”,但并非每個插件理論上都應該在每個頁面上加載他們的資料。

WordPress網站可能遇到的問題是wp_options表中有大量自動加載的資料。這通常是以下原因造成的:

  • 資料由插件自動加載,而實際上它應該設定為“no”。一個很好的例子就是聯系表單插件。它需要在每個頁面上加載資料還是隻在聯系頁面上加載資料?
  • 插件或主題已從WordPress站點中删除,但它們的選項仍留在wp_options表中。這可能意味着每次請求都會查詢不必要的自動加載資料。
  • 插件和主題開發人員正在将資料加載到wp_options表中,而不是使用他們自己的表。這方面存在争議,因為一些開發人員更喜歡不建立額外表的插件。但是, wp_options表也不是為儲存數千行而設計的。

太多自動加載的資料是多少?這當然可以變化,但理想情況下,您希望它在300KB 到1MB之間。一旦開始接近3-5MB 範圍或更多,很可能可以優化或删除自動加載的内容。任何超過10MB 的内容都應該立即解決。這并不總是意味着它會導緻問題,但這是一個很好的起點。

對wp_options表中的自動加載資料進行故障排除

如果您的WordPress網站運作緩慢,可能是由于舊WordPress插件遺留的查詢或自動加載資料。下面我們将向您展示如何檢查資料庫中自動加載的大小,以及深入了解實時站點的資料并分享我們為清理它所做的工作。

檢查自動加載的資料大小

首先要做的是檢查WordPress網站上目前自動加載的大小。為此,請登入到phpMyAdmin。單擊左側的資料庫,然後單擊SQL頁籤。然後輸入以下指令并點選“Go”。

SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';           

之後我會寫一篇專門講解的文章(wp-option)

解決辦法:可以直接通路phpMyAdmin打開wp_options的表檢視是否有解除安裝過後插件的名稱或者類似的字段值,因為有些插件解除安裝不幹淨,字段存在的話仍然會調用一些插件的緩存檔案導緻網站過慢。

【原創文章】wordpress速度優化終極指南玩技部落格獨家

資料操作:有兩種辦法可以解決,一種就是不确定是否是這個option_name影響的速度可以将後面的autoload直接設定為no,或者直接将這個字段删除。

圖中的例子為:舊版的wp菜單的存在方式,每次通路頁面的時候都要加載所有菜單是以玩技之前的網站很慢。這裡可以直接删除或者設定為否就可以了。

如果說你的網站建立沒多久那麼可以直接将這個表裡的所有字段删除,然後建立個同樣名字的網站,然後再将新網站的wp-option表中的資料導入到源站即可。

推薦插件:advanced_db_cleaner進階版,插件中自帶排查孤立檔案,可以一鍵删除無關聯的資料表和關聯字段。(站長用的破解版大家可以下載下傳)

源站提供下載下傳連結位址

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(插件自動掃描無用或無關聯的資料表)

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(掃描插件解除安裝後的無用表,插件自帶一鍵删除功能)

【原創文章】wordpress速度優化終極指南玩技部落格獨家

(wp-option單獨操作的表,可以曬出無用的字段名字)

tips:操作資料時切忌一定要備份、一定要備份、一定要備份、一定要備份、一定要備份、一定要備份、

本文将長期更新未完待續。。。

繼續閱讀