下面我將介紹幾個(gè)優(yōu)化網(wǎng)站加載網(wǎng)頁(yè)速度的簡(jiǎn)單方法,一起來(lái)看一下。
1.服務(wù)器響應時(shí)間
即使網(wǎng)站已經(jīng)格外優(yōu)化,但是除非服務(wù)器響應時(shí)間非???,否則就不會(huì )有什么大的效果。當涉及到提高網(wǎng)站的速度,服務(wù)器響應時(shí)間起著(zhù)重要的作用。下面是一些提高服務(wù)器響應時(shí)間的小貼士。
●有獨立的服務(wù)器,而不是選擇共享/托管服務(wù)器。
●提高Web服務(wù)器的質(zhì)量。
●移除不必要的插件,只有那些必要的插件,才需要一直保持啟用狀態(tài)。
2.瀏覽器緩存
瀏覽器緩存可以減少HTTP請求,從而反過(guò)來(lái)提高網(wǎng)站的加載速度。下面就是如何利用瀏覽器緩存的代碼示例:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
注意:如果過(guò)期時(shí)間與文件掛鉤,而此時(shí)文件中的內容需要更改的話(huà),那必須先重命名文件,以便瀏覽器可以獲取新添加的代碼。
3.gzip壓縮
gzip壓縮是一個(gè)壓縮實(shí)用程序,我們可以用它來(lái)快速加載網(wǎng)站。它的工作原理是在發(fā)送HTML和CSS文件到互聯(lián)網(wǎng)瀏覽器之前,先壓縮文件大小。允許mod_defalte模塊啟用Gzip壓縮,下面是如何使用它的代碼示例:
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
4.異步腳本
還有一個(gè)可以提高網(wǎng)站頁(yè)面速度的超棒選擇就是異步加載腳本。如此一來(lái)網(wǎng)頁(yè)負載就并不必依賴(lài)于這些異步腳本,網(wǎng)站訪(fǎng)問(wèn)者也不再需要不得不按捺下性子,等待所有的腳本加載完之后才能呈現頁(yè)面。在異步模式中,腳本是在后臺下載的。通常,我們會(huì )將第三方腳本作為異步腳本,因為下載這些腳本時(shí)常會(huì )讓網(wǎng)站速度變得非常慢。
<script async src="http://www.yoursite.com/script.js"></script>
5.內容分發(fā)網(wǎng)絡(luò )(CDN)
內容分發(fā)網(wǎng)絡(luò )(CDN)是位于不同地理位置的服務(wù)器組成的網(wǎng)絡(luò )。每個(gè)服務(wù)器都擁有所有網(wǎng)站的文件副本。要是有網(wǎng)站訪(fǎng)問(wèn)者請求文件和網(wǎng)頁(yè)時(shí),就可以直接從就近的網(wǎng)站服務(wù)器發(fā)送過(guò)來(lái)(也可以是從負載最小的服務(wù)器)。
6.優(yōu)化JavaScript、HTML和CSS
優(yōu)化JavaScript和CSS也可以提高一個(gè)網(wǎng)站的網(wǎng)頁(yè)速度,而且這個(gè)方法非常簡(jiǎn)單。優(yōu)化JavaScript、HTML和CSS就是刪除所有不必要的空格和注釋?zhuān)瑥亩鴾p小文件大小。下面是一些最小化JavaScript和CSS的流行工具,非常有用。
●CSS Minifier
●Avivo
●HTML Compressor
7.置于頂部的樣式表和底部的腳本
將樣式表放在頂部有助網(wǎng)站的迅速加載,因為這樣可以使得網(wǎng)頁(yè)漸進(jìn)式呈現。一般地,所有的互聯(lián)網(wǎng)瀏覽器都支持在給定時(shí)間內并行下載兩個(gè)組件(圖像、樣式和腳本)。但是通常而言,霸道的腳本會(huì )在并行下載時(shí)會(huì )阻止其他的下載,直到腳本下載完畢。
8.避免阻塞型的JavaScript和CSS
在瀏覽器呈現網(wǎng)頁(yè)之前,它首先需要通過(guò)解析HTML標記語(yǔ)言來(lái)構建一個(gè)DOM樹(shù)。在此過(guò)程中,如果遇到了腳本,此過(guò)程就會(huì )中止,轉而先執行腳本,完了才會(huì )繼續原先的活動(dòng)。因此建議避免阻塞型的JavaScript,尤其是外部腳本。
阻塞型JavaScript還會(huì )導致網(wǎng)站的延遲。所以不妨推遲加載那些不重要的JavaScript,或者采用異步加載的方式。另一種選擇是將這些HTML代碼內嵌到網(wǎng)站上,同時(shí)需要確保CSS的優(yōu)化。
9.JavaScript的延遲解析
為了加載網(wǎng)頁(yè),瀏覽器必須解析所有的<script>標記內容,從而增加了網(wǎng)站的加載時(shí)間。通過(guò)延遲解析腳本,那么就可以減少初始網(wǎng)站的加載時(shí)間了。
10.啟用Keep Alive
當用戶(hù)通過(guò)瀏覽器請求網(wǎng)頁(yè)時(shí),瀏覽器首先需要訪(fǎng)問(wèn)HTML文件。然后它才能讀取這些文件,并請求與其他資料相關(guān)聯(lián)(此處的資料可以是CSS,JavaScript,也可以是任何相關(guān)的圖像)。
如果“Keep Alive”選項被禁止,那么下載網(wǎng)站的進(jìn)程通常就會(huì )增加,從而拖累了網(wǎng)站速度。啟用KeepAlive的另一個(gè)好處是,它可以減少CPU的使用。
語(yǔ)法: KeepAlive On
11.圖像和文件格式
圖像對于任何網(wǎng)站都非常有價(jià)值,因為它能傳達一些強有力的信息給網(wǎng)站的訪(fǎng)問(wèn)者。最常見(jiàn)的圖像格式是GIF、JPEG、PNG等。每種格式都有其長(cháng)處和局限。建議使用JPEG格式,而不是GIF和PNG圖像,除非圖像包含Alpha因子或者是透明的。
12.優(yōu)化代碼:不使用內聯(lián)CSS
內聯(lián)了樣式就不能清清楚楚地將內容從設計中剝離開(kāi)來(lái)。同時(shí)可能還會(huì )需要大量的維護工作,給網(wǎng)站管理員帶來(lái)各種不便,還會(huì )進(jìn)一步增加網(wǎng)頁(yè)的大小。
13.文件分離
網(wǎng)站的文件可以分為CSS、JavaScripts和圖像。文件分離雖然并不能直接改善網(wǎng)站的加載時(shí)間。但是,這么做可以提高服務(wù)器的穩定性,特別是當網(wǎng)站流量突然出現了尖峰的時(shí)候。子域也可以用于托管文件,這樣可以增加并行下載的數量。
14.盡量減少HTTP請求
還有一種簡(jiǎn)單的優(yōu)化網(wǎng)頁(yè)速度的方法是,減少HTTP請求。當一個(gè)網(wǎng)站一下子收到太多的HTTP請求,它的訪(fǎng)客就會(huì )有響應時(shí)間延遲的體驗,這不僅增加了CPU使用率也增加了頁(yè)面的加載時(shí)間。那么,又該如何減少HTTP請求?請見(jiàn)以下步驟。
●減少網(wǎng)站上的對象數量。
●最小化網(wǎng)站上的重定向數量。
●使用CSS Sprites技術(shù)(只要你需要的那部分圖片內容)。
●結合JavaScripts和CSS。
上述建議已被證明在優(yōu)化網(wǎng)站的頁(yè)面加載速度上非常有效??傊?,炫彩奪目的圖形,有趣的內容和更好的導航可以幫助你獲得更多的網(wǎng)站訪(fǎng)問(wèn)者,但更快的網(wǎng)頁(yè)加載速度則能幫助你留住他們。
版權聲明:本文是碼農網(wǎng)原創(chuàng )翻譯,已按轉載要求注明信息。
譯文鏈接:http://www.codeceo.com/article/14-ways-website-page-speed.html
英文原文:13+ Ways to Optimize Your Website’s Page Speed
翻譯作者:碼農網(wǎng) – 小峰