[教學] WordPress 網站優化、加速技巧@主機更省資源、開啟網頁速度更快
近日發現不少部落客紛紛跳出來使用 WordPress 自架網站,我想也是因為使用 BSP 部落客們感受到平台自主性過低、人氣計數器計算錯誤、網站版面設計彈性低 … 等問題,相信加入 WordPress 使用者一族的新朋友們一定會對於他的高自由度、SEO 搜尋引擎優化、品牌經營管理上更加感到驚艷的;在租用主機設備、規格沒有提升之下,發現最近網站瀏覽起來會有卡卡的問題??
那麼恭喜你,你的網站已隨著文章數量增加整體造訪讀者群、流量不斷成長,造成現有主機方案已經不符合你的需求,但這情況下又不想要增加額外支出?? 此時 WordPress 網站優化就是一門很重要的學問,除了可以參考前些日子教大家透過「Pingdom 網頁載入速度測試工具,找出拖垮網站速度元凶」文章外,本文整理 WP 網站優化技巧,照著以上步驟優化完成後不但可以減少主機吃資源問題,也可以降低不少主機流量負擔,趕快看下去 ~
WordPress 優化重點、技巧項目:
1. 開啟虛擬主機 GZip 壓縮功能:教學
2. 裝快取外掛,推薦 WordPress Super Cache:教學1、教學2 (產生靜態頁面)
3. 資料庫快取外掛 DB Cache Reloaded Fix:教學 (減少資料庫查詢次數)
4. WP Optimize 外掛優化WordPress 資料庫:教學
5. 使用 Cloudflare (CDN) 服務:教學
6. 透過 .htaccess 網站資料暫存教學:網址
7. 佈景、文章圖片優化 (如進行圖片壓縮、佈景細部微調)
8. 多個 CSS 進行合併減少CSS/JS請求數量。
9. 壓縮 WordPress CSS、JavaScript:CSS壓縮、JavaScript壓縮
10. 針對行動裝置自動判別,切換為手機板佈景 (方便加速瀏覽):網址
11. 移除或延遲載入"部分"廣告,改善網站開啟速度:教學
12. 減少 WordPress 使用外掛個數,越少越好。
P.S:不建議裝社群網站同步發文外掛,容易造成平台速度變慢
有意用心經營網站還是手動貼文,多跟網友互動才是上上策 ~
移除 WordPress 前台 jQuery.js 加載
日前檢測並查看原始碼後發現部分 WordPress 佈景,會自動加載 jQuery 函式庫,混在 <head> 標頭檔裡面如下,重點是檔案大小居然有 "92.9KB" 真的是超肥的,當然要來優化一下囉!! 這對網站來說已經是重複加載,但問題是這個調用的 jQuery 是和後台同一個調用,如果去掉後台的 jQuery 效果就失效了,這時候只需要加個判斷就可以避免前台重複讀取的問題啦。
<script type= ‘text/javascript’ src= ‘http://網站網址/wp-includes/js/jquery/jquery.js?ver=1.X.X’ ></script>
解決方法:
開啟 /wp-includes/script-loader.php文件,尋找“jquery.js”字串,大約在第120行就能找了
$scripts -> add ( ‘jquery’ , ‘/wp-includes/js/jquery/jquery.js’ , false , ‘1.X.X’ );
加上判斷,變為:(1.X.X) 其中 X.X 為版本代號
if ( is_admin ()){ $scripts -> add ( ‘jquery’ , ‘/wp-includes/js/jquery/jquery.js’ , false , ‘1.X.X’ );}
如果佈景本身載入 jQuery 很肥大可以改用 Google 提供免費 "jquery.js":Api
P.S: WordPress 升級或版本更新時檔案會被覆蓋掉,記得在手動修改。
變更預設網站 jQuery.js 載入方式
前面提到有關 "移除 WordPress 前台 jQuery 自動加載" 教學,若是發現到佈景或外掛本身,會需要載入這元素,關閉會出現錯誤的話,你也可以選擇引用 Google 提供 api 函式,或是額外將 js 上傳至圖床再來載入都是不錯解決方案。
進入 WordPress 正在使用佈景資料夾 – > wp-content/themes/ 找到 function.php 檔案,加入以下指令即可!!
/** 移除呼叫內部 jquery 指令 **/
function modify_jquery() {
if (!is_admin()) {
wp_deregister_script(‘jquery’);
//wp_register_script(‘jquery’, ‘空間網址/jquery.js’, false, ‘1.11.2’);
//wp_register_script(‘jquery’, ‘//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js’, false, ”);
(上述兩者依據需求則依即可)
wp_enqueue_script(‘jquery’);
}
if (!is_admin()) {
wp_deregister_script(‘jquery-migrate’);
//wp_register_script(‘jquery’, ‘空間網址/jquery-migrate-1.2.1.min.js’, false, ‘1.2.1’);
wp_register_script(‘jquery-migrate’, ‘//code.jquery.com/jquery-migrate-1.2.1.min.js’, false, ‘1.2.1’);
(上述兩者依據需求則依即可)
wp_enqueue_script(‘jquery-migrate’);
}
}
add_action(‘init’, ‘modify_jquery’);
如果覺得麻煩,你也可以選擇使用網友製作外掛輔助使用。
※Use Google Libraries:網址
確認系統沒有跑滿 WP Cron 排程
最近遇到特殊狀況,想說明明手邊網站流量不高,可是卻異常將主機資源給吃滿,後來裝了 WP Control 外掛檢查後,才發現系統表格多達數萬筆的 dsq_sync_forum 排程,原來是過往曾下過 define(‘DISABLE_WP_CRON’, true); 指令,這動作不僅讓排程給關閉,也會造成 Disqus 留言板產生出一堆排程,這吃資源情況不讓伺服器崩潰才怪,可以先將原本語法給註解掉,然後在資料庫表格 wp_options 底下找到 option_name 欄位名為 cron 將其給刪除,過幾天再透過外掛檢查是否不再產生這情況,我想應該就能解決 80% 吃資源問題,過往經驗往往吃資源都是排程問題,即使 PV 8000/日 可能得要 4G/雙核心才撐得住,改善後我想單核心/2G 規格都綽綽有餘了。
這都是大方針,我想如果都照著做我想絕對有明顯的改善,有任何問題也歡迎大家可以提出來討論,希望本篇文章對於網站流量大卻不知如何優化的朋友有不少幫助,如果很不幸地照著做還是速度很慢、吃流量,恭喜你成為大咖中的大咖,選擇好一點的虛擬主機方案或是租一台獨立主機或 VPS 才是解決之道 XDD
備註:近日發現不少朋友問說為何流量不大可是還是發生 CPU 爆掉問題?? 明明也照著優化卻無法降低 CPU & 記憶體使用率?? 研究後才發現佈景內 PHP 函式寫法有問題,不是撰寫很完善容易進入迴圈產生 error.log,所以有這類情況先檢查看看佈景問題吧!! 此外我無法協助幫忙解決問題 ~ 最近太忙了 …
話說阿福也換Disqus啦XD
我最近也想換了XDDDDD
把留言板換 Disqus 吧!!
真的是方便又好用 ~ ^^
Disqus以前跟前台的整合不太OK就沒用,
不過它現在改成這樣 很好用啊~
對啊!! 留言匯入匯出也很方便!! 趕快裝吧 ^^
也可以新增一個子網域 然後將圖片放到新的子網域 整體讀取速度會更快
方法可以參考這篇
http://www.williamformosa.com/speed-media-subdomain/
【網站速度優化】WordPress 媒體圖片轉移到子網域
關於圖片放置子網域問題,之前我也有提到,只是想說 WP 站長多有技術底,因此沒特別強調,感謝告知!!
網址:http://sofun.tw/pingdom/