在 Azure 網站服務上架設 WordPress 的 10 個加速技巧

原文發表於 10 Ways to Speed up your WordPress site on Azure websites

速度慢的網站可能會造成您目標客群的流失,而且也會減少他們再次造訪網站的機會。許多搜尋引擎也將頁面載入速度列為排序的考量,這對於網站的能見度有很大的影響。如果您已經或正要使用 Azure 網站服務架設 WordPress,同時也想瞭解如何提升網站的載入速度,那麼下面的一些技巧是您可以考慮的方向。

1. 網站服務與資料庫必須在相同的資料中心

在 Azure 網站服務上架設 WordPress 時,不論是使用由 ClearDB 提供的 MySQL 資料庫服務或是 Azure 上的 SQL 資料庫服務,請一定要確認網站服務與資料庫要在相同的資料中心內,否則跨資料中心的網路傳輸會增加頁面載入的時間,所以將網站服務與資料庫放在同樣的資料中心是最好的作法。

2. 盡可能不要依賴免費的 MySQL 資料庫方案

雖然對於每個 Azure 訂閱來說,Azure 都有提供免費 20MB 的 MySQL 資料庫方案(SQL 資料庫服務也有),但這個方案比較適合開發測試評估使用,因為它有以下的限制:

  • 最多 20MB 的儲存空間。
  • 只能同時有 4 個資料庫連線。
  • 有限的運算資源

我們建議您可以考慮 ClearDB 所提供的其它方案,或是在 Azure 市集中直接選購。如果 ClearDB 不能滿足您的需求,那麼您可以在 Azure 中建立一個虛擬機器,然後安裝運作一個 MySQL 資料庫服務,詳細的操作可以參考這篇文章

3. 優化資料庫

WordPress 在設計上會自動儲存所有的東西,但這對於資料庫來說會增加負擔來儲存大量的文章草稿、trackbacks 連結、留言、垃圾桶內容等等,於是您必須經常清理資料庫,以免過多無用的資源吃掉資料庫的儲存空間(也迫使您要選擇更高的價格方案)。

WP-Optimize 是一個很棒的 WordPress 插件,它可以幫您定期清除資料庫中無用的內容,讓資料庫保持最佳的使用狀態,同時也幫助您省下去清理資料庫的時間。

4. 壓縮圖片

如果您的 WordPress 網站上有大量的圖片,這些圖片可能會吃掉不少頻寬流量,這時您有幾個選擇:

  • 使用 Azure Blob 儲存體來儲存圖片。您可以安裝 Windows Azure Storage for WordPress 這個插件,這樣就能讓 WordPress 中上傳圖片或檔案的操作直接上傳至 Azure Blob 儲存體中,而不是檔案系統中的 upload/ 目錄。使用 Azure Blob 儲存體除了節省流量、儲存空間以外,若有需要還可以再結合 Azure CDN 的服務來快取這些檔案。
  • 壓縮圖片WP Smush.it 這個插件很讚,它會自動壓縮您上傳的圖片,而且不會破壞圖像品質,當您有大量圖片時,這個插件幫您省下的儲存空間以及流量將會相當可觀。

5. 減少 HTTP 要求

當瀏覽器載入一個網站時,總會發出多個 HTTP 要求來讀取網頁內容、JavaScript、CSS、第三方函式庫等等,很多優化網站存取速度的建議都會提到這個問題,也會建議您將多個 JavaScript 或是 CSS 檔案合而為一以減少 HTTP 要求的數目。WordPress 的插件庫有很多這個功能的插件,例如 Better WordPress Minify 這個插件就蠻有效能減少 HTTP 要求數目,同時也能減少流量及頻寬。

6. 診斷是否佈景主題拖慢網站

有些佈景主題雖然很華麗,但是它可能也是拖慢網站速度的元凶,每次在換佈景主題時別忘了確認一下它是不是大幅拖慢網站的載入速度。

7. 診斷是否有插件拖慢網站

理由同上,寫得不好的插件可能也會拖慢網站,您可以使用像是 P3 這個插件來進行分析插件的效能,藉此找出拖慢速度的元凶,再評估是否要繼續使用這個插件或是找尋更好的替代方案。

8. 關閉 trackback / pingback 的功能

WordPress 預設使用 Pingbacks 以及 trackbacks 來提示您的網站正被別人引用(了解更多),不過這兩個功能也會消耗許多網站效能及速度,如果您覺得這個功能不是很必要的話,建議可以關閉。

9. 設定明確的圖片大小

瀏覽器在讀取網頁內容後會開始計算頁面的佈局,如果您在插入圖片時沒有輸入明確的圖片大小,瀏覽器會花更多時間來計算,所以最好的方式就是插入圖片時,明確地填入它的寬與高,讓瀏覽器可以更快計算完佈局,顯示頁面。

10. 使用快取

快取(cache)一直是提升效能的關鍵之一,網站大部份時間都是在讀取內容,使用快取可以減少網站運算或讀取資料的次數及時間,也會很有效提升效能,您可以考慮使用:

  • IIS output cache。由於在 Azure 網站服務上,網站伺服器的底層是用 IIS 為基礎所開發的,而使用 IIS output cache 這個功能將會很有效地快取您網站上的靜態檔案,詳細的操作可以看這篇文章
  • WP Super Cache 。這個插件也可以很有效快取網站上許多內容,不過它的設定稍微複雜一點,可以參考這篇文章來設定。

當然,加速 WordPress 網站的方法還有很多種,不過上面這 10 個技巧如果都應用在您的 WordPress 網站上,應該可以得到相當可觀的效能提升。

這篇文章原始發佈於「Microsoft Azure 中文部落格」