從事成都網(wǎng)站建設(shè)的公司都知道,如何提高頁(yè)面加載速度,提升用戶體驗(yàn),對(duì)運(yùn)營(yíng)網(wǎng)站來(lái)說(shuō),尤其是平臺(tái)類型網(wǎng)站來(lái)說(shuō),至關(guān)重要。那么如何提高加載速度呢?今天我們會(huì)從11個(gè)方面進(jìn)行闡述,希望對(duì)你有所幫助。
1、合并網(wǎng)頁(yè)中Js文件和CSS
將JS代碼和CSS樣式分別合并到一個(gè)共享的文件,這樣不僅能簡(jiǎn)化代碼,而且在執(zhí)行JS文件的時(shí)候,如果JS文件比較多,就需要進(jìn)行多次“Get”請(qǐng)求,延長(zhǎng)加載速度,將JS文件合并在一起后,自然就減少了Get請(qǐng)求次數(shù),提高了加載速度。
2、使用Sprites圖片技術(shù)
Spriting是一種網(wǎng)頁(yè)圖片應(yīng)用處理方式,它是將一個(gè)頁(yè)面涉及到的所有零星圖片都包含到一張大圖中去,然后利用CSS技術(shù)展現(xiàn)出來(lái)。這樣一來(lái),當(dāng)訪問(wèn)該頁(yè)面時(shí),載入的圖片就不會(huì)像以前那樣一幅一幅地慢慢顯示出來(lái)了,可以減少了整個(gè)網(wǎng)頁(yè)的圖片大小,并且利用CSSSprites能很好地減少網(wǎng)頁(yè)的http請(qǐng)求,從而大大的提高頁(yè)面的性能。
3、壓縮文本和圖片
壓縮技術(shù)如gzip可以有效減少頁(yè)面加載的時(shí)間。包括HTML,XML,JSON(JavaScript對(duì)象符號(hào)),JavaScript和CSS等,壓縮率都可以在大小70%左右。文本壓縮用得比較多,一般直接在空間開啟就行,而圖片的壓縮就很多的處理者比較隨意,很多都是直接上傳,其實(shí)這樣不好,一張未經(jīng)壓縮的圖片和壓縮到80%品質(zhì)的圖片,在視覺(jué)上區(qū)別不大,但文件大小卻相差4-5倍,所以為了提高加載速度和降低存儲(chǔ)空間的占用,圖片還是要處理的好。
4、延遲顯示可見(jiàn)區(qū)域外的內(nèi)容
為了確保用戶可以更快地看見(jiàn)可見(jiàn)區(qū)域的網(wǎng)頁(yè)可以延遲加載或展現(xiàn)可見(jiàn)區(qū)域外的內(nèi)容,為了避免頁(yè)面變形,可以使用占位符標(biāo)簽制定正確的高度和寬度。比如WP的jQueryImage LazyLoad插件就可以在用戶停留在第一屏的時(shí)候,不加載任何第一屏以下的圖片信息,只有當(dāng)用戶把鼠標(biāo)往下滾動(dòng)的時(shí)候,這些圖片才開始加載。這樣很明顯提升可見(jiàn)區(qū)域的加載速度,提高用戶體驗(yàn)。
5、確保功能圖片優(yōu)先加載
網(wǎng)站主要考慮可用性的重要性,一個(gè)功能按鈕要提前加載出來(lái),用戶進(jìn)入下載頁(yè),一個(gè)只需要8s時(shí)間的下載花了5s在等待、尋找下載按鈕圖片,誰(shuí)能忍受?
6、重新布置Call-to-Action按鈕
其實(shí)這個(gè)和上面一條是差不多的,都是從用戶體驗(yàn)速度著手,跳過(guò)了網(wǎng)頁(yè)的整體加載速度。速度沒(méi)變,只是讓一些行為按鈕提前,Call-to-Action按鈕一般習(xí)慣設(shè)計(jì)在頁(yè)面底部,這樣的習(xí)慣對(duì)于用戶來(lái)說(shuō)并不總是好的,購(gòu)買用戶需要等到最下面加載出來(lái)才能點(diǎn)擊下一步操作。可以調(diào)整CTA按鈕的位置或使用滑動(dòng)的圖片按鈕。很多大型購(gòu)物網(wǎng)站的加入購(gòu)物車就是這種類型。
7、圖片格式優(yōu)化
不恰當(dāng)?shù)膱D像格式是一種極為常見(jiàn)的減慢加載速度的罪魁禍?zhǔn)。正確的圖片格式可以讓圖片縮小數(shù)倍,如果保存為最佳格式?梢怨(jié)省大量帶寬,減少處理時(shí)間時(shí)間,大大加快頁(yè)面加載速度,這是一種很常見(jiàn)的做法。一般色彩比較豐富的圖片采用JPG格式(80%)的品質(zhì),象圖標(biāo)按鈕,如果是單色系,可以采用GIF或PNG。如果有漸變的圖標(biāo)和按鈕,則需要保存為PNG,這時(shí)可以保存為8位,而不需要保存24位。
8、使用 Progressive JPEGs
ProgressiveJPEGs圖片是JPEG格式的一個(gè)特殊變種,名為“高級(jí)JPEG”。在創(chuàng)建高級(jí)JPEG文件時(shí),數(shù)據(jù)是這樣安排的:在裝入圖像時(shí),開始只顯示一個(gè)模糊的圖像,隨著數(shù)據(jù)的裝入,圖像逐步變得清晰。它相當(dāng)于交織的GIF格式的圖片。高級(jí)JPEG主要是考慮到使用調(diào)制解調(diào)器的慢速網(wǎng)絡(luò)而設(shè)計(jì)的,快速網(wǎng)絡(luò)的使用者通常不會(huì)體會(huì)到它和正常JPEG格式圖片的區(qū)別。對(duì)于網(wǎng)速比較慢的用戶,這無(wú)疑有很好的體驗(yàn)。
9、精簡(jiǎn)代碼
這個(gè)可以說(shuō)是最直接的一個(gè)方法,也是用得比較多的,對(duì)網(wǎng)頁(yè)代碼進(jìn)行瘦身,刪除不必要的沉冗代碼,比如不必要的空格、換行符、注釋等,包括JS代碼中的無(wú)用代碼也需要清除。其中對(duì)于注釋代碼的清除可能有些人存在誤區(qū),甚至有的在里面堆砌關(guān)鍵詞。
10、延遲加載和執(zhí)行非必要腳本
網(wǎng)頁(yè)中有很多腳本是在頁(yè)面完全加載完前都不需要執(zhí)行的,可以延遲加載和執(zhí)行非必要腳本。這些腳本可以在onload事件之后執(zhí)行,避免對(duì)網(wǎng)頁(yè)上重要內(nèi)容的呈現(xiàn)造成影響。這些腳本可能是你自己網(wǎng)頁(yè)的甲苯,往往更多的是一些第三方腳本,這樣的有很多,比如評(píng)論、廣告、智能推薦、百度云圖、分享等等,這些完全可以等主體內(nèi)容加載完后再執(zhí)行。
11、使用AJAX
AJAX即“Asynchronous Javascript +XML“,是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù)。通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新。傳統(tǒng)的網(wǎng)頁(yè)(不使用AJAX)如果需要更新內(nèi)容,必須重載整個(gè)網(wǎng)頁(yè)面。