WordPress怎麼優化
WordPress 最佳化經驗與技巧:
#動靜態分離
不管WordPress 博客還是其他CMS 建的站點,優化的第一步一定是動靜態分離,這也是你看到新浪,騰訊等門戶,他們圖片的網域和網站的網域不是同一個的原因。
網站的靜態文件一般有兩種:第一種是網站的CSS,JS 和一些主題的常用背景圖片和按鈕文件,這些圖片如果網站不進行改版或其他改動,基本上是不會修改的,第二種是每天更新的網站內容中上傳的圖片或附件,這些圖片檔案也是基本上不會改變的。
解決好靜態檔案儲存和加速,網站效能就首先能得到基本的保證了,WordPress 建立的網站和部落格也是一樣的。對於這些靜態檔案來說,最好的解決方案永遠是使用CDN 網路進行加速,這樣伺服器的壓力將大大降低,因為訪問頁面只有當前頁面是在自己的伺服器上,其他所有圖片,JS 和CSS 都是從CDN取得的。
WordPress 部落格如何使用CDN 服務,我寫的WPJAM Basic 插件,已經支援三種雲端儲存服務:阿里雲OSS,七牛雲端儲存和UCloud Ufile,只要你安裝了WPJAM Basic 插件,就可以一鍵實現WordPress 部落格靜態檔案CDN 加速。
伺服器優化
優化靜態檔案之後,就要開始對網站的動態內容進行最佳化,優化動態內容,首先要有一個穩定網路環境,穩定的主機供應商和伺服器效能的最佳化。
選擇一個可靠的主機託管商,個人推薦BGP 或多線機房,讓全國用戶訪問都能有不錯的速度,然後儘量選擇獨立的伺服器,再不濟,也得VPS,因為你沒有伺服器的Root 權限很多東西是無法進行的,國內一般推薦:阿里雲。
伺服器問題解決之後,伺服器可以做如下最佳化:
安裝 Memcached 和 PHP Memcached 擴充功能:使用 Memcached 來快取 WordPress 資料。
PHP 開啟 OPCache:把經過編譯後的 PHP 程式碼快取到共享記憶體中,並在使用者存取的時候直接呼叫從而起到高效的加速作用。
MySQL 設定 MySQL Query Cache,可以儲存儲存查詢結果,同樣的查詢不再從資料庫檢索,對速度有很大的提升。
WordPress 快取
要徹底明白和搞懂WordPress 效能最佳化,首先要理解WordPress 快取機制,WordPress 預設是一種叫做WordPress Object Cache 的物件快取機制,它是把需要快取的內容按照Key-Value 這樣的模式進行快取(和No-SQL 的key-value 的有點類似),當然它也支援依照Group 來劃分和避免快取的內容衝突。
所以最基礎的WordPress 快取外掛就是,把WordPress 產生的Key-Value 存起來,如果是使用Memcached,就是存到內存,如果使用Flie 就是存到硬碟中,當然高級的WordPress 外掛還能做更多,例如WP Super Cache把整個頁面快取到硬碟中,下次直接存取靜態的HTML 文件,讓伺服器直接繞過PHP,節約CPU 時間。 Batcache 會把整個頁面當作一個物件存到記憶體裡面。我個人推薦使用 Memcached 足夠。
Memcached 會把 WordPress 的物件存到記憶體裡面,伺服器的記憶體夠大,讀取和儲存速度也夠快,而且記憶體快取命中率也大於 97%。另外我們 WordPress 程式經過最佳化之後,每個頁面的查詢通常在 2 條左右,所以整個網站效率很高,首頁甚至做到 0 SQL,頁面產生只需要 0.0013秒。
WPJAM Basic 外掛程式已經整合了 Memcached,下載 WPJAM Basic之後,將 wpjam-basic/template/ 目錄下的 object-cache.php 檔案複製到 wp-content 目錄下即可。
WordPress 程式最佳化
WordPress 程式最佳化是基於WordPress Object Cache 的機制對WordPress 外掛程式和主題進行最佳化,主要經驗有以下幾點:
只使用必須的WordPress 插件,安裝太多的WordPress 外掛很容易引起效能問題。
從正規網站下載 WordPress 主題,這樣下載的主題才能保證品質和安全,推薦我和 xintheme 發布的 Autumn 和 Honey 主題。已經實作了首頁 0 SQL。
WordPress 主題和外掛程式盡量使用模板函數,因為 WordPress 模板函數如果可能都已經做好了 WordPress Object Cache。例如: get_the_terms 和 wp_get_object_terms 這兩個函數,功能基本上一樣,但是 get_the_terms 直接從物件快取中取數據,無查詢,而 wp_get_object_terms 每次都從資料庫中取資料。
WordPress 外掛程式和主題如果一定要直接查詢資料庫,請做好 Object Cache,將查詢的結果使用 wp_cache_set 存到 Object Cache 中,下次直接使用 wp_cache_get 取得。
WordPress 效能最佳化服務
總結一下:最佳化 WordPress,先下載並安裝WPJAM Basic 外掛。然後選擇好的伺服器和託管商,對 WordPress 程式進行最佳化,並使用 Memcached 做好快取。
WordPress 效率其實很高的,加上 WordPress 本身的靈活性和功能強大,WordPress 作為各種網站建立絕對是非常不錯的選擇,所以我一直在使用 WordPress 網站。
更多WordPress技術文章,請造訪WordPress教學專欄!
以上是WordPress怎麼優化的詳細內容。更多資訊請關注PHP中文網其他相關文章!