網(wǎng)站打開(kāi)速度的快與慢,直接關(guān)系到訪(fǎng)客的用戶(hù)體驗(yàn)度。網(wǎng)站被加載的速度與多個(gè)要素相關(guān),如服務(wù)器優(yōu)于劣,網(wǎng)絡(luò)帶寬大與小,頁(yè)面代碼繁與簡(jiǎn)等。如果受限于資金,那么通過(guò)優(yōu)化網(wǎng)頁(yè)代碼來(lái)加速網(wǎng)站打開(kāi)速度,就是很有效的方法。
一、網(wǎng)站的空間線(xiàn)路
沒(méi)這個(gè)前提,就算你網(wǎng)站做的再好,內(nèi)容再少,服務(wù)器多強(qiáng),打開(kāi)需要半天沒(méi)的說(shuō),還有可能經(jīng)常出現(xiàn)打不開(kāi)的現(xiàn)象,所以,要像網(wǎng)站打開(kāi)的快,我們就得把這個(gè)地基打好,下面樓需要建多少層才好說(shuō)話(huà)。通常我們常用的有電信,網(wǎng)通,或雙線(xiàn)路,三線(xiàn)路。無(wú)論你選了那種,都要好要快就行了。
二、網(wǎng)站需要全站靜態(tài)化生成
就是頁(yè)面的后綴是.html或.php等其它的,為什么這樣說(shuō)呢?你想一下,一般動(dòng)態(tài)的網(wǎng)站,打開(kāi)頁(yè)面是,首先他就必須去讀取數(shù)據(jù)庫(kù)的資料,然后在顯示到頁(yè)面上,走了個(gè)彎路,并還有數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的速度和數(shù)據(jù)庫(kù)數(shù)據(jù)多少,數(shù)據(jù)庫(kù)的大小所決定。你想不慢都難,靜態(tài)頁(yè)面就不同了,它不需要訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),因?yàn)樗谏沙鰜?lái)時(shí)就已通過(guò)讀取數(shù)據(jù)庫(kù)的資料,資料生成出一個(gè)頁(yè)面來(lái)了,走的是直路,想不快都難;
三、壓縮或精簡(jiǎn)Javascript代碼和css代碼
無(wú)論什么類(lèi)型的網(wǎng)站,用戶(hù)每次次點(diǎn)擊網(wǎng)站的時(shí)候,都會(huì)加載網(wǎng)站的Javascript和css代碼,假設(shè)這些代碼冗多,勢(shì)必會(huì)降低網(wǎng)站打開(kāi)速度。把CSS樣式放在頭部,如果JS很多的話(huà),把js代碼放在尾部。這樣做可以盡可能的先加載頁(yè)面的DOM結(jié)構(gòu),然后才可以級(jí)用戶(hù)體驗(yàn)。如果JS很多的大的話(huà),頁(yè)面都沒(méi)加載完,何來(lái)用戶(hù)體驗(yàn)之說(shuō)呢!
如果有這樣的問(wèn)題,就要對(duì)代碼進(jìn)行壓縮或精簡(jiǎn)。壓縮方面,有大量的第三方工具如站長(zhǎng)之家的CSSJS壓縮工具可供大家直接免費(fèi)試用,經(jīng)過(guò)壓縮的代碼,普遍能減小40%到65%。精簡(jiǎn)方面,能用一個(gè)樣式控制就不用兩個(gè),思路是既能滿(mǎn)足網(wǎng)站的頁(yè)面布局,又是的代碼量。
四、減少HTTP請(qǐng)求數(shù)
用戶(hù)在打開(kāi)一個(gè)網(wǎng)頁(yè)的時(shí)候,后臺(tái)程序響應(yīng)用戶(hù)所需的時(shí)間并不多,用戶(hù)等待的時(shí)間主要花費(fèi)在下載網(wǎng)頁(yè)元素上了,即HTML、CSS、JavaScript、Flash、圖片等,統(tǒng)計(jì)顯示,每增加一個(gè)元素,網(wǎng)頁(yè)載入的時(shí)間就增加25-40毫秒(取決于用戶(hù)的帶寬情況)。所以,想要提高網(wǎng)頁(yè)打開(kāi)速度,就要減少HTTP請(qǐng)求數(shù),方法有3種:
1)、減少不必要的HTTP請(qǐng)求例如用CSS圓角代替圓角圖片,減少圖片的使用。
2)、合并文件,對(duì)于文本文件,可以直接合并內(nèi)容。例如將多個(gè)JS(JavaScript的簡(jiǎn)稱(chēng))文件合并成一個(gè),將多個(gè)CSS文件合并成一個(gè)。
3)、優(yōu)化緩存,對(duì)于沒(méi)有變化的網(wǎng)頁(yè)元素(如頁(yè)頭、頁(yè)尾等),用戶(hù)再次訪(fǎng)問(wèn)的時(shí)候沒(méi)有必要重新下載,直接從瀏覽器緩存里讀取就可以了。
把頁(yè)面中需要用到的JavaScript和CSS樣式表文件放在另外的文件夾中,這樣一來(lái)在打開(kāi)網(wǎng)站其它頁(yè)面時(shí)就會(huì)緩存這些調(diào)用的文件,從而加快網(wǎng)站頁(yè)面的加載速度。
現(xiàn)在的網(wǎng)頁(yè)都有多個(gè)圖片、CSS外部文件鏈接、Javascript外部腳本鏈接。所以當(dāng)訪(fǎng)問(wèn)一個(gè)網(wǎng)頁(yè)時(shí)瀏覽器需要多次向服務(wù)器請(qǐng)求這些文件。在請(qǐng)求和加載之間會(huì)產(chǎn)生不少的時(shí)間差。特別是一些網(wǎng)頁(yè)上有多個(gè)小圖片、圖標(biāo)按鈕的網(wǎng)頁(yè),有多少圖片,瀏覽器就需要請(qǐng)求多少將這些小文件,多將請(qǐng)求這些小圖片文件將明顯影響網(wǎng)頁(yè)的加載速度。所以我們應(yīng)該盡可能將小圖片拼合一個(gè)PNG大圖片上,然后通過(guò)坐標(biāo)來(lái)顯示圖標(biāo)。一次請(qǐng)求一個(gè)大圖片比多次請(qǐng)求小圖片速度要快不少。同樣,最好將CSS和Javascript盡可能地整合到一個(gè)文件中都有助于加快網(wǎng)頁(yè)載入速度。
五、 服務(wù)器端的緩存設(shè)置
假設(shè)用戶(hù)第1次訪(fǎng)問(wèn)了你的網(wǎng)站,那么用戶(hù)下一次再次訪(fǎng)問(wèn)你的站點(diǎn),速度就會(huì)更快。這是什么原因呢?原因在于瀏覽器緩存。
大多數(shù)服務(wù)器,或空間已經(jīng)默認(rèn)設(shè)置了緩存功能,站長(zhǎng)或者seoer要做的就是在后臺(tái)設(shè)定相應(yīng)文件類(lèi)型以及過(guò)期時(shí)間。在此,建議為:如果是windows主機(jī),就將圖片,css和Javascript文件的緩存時(shí)間設(shè)置為30天;如果是Apache Web服務(wù)器,則使用mod_cache模塊開(kāi)啟緩存功能。
六、優(yōu)化css中的引用圖片
假設(shè)一個(gè)頁(yè)面需要大量的周邊圖片,如下圖標(biāo)等,如果這些圖片都是單獨(dú)調(diào)用,那么請(qǐng)求數(shù)就會(huì)加大,這就說(shuō)明:cssimages過(guò)多,請(qǐng)求數(shù)就會(huì)增大,網(wǎng)站打開(kāi)速度就會(huì)變慢。
如果我們將頁(yè)面所需要使用的圖片合并在一張圖上,那么這些圖片請(qǐng)求數(shù)就會(huì)變?yōu)?,頁(yè)面速度相對(duì)就會(huì)加快。如何將需要的圖片放在一張圖上并在相應(yīng)的位置調(diào)用呢?方法在于坐標(biāo)定位。即:通過(guò)css坐標(biāo)取得圖片路徑,標(biāo)簽中引用相應(yīng)坐標(biāo)。
如果你對(duì)前端了解,那么這些都不是大問(wèn)題,如果你不懂css,那么CSS圖片合并生成器類(lèi)工具(搜索引擎即可)能直接提供相應(yīng)內(nèi)容:合并css圖片,同時(shí)生成相應(yīng)代碼。
七、圖片壓縮處理
有數(shù)據(jù)顯示,圖片加載時(shí)間是造成網(wǎng)站速度的因素,將圖片加載速度問(wèn)題解決,頁(yè)面速度問(wèn)題就解決了一大半。假設(shè)網(wǎng)站有大量jpg等格式的圖片,需要在不影響視覺(jué)的前提下,盡量對(duì)其壓縮,以減少圖片本身的大小。與壓縮Javascript文件類(lèi)似,有大量的在線(xiàn)工具提供相應(yīng)壓縮服務(wù),有大量的圖像編輯軟件如美圖秀秀等,都有壓縮功能。
八、 服務(wù)器端開(kāi)啟gzip壓縮功能
網(wǎng)頁(yè)中的每個(gè)元素越小,下載所需的時(shí)間就越少,這個(gè)很好理解。gzip壓縮是效率較高的一種數(shù)據(jù)壓縮格式。如果開(kāi)啟gzip壓縮,壓縮率一般能達(dá)到75%左右,效果非常明顯。大部分服務(wù)器如虛擬主機(jī),VPS等都已經(jīng)默認(rèn)開(kāi)啟了這一項(xiàng)功能,如果沒(méi)有開(kāi)啟,你對(duì)相應(yīng)設(shè)置又不會(huì),建議直接聯(lián)系空間商,讓他們解
網(wǎng)站打開(kāi)速度的快與慢關(guān)系到用戶(hù)體驗(yàn)的問(wèn)題,關(guān)系到網(wǎng)站對(duì)搜索引擎?zhèn)鬟f的友好度問(wèn)題,利用可實(shí)現(xiàn)的手段加快網(wǎng)站加載速度,顯得不可或缺。在提升網(wǎng)頁(yè)打開(kāi)速度經(jīng)常被忽視的一個(gè)問(wèn)題是響應(yīng)。對(duì)于用戶(hù)來(lái)說(shuō),每次的操作,不管返回結(jié)果是慢,還是快,都要及時(shí)予以響應(yīng),最典型的例子就是:當(dāng)用戶(hù)點(diǎn)擊打開(kāi)一張圖片時(shí),是否有百分比數(shù)字顯示的進(jìn)度條,就是一個(gè)典型的響應(yīng)設(shè)計(jì)。