[教學] 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/