從我開始知道 SEO 這幾年起,基本上所有的 SEO 活動都是基于前端的,從header 到 body,從小標(biāo)簽到 CSS,從鏈接到關(guān)鍵詞密度;初期牛人們診斷一個網(wǎng)站 SEO 的標(biāo)準(zhǔn)也是從前端頁面著手,不過的確也是,從排名算法前端的代碼的確占了大部分的比例,但后端的服務(wù)器速度優(yōu)化,也開始成為一個越來越重要的因素,特別是流言四起的 Google 將會把網(wǎng)站速度作為算法的一部分。
當(dāng)然,服務(wù)器那種事不該是一個SEOer 或者 SEMer應(yīng)該去精通的東西,其實(shí)只要了解并掌握其規(guī)律就可以了(推薦另外一片文章:大型網(wǎng)站架構(gòu)演變和知識體系);但依然要熟悉網(wǎng)站系統(tǒng)或者 CMS 的加速手段.
什么措施能影響網(wǎng)頁加載速度呢? 網(wǎng)絡(luò)環(huán)境、服務(wù)器硬件、CMS本身都能影響網(wǎng)頁加載速度。優(yōu)化其中的任何一項(xiàng),都能提升網(wǎng)頁加載速度。那馬上又可以得出:網(wǎng)絡(luò)環(huán)境影響SEO流量、服務(wù)器硬件影響SEO流量、CMS本身的速度影響SEO流量。 |
影響速度的因素有很多,這里做一個匯總(不包括硬件)
一、盡可能的減少 HTTP 的請求數(shù)
這個第一條是我們大多數(shù)SEO所知道的,我再做一個簡單的描述:大多數(shù)的HTTP請求都是前端的,用戶的大多數(shù)時間都被用來下載圖片、CSS樣式表、各種Scripts、Flash等等。當(dāng)然或許將css,js文件拆分多個是因?yàn)閏ss結(jié)構(gòu),共用等方面的考慮。阿里巴巴中文站當(dāng)時的做法是開發(fā)時依然分開開發(fā),然后在后臺 對js,css進(jìn)行合并,這樣對于瀏覽器來說依然是一個請求,但是開發(fā)時仍然能還原成多個,方便管理和重復(fù)引用。yahoo甚至建議將首頁的css和 js 直接寫在頁面文件里面,而不是外部引用。因?yàn)槭醉摰脑L問量太大了,這么做也可以減少兩個請求數(shù)。而事實(shí)上國內(nèi)的很多門戶都是這么做的。
而css sprites是指只用將頁面上的背景圖合并成一張,然后通過css的background-position屬性定義不過的值來取他的背景。淘寶和阿里巴巴中文站目前都是這樣做的。有興趣的可以看下淘寶和阿里巴巴的背景圖。
http://www.csssprites.com/ 這是個工具網(wǎng)站,它可以自動將你上傳的圖片合并并給出對應(yīng)的background-position坐標(biāo)。并將結(jié)果以png和gif的格式輸出。
二、使用CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))Content Delivery Network
之前曾經(jīng)問過張智勇公子關(guān)于 CDN 是否對 SEO 有影響,在征詢了技術(shù)老總的意見之后,這個影響其實(shí)幾乎可以忽略的,反而是用戶端的速度體驗(yàn)提升了,對網(wǎng)站的正向作用更大。
CDN 加速現(xiàn)在很流行,幾乎稍微大一點(diǎn)的網(wǎng)站都有用這個服務(wù),就是將網(wǎng)站的鏡像服務(wù)備份到多個服務(wù)器節(jié)點(diǎn),從而加速該服務(wù)器周圍的用戶訪問。
更詳細(xì)地內(nèi)容大家可以參考百度百科上對于CDN的解釋
三、添加Expire/Cache-Control 頭
這個規(guī)則有兩個東西:
通過設(shè)置Expires header 來緩存這些文件。Expire其實(shí)就是通過header報文來指定特定類型的文件在覽器中的緩存時間。大多數(shù)的圖片,flash在發(fā)布后都是不需要經(jīng)常修 改的,做了緩存以后這樣瀏覽器以后就不需要再從服務(wù)器下載這些文件而是而直接從緩存中讀取,這樣再次訪問頁面的速度會大大加快。
一個典型的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天后過期:
“Cache-Control: must-revalidate”);$offset = 60 * 60 * 24 * 30;$ExpStr = “Expires: ” . gmdate(“D, d M Y H:i:s”, time() + $offset) . “ GMT”;Header($ExpStr);–>
|
在asp中設(shè)置絕對時間過期:
<% Response.ExpiresAbsolute=#May 31,2010 13:30:15 GMT# %> |
也可以通過配置服務(wù)器本身完成,這些偶就不是很清楚了,呵呵。想了解跟多的朋友可以參考http://www.web-caching.com/
四、Gzip壓縮
這個是目前應(yīng)用最多的加速方式之一,代碼也很簡單,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)多于我們想象的,往往會嚴(yán)重地影響性能。而且,它只能在IE中執(zhí)行。所以因盡量地避免它。這一條以前倒沒想過,個人用 這個就是在對ie使用max-width和min-width屬性的時候。大家知道IE是不支持max-width和min-width屬性的。有時候的 頁面(特別是自適應(yīng)大小的頁面)為了能在分辨率小到一定程度后還能顯示要用到這個功能,怎么辦。當(dāng)時我的做法就是利用expressions:
江西省上饒市廣信區(qū)三清山中大道588號7棟5號
電話:0793-8313026 7094119
傳真:0793-8313026
手機(jī):18079306668 13576325382 曾
郵箱:174216168@qq.com
QQ:174216168
Copyright © 2008-2019 (srlrcm.cn) 獵人傳媒. All Rights Reserved.
贛ICP備08101270號-1 百度統(tǒng)計