1、靜態(tài)文件優(yōu)化
創(chuàng)新互聯(lián)主營贛縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),贛縣h5重慶小程序開發(fā)公司搭建,贛縣網(wǎng)站營銷推廣歡迎贛縣等地區(qū)企業(yè)咨詢
網(wǎng)站的靜態(tài)文件一般有兩種:第一種是網(wǎng)站的 CSS,Javascript 和一些主題的常用背景圖片和按鈕文件,這些圖片如果網(wǎng)站不進(jìn)行改版或者其他改動,基本上是不會修改的,第二種是每天更新的網(wǎng)站內(nèi)容中上傳的圖片或者附件,這些圖片文件也是基本不會改動的。
解決好靜態(tài)文件存儲和加速,網(wǎng)站性能就首先能得到基本的保證了,WordPress 構(gòu)建的網(wǎng)站和博客也是一樣的。對于這些靜態(tài)文件來說,最好的解決方案永遠(yuǎn)是使用 CDN 網(wǎng)絡(luò)進(jìn)行加速,這樣服務(wù)器的壓力將大大降低,因?yàn)樵L問頁面只有當(dāng)前頁面是在自己服務(wù)器上,其他所有圖片 JS CSS 都是從 CDN獲取的。
2
服務(wù)器優(yōu)化
優(yōu)化好靜態(tài)文件之后,就要開始對網(wǎng)站的動態(tài)內(nèi)容進(jìn)行優(yōu)化,優(yōu)化動態(tài)內(nèi)容,首先要有一個穩(wěn)定網(wǎng)絡(luò)環(huán)境,穩(wěn)定的主機(jī)供應(yīng)商和服務(wù)器性能的優(yōu)化。
選擇一個靠譜的主機(jī)托管商,在國內(nèi)這個很多時候讓你抓狂,但是只要努力還是可以的。個人選擇 BGP 或者多線機(jī)房,讓全國用戶訪問都能有不錯的速度,然后盡量選擇獨(dú)立的服務(wù)器,再不濟(jì),也得 VPS, :-) 因?yàn)槟銢]有服務(wù)器的 Root 權(quán)限很多東西是無法進(jìn)行的(個人博客可以考慮選擇我愛水煮魚目前使用的 Media Temple 這類的 VPS 主機(jī)),當(dāng)然你也可以找我合租,速度肯定非常強(qiáng)悍。
WordPress 緩存機(jī)制和如何緩存
要徹底明白和搞懂 WordPress 性能優(yōu)化,首先要理解 WordPress 緩存機(jī)制,WordPress 默認(rèn)是一種叫做 WordPress Object Cache 的對象緩存機(jī)制,它是把需要緩存的內(nèi)容按照 Key-Value 這樣的模式進(jìn)行緩存(和 No-SQL 的 key-value 的有點(diǎn)類似),當(dāng)然它還支持按照 Group 來劃分和避免緩存的內(nèi)容沖突。
所以最基礎(chǔ)的 WordPress 緩存插件就是,把 WordPress 產(chǎn)生的 Key-Value 存起來,如果是使用 Memcached,就是存到內(nèi)存,如果使用 Flie 就是存到硬盤中,當(dāng)然高級的 WordPress 插件還能做更多,比如 WP Super Cache把整個頁面緩存到硬盤中,下次直接訪問靜態(tài)的 HTML 文件,讓服務(wù)器直接繞過 PHP,節(jié)約 CPU 時間。 Batcache 會把整個頁面當(dāng)做一個對象存到內(nèi)存里面。
App每日推送 由于注冊用戶操作比較頻繁,不適合 WP Super Cache 這樣的靜態(tài)緩存,對硬盤讀寫太多,討論區(qū)又無法緩存,我們使用 Memcached 和 Batcache 搭配的內(nèi)存緩存模式:
對于已登陸的用戶,Memcached 會把 WordPress 的對象存到內(nèi)存里面,服務(wù)器的內(nèi)存足夠大,讀取和存儲速度也夠快,并且內(nèi)存緩存命中率也大于 94%。另外我們 WordPress 程序經(jīng)過優(yōu)化,每個頁面的查詢一般在 2 條左右,所以整個網(wǎng)站效率很高。
WordPress 程序優(yōu)化
WordPress 程序優(yōu)化是基于 WordPress Object Cache 的機(jī)制對 WordPress 插件和主題進(jìn)行優(yōu)化,主要經(jīng)驗(yàn)有以下幾點(diǎn):
只使用必須的 WordPress 插件,安裝太多的 WordPress 插件很容易引起性能問題。從正規(guī)站點(diǎn)下載 WordPress 主題,這樣下載的主題才能保證質(zhì)量和安全。WordPress 主題和插件盡量使用模板函數(shù),因?yàn)?WordPress 模板函數(shù)如果可能都已經(jīng)做好了 WordPress Object Cache。比如 get_the_terms 和 wp_get_object_terms 這兩個函數(shù),功能基本一樣,但是 get_the_terms 直接從對象緩存中取數(shù)據(jù),無查詢,而 wp_get_object_terms 每次都從數(shù)據(jù)庫中取數(shù)據(jù)。WordPress 插件和主題如果一定要直接查詢數(shù)據(jù)庫,請做好 Object Cache,將查詢的結(jié)果使用 wp_cache_set 存到 Object Cache 中,下次直接使用 wp_cache_get 獲取。
簡單的說就是備份數(shù)據(jù),然后在新站導(dǎo)入數(shù)據(jù),上傳附近,修改細(xì)節(jié)......就這么多東西,首先就是備份原空間的數(shù)據(jù),由于域名被封,無法嘗試進(jìn)WP后臺用自身的導(dǎo)入導(dǎo)出功能備份,嘗試phpmyadmin導(dǎo)出數(shù)據(jù)再提示保持?jǐn)?shù)據(jù)時,自動調(diào)出本機(jī)已經(jīng)安裝的迅雷下載數(shù)據(jù)庫,但是每次都是失敗,無法下載,卸載了訓(xùn)練,想用IE普通下載模式,但是導(dǎo)出數(shù)據(jù)時根本調(diào)不出下載對話框,重新解析了一個域名到這個站上,由于以前做過偽靜態(tài)化,即使綁定了新域名后臺還是無法進(jìn)入,網(wǎng)上查資料就下載了一個帝國備份網(wǎng),很輕松的倒出了數(shù)據(jù)庫的數(shù)據(jù)。(推薦直接上傳帝國備份王到你老空間進(jìn)行備份數(shù)據(jù)庫)
然后就是把從原空間下載的所有文件全部上傳到新空間,然后修改wp-config.php文件里新數(shù)據(jù)庫的相關(guān)用戶名和密碼,再在新空間上傳帝國備份王,倒入原數(shù)據(jù)庫倒入,你再返回首頁,已經(jīng)看到了一個和你原來空間一樣的首頁姐們,但是我不管是點(diǎn)擊欄目還是文章都是提示無法找到該鏈接,(我以前做了偽靜態(tài)除了,Linux系統(tǒng))出現(xiàn)這種情況,其實(shí)就是該空間不支持所謂的偽靜態(tài)而已(大多win主機(jī)都不支持)在這里給推薦一個快速設(shè)置WIN下實(shí)現(xiàn)WP偽靜態(tài)有效的方法。
首先打開記事本,將以下內(nèi)容原樣復(fù)制:
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, ‘://’);
$pos = strpos($qs, ‘/’, $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include(’index.php’);
?
另存為wp-404.php,也可以是404.php,名稱可以隨便更換,上傳到服務(wù)器根目錄,然后去你的主機(jī)管理面板設(shè)置自定義404錯誤頁面,將頁面設(shè)置為你剛才上傳的這個頁面。進(jìn)行到這個步驟,我的網(wǎng)站已經(jīng)完全恢復(fù)了正常,提醒這個404的頁面要放在WP安裝程序的根目錄,而不是空間合租的根目錄。再總結(jié)也下。
導(dǎo)出數(shù)據(jù)庫,可以直接在后臺導(dǎo)出,也可也用從phpmyadmin中導(dǎo)出,也可也用第三方軟件到處,沒有限制,前提是如果你用哪種導(dǎo)出方式,最好導(dǎo)入時還用哪種方式導(dǎo)入,比方你導(dǎo)出是用WP后臺自身的功能的話,那么你導(dǎo)入上就不能直接用從phpmyadmin中進(jìn)行導(dǎo)入,在新空間,在數(shù)據(jù)為導(dǎo)入前,你可以直接安裝新程序,也可也直接把原空間數(shù)據(jù)全部下載上傳的新空間都可以,沒有截圖,寫的有些籠統(tǒng),看不懂的網(wǎng)上可以搜一下相關(guān)的解決辦法,相信你很快就能搬家成功。
前天幾天用WP博客做了個小站,放在了某合租上,當(dāng)我晚上想起來更像兩篇文章上去時,突然發(fā)現(xiàn)網(wǎng)站怎么都打不開,PING了看是通的,打開了別的網(wǎng)站是通的,否定了服務(wù)器的問題,最好聯(lián)系了一下客服才被告之被機(jī)房封了,問起原因,和什么時間開通,卻是遙遙無期,無奈之下等了兩天的情況下不得不考慮從新給wp程序搬家,在這里網(wǎng)址我也就不寫了(合法,已經(jīng)備案,說封就封了,連個封的理由都沒)等了兩天還是看這也是無望恢復(fù),看了看論壇有太多的站長都再討論這無緣無故的就被封了,唯一能讓能安慰自己的理由就是涉嫌牽連的網(wǎng)站都被封,也不知道所謂的涉嫌牽連是什.......空間的名字我也不說了,下面就說一下我wp搬家的過程簡單的說一下,給一些wp站長在搬家時做個參考。(無截圖) 簡單的說就是備份數(shù)據(jù),然后在新站導(dǎo)入數(shù)據(jù),上傳附近,修改細(xì)節(jié)......就這么多東西,首先就是備份原空間的數(shù)據(jù),由于域名被封,無法嘗試進(jìn)WP后臺用自身的導(dǎo)入導(dǎo)出功能備份,嘗試phpmyadmin導(dǎo)出數(shù)據(jù)再提示保持?jǐn)?shù)據(jù)時,自動調(diào)出本機(jī)已經(jīng)安裝的迅雷下載數(shù)據(jù)庫,但是每次都是失敗,無法下載,卸載了訓(xùn)練,想用IE普通下載模式,但是導(dǎo)出數(shù)據(jù)時根本調(diào)不出下載對話框,重新解析了一個域名到這個站上,由于以前做過偽靜態(tài)化,即使綁定了新域名后臺還是無法進(jìn)入,網(wǎng)上查資料就下載了一個帝國備份網(wǎng),很輕松的倒出了數(shù)據(jù)庫的數(shù)據(jù)。(推薦直接上傳帝國備份王到你老空間進(jìn)行備份數(shù)據(jù)庫) 然后就是把從原空間下載的所有文件全部上傳到新空間,然后修改wp-config.php文件里新數(shù)據(jù)庫的相關(guān)用戶名和密碼,再在新空間上傳帝國備份王,倒入原數(shù)據(jù)庫倒入,你再返回首頁,已經(jīng)看到了一個和你原來空間一樣的首頁姐們,但是我不管是點(diǎn)擊欄目還是文章都是提示無法找到該鏈接,(我以前做了偽靜態(tài)除了,Linux系統(tǒng))出現(xiàn)這種情況,其實(shí)就是該空間不支持所謂的偽靜態(tài)而已(大多win主機(jī)都不支持)在這里給推薦一個快速設(shè)置WIN下實(shí)現(xiàn)WP偽靜態(tài)有效的方法。 首先打開記事本,將以下內(nèi)容原樣復(fù)制: $qs = $_SERVER['QUERY_STRING']; $pos = strrpos($qs, ‘://’); $pos = strpos($qs, ‘/’, $pos + 4); $_SERVER['REQUEST_URI'] = substr($qs, $pos); $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI']; include(’index.php’); ? 另存為wp-404.php,也可以是404.php,名稱可以隨便更換,上傳到服務(wù)器根目錄,然后去你的主機(jī)管理面板設(shè)置自定義404錯誤頁面,將頁面設(shè)置為你剛才上傳的這個頁面。進(jìn)行到這個步驟,我的網(wǎng)站已經(jīng)完全恢復(fù)了正常,提醒這個404的頁面要放在WP安裝程序的根目錄,而不是空間合租的根目錄。再總結(jié)也下。