如果你準備做一個網站,你的版面,欄目都考慮好了,那麼你應該考慮到網站的效能問題,這不僅是給使用者良好的體驗感,在 seo 的範圍內,更是必不可少的一部分。當然市面上效能不錯的原始碼非常多,像 dedecms 、帝國 cms 、 WordPress 等等。今天專職講下 WordPress 的最佳化及執行等相關問題。

WordPress 的好是有目可睹的,它給使用者提供出色的使用者體驗,並給最佳化人員確保網站的效能及網站的最佳化可再擴充套件化的功能。讓我們來看看如何最佳化 WordPress 網站,讓網站能提高更優秀的效能。

MySQL

查詢快取是你最好證明 MySQL 是一個可擴充套件的關係資料儲存,沒有任何理由 WordPress 為什麼不能在未來幾年內繼續努力。

你會想,為您的網站以確保啟用查詢快取和執行。這將確保 MySQL 正在做盡可能少的工作,更重要的事情比冗餘查詢騰出資源。

您還需要確保您使用工具像 mysqltuner 或相似的,以確保你的表效能 (緩衝等) 是最佳的。交換引擎 InnoDB 的,現在有支援全文搜尋,推薦用於高流量的網站。你不會危及本地 WordPress 的搜尋質量。我建議 Percona 的分佈,尤其是如果 MySQL 的功能,如分片,讀副本等,允許其規模隨著需求的增長。

MySQL 的資料儲存區是不是一個瓶頸,需要分析你的主題和外掛生成的查詢最佳化 (減少響應時間),減少其數量,透過重構程式碼或不同的快取技術。

請記住,預設情況下,使用 WordPress 的瞬態問題快取像一個耗時的 API 請求 (API 請求變得昂貴,因為它們阻止執行,同時等待處理響應從第三方) 移動,並把它放到資料庫 (wp_options 表) 。這也許不是一件壞事,如果這個資料沒有被序列化並儲存在同一表中的其他各種設定在 WordPress 。

PHP

PHP 是緩慢的。這不是 WordPress 的故障,也不是任何人的過錯,技術不斷向前發展。我們該怎麼辦呢? 使用 NewRelic 的跟蹤最佳化可以得到一個經驗:

• 較大的記憶體使用情況,更大的執行時間。

• 利用 PHP 的自動載入,以減少記憶體使用。

使用記憶和儘可能避免環路,以減少執行時間和記憶體使用情況。

避免開啟比必要更多的檔案,磁碟和記憶體的使用,以減少呼叫。

使用需要,而不是 include_once 和 require_once 。

操作碼快取

APC 是一個自由,開放和強大的框架用於快取和最佳化 PHP 中間程式碼。這意味著,當新增到您的 Web 伺服器,可以實現顯著的速度提升 (尤其是具有良好的程式碼) 。 APC 保持解釋 (可執行檔案) 版本的程式碼在記憶體中,因此,它的請求沒有被重新解釋。

APC 還提供物件儲存,使儲存在記憶體中建立的物件隔壁指令碼需要他們。這個級別的快取,唯一的缺點就是它的地方你有各自的應用伺服器。這意味著每臺伺服器上重建物件快取 (浪費 CPU 時間),而且更重要的是,清除的物件是棘手的。

資料庫和架構最佳化後,可以進行微調你的 WordPress 安裝。

這裡有一些任務可以完成,以確保您以峰值效能執行:

外掛

這可能會明顯被發現的,但它是往往被忽視的東西。請確保您的 WordPress 外掛是最新的。開發人員總是在尋找方法來提高他們的外掛,這些方法之一是他們與每一個版本的程式碼以提高效能。這是一個非常簡單的方式,以確保你的外掛始終執行最新版本的。

應停用未使用的外掛,讓出他們不使用寶貴的資源,載入了不必要的程式碼。這不僅節省空間。在伺服器上,這些沒有使用的外掛會使你的網站速度很慢,有必要應該更新到最新版本、下載補丁或不再不再支援外掛程式碼以保護漏洞不被利用。

使用 WordPress 的快取

最有名的 WordPress 的快取工具是 W3 的總快取,但也有其他。這些快取外掛加快您的網站,讓更多的使用者重新訪問您的網站從而保護到訪問者使用者利益。

瀏覽器快取

瀏覽器快取記憶體可以幫助減少伺服器負載限制每頁的請求數量。例如,透過設定正確的檔案頭不改變的檔案 (靜態檔案,如圖片,CSS,Java 等) 的瀏覽器然後將這些檔案快取在使用者的計算機上。這種技術可以讓瀏覽器進行檢查,看檔案是否已經改變,而不是簡單地要求他們。其結果是,您的 Web 伺服器可以更多的出現 304 回應,而不是 200 響應,要求要傳送的檔案。

看看到 HTTP 快取控制和 Expires 頭,以及實體標籤獲取更多資訊。

CDN

使用 CDN,可以讓你儲存的影像和文字,讓訪問者訪問過後的內容從頁儲存在第三方群集伺服器上,從而加快網頁下載時間。

小工具

可疑的所有部件 (或側邊欄內容),將強制使用者輪流查詢 DNS 伺服器。例如用第三方工具將連結到各種各樣的網站,這可能會延遲載入,直到資訊傳遞給使用者,這明顯讓你的資訊在網路轉了好幾手,讓使用者直接感受到你網站的速度真的慢了。

此外,如果你的主題是使用自定義部件繪製最近的評論文章。如果這是不正確處理,它會查詢資料庫,每加一次查詢將大大增加伺服器的負擔。

如果您使用的是大量的 Widgets,是一個好主意,將使用 WP 的 Widget 快取外掛 (除了標準快取),以減少其輸出的處理時間。

透過將盡可能多的這些變化,並儘可能微調的東西可以大大增加你的 WordPress 載入時間,讓您的訪客將在網站上有更好的體驗。