一、盡可能的減少 HTTP 的請(qǐng)求數(shù)
這個(gè)第一條是我們大多數(shù)SEO所知道的,我再做一個(gè)簡(jiǎn)單的描述:大多數(shù)的HTTP請(qǐng)求都是前端的,用戶的大多數(shù)時(shí)間都被用來下載圖片、CSS樣式表、各種Scripts、Flash等等。當(dāng)然或許將css,js文件拆分多個(gè)是因?yàn)閏ss結(jié)構(gòu),共用等方面的考慮。阿里巴巴中文站當(dāng)時(shí)的做法是開發(fā)時(shí)依然分開開發(fā),然后在后臺(tái) 對(duì)js,css進(jìn)行合并,這樣對(duì)于瀏覽器來說依然是一個(gè)請(qǐng)求,但是開發(fā)時(shí)仍然能還原成多個(gè),方便管理和重復(fù)引用。yahoo甚至建議將首頁的css和 js 直接寫在頁面文件里面,而不是外部引用。因?yàn)槭醉摰脑L問量太大了,這么做也可以減少兩個(gè)請(qǐng)求數(shù)。而事實(shí)上國內(nèi)的很多門戶都是這么做的。
而css sprites是指只用將頁面上的背景圖合并成一張,然后通過css的background-position屬性定義不過的值來取他的背景。淘寶和阿里巴巴中文站目前都是這樣做的。有興趣的可以看下淘寶和阿里巴巴的背景圖。
http://www.csssprites.com/ 這是個(gè)工具網(wǎng)站,它可以自動(dòng)將你上傳的圖片合并并給出對(duì)應(yīng)的background-position坐標(biāo)。并將結(jié)果以png和gif的格式輸出。
二、使用CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))Content Delivery Network
之前曾經(jīng)問過張智勇公子關(guān)于 CDN 是否對(duì) SEO 有影響,在征詢了技術(shù)老總的意見之后,這個(gè)影響其實(shí)幾乎可以忽略的,反而是用戶端的速度體驗(yàn)提升了,對(duì)網(wǎng)站的正向作用更大。
CDN 加速現(xiàn)在很流行,幾乎稍微大一點(diǎn)的網(wǎng)站都有用這個(gè)服務(wù),就是將網(wǎng)站的鏡像服務(wù)備份到多個(gè)服務(wù)器節(jié)點(diǎn),從而加速該服務(wù)器周圍的用戶訪問。
更詳細(xì)地內(nèi)容大家可以參考百度百科上對(duì)于CDN的解釋
三、添加Expire/Cache-Control 頭
這個(gè)規(guī)則有兩個(gè)東西:
對(duì)靜態(tài)的組件:設(shè)置為永不過期;
對(duì)動(dòng)態(tài)的組件:設(shè)置為一個(gè)合理的緩存控制頭來幫助有條件的相應(yīng).
通過設(shè)置Expires header 來緩存這些文件。Expire其實(shí)就是通過header報(bào)文來指定特定類型的文件在覽器中的緩存時(shí)間。大多數(shù)的圖片,flash在發(fā)布后都是不需要經(jīng)常修 改的,做了緩存以后這樣瀏覽器以后就不需要再從服務(wù)器下載這些文件而是而直接從緩存中讀取,這樣再次訪問頁面的速度會(huì)大大加快。
一個(gè)典型的HTTP 1.1協(xié)議返回的頭信息:
HTTP/1.1 200 OK
Date: Fri, 30 Oct 1998 13:19:41 GMT
Server: Apache/1.3.3 (Unix)
Cache-Control: max-age=3600, must-revalidate
Expires: Fri, 30 Oct 1998 14:19:41 GMT
Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT
ETag: “3e86-410-3596fbbc”
Content-Length: 1040
Content-Type: text/html
其中通過服務(wù)器端腳本設(shè)置Cache-Control和Expires可以完成。
如,在php中設(shè)置30天后過期:
在asp中設(shè)置絕對(duì)時(shí)間過期:
<% Response.ExpiresAbsolute=#May 31,2010 13:30:15 GMT# %>
也可以通過配置服務(wù)器本身完成,這些偶就不是很清楚了,呵呵。想了解跟多的朋友可以參考http://www.web-caching.com/
四、Gzip壓縮
這個(gè)是目前應(yīng)用最多的加速方式之一,代碼也很簡(jiǎn)單,gzip的壓縮比例非常大,一般壓縮率為85%,就是 說服務(wù)器端100K的頁面可以壓縮到25K左右再發(fā)送到客戶端。雅虎開發(fā)者特別強(qiáng)調(diào), 所有的文本內(nèi)容都應(yīng)該被gzip壓縮: html (php), js, css, xml, txt。
五、將css放在頁面最上面
六、將script放在頁面最下面
七、避免在CSS中使用Expressions
css表達(dá)是的執(zhí)行次數(shù)是遠(yuǎn)遠(yuǎn)多于我們想象的,往往會(huì)嚴(yán)重地影響性能。而且,它只能在IE中執(zhí)行。所以因盡量地避免它。這一條以前倒沒想過,個(gè)人用 這個(gè)就是在對(duì)ie使用max-width和min-width屬性的時(shí)候。大家知道IE是不支持max-width和min-width屬性的。有時(shí)候的 頁面(特別是自適應(yīng)大小的頁面)為了能在分辨率小到一定程度后還能顯示要用到這個(gè)功能,怎么辦。當(dāng)時(shí)我的做法就是利用expressions:
八、外置javascript和css文件
這個(gè)地球人都知道
九、減少DNS查詢