寶雞網(wǎng)站建設(shè)公司
網(wǎng)站如何靜態(tài)化URL
時(shí)間:2012-04-11 08:50
次來(lái)源:未知
最常見的方法是使用服務(wù)器的URL重寫模塊,在LAMP(Linux+Apache+MySQL+PHP)服務(wù)器上一般使用mod_rewrite模塊,Windows服務(wù)器也有功能相似的ISAPI Rewrite等模塊。以.LAMP服務(wù)器為例,要想把URL:
http://www.dnso123.com/products.php?id=123
靜態(tài)化為:
http://www.dnso123.com/products/123
需要啟用服務(wù)器上的mod_rewrite模塊,然后在.htaccess文件中寫入如下代碼:
RewriteRule/products/([0-9]+)/products.php?id=$1
RUL重寫代碼基于正則表達(dá)式,每個(gè)網(wǎng)站的動(dòng)態(tài)URL結(jié)構(gòu)不同,服務(wù)器設(shè)置也可能不同,代碼也就不同,正則表達(dá)式的寫法比較復(fù)雜,千變?nèi)f化,通常需要程序員編寫。在寫URL靜態(tài)化代碼時(shí)必須非常小心,錯(cuò)了一個(gè)字符,多了斜杠等微小的不同,都可能造成災(zāi)難性的后果。
嚴(yán)格來(lái)說(shuō),這里所說(shuō)的URL靜態(tài)化應(yīng)該成為“偽靜態(tài)化”,也就是說(shuō)服務(wù)器上不存在HTML文件,用戶訪問(wèn)時(shí)還是動(dòng)態(tài)生成頁(yè)面,只不過(guò)通過(guò)URL重寫技術(shù)使網(wǎng)址看起來(lái)很像靜態(tài)的。也有的CMS系統(tǒng)可以實(shí)現(xiàn)真正的靜態(tài)化,站長(zhǎng)增添文章拿或產(chǎn)品后,系統(tǒng)會(huì)自動(dòng)生成真實(shí)存在的靜態(tài)的HTML文件。對(duì)搜索引擎來(lái)說(shuō),真正的靜態(tài)跟偽靜態(tài)沒(méi)有什么區(qū)別。
3.URL不需要靜態(tài)化嗎
近兩三年搜索引擎對(duì)動(dòng)態(tài)URL的抓取有了很大進(jìn)步。一般來(lái)說(shuō)URL中有兩三個(gè)參數(shù)。對(duì)收錄不會(huì)造成多大影響。權(quán)重高的域名,再多幾個(gè)問(wèn)號(hào)都不是問(wèn)題,不過(guò)一般來(lái)說(shuō)還是建議將URL靜態(tài)化,既能提高用戶體驗(yàn),又能降低收錄難度。
2008年9月份,Google站長(zhǎng)博客發(fā)表了一篇討論動(dòng)態(tài)網(wǎng)址和靜態(tài)網(wǎng)址的帖子,顛覆了這個(gè)SEO界的傳統(tǒng)觀念。在這片帖子里,Google明確建議不要將動(dòng)態(tài)URL靜態(tài)化。
Google的帖子有幾個(gè)要點(diǎn)。
(1)Google完全有能力抓取動(dòng)態(tài)網(wǎng)址,多少個(gè)問(wèn)號(hào)都不是問(wèn)題。
(2)動(dòng)態(tài)網(wǎng)址更有助于Google蜘蛛讀懂URL含義并進(jìn)行鑒別,應(yīng)為網(wǎng)址中的參數(shù)有提示性。Google舉了這個(gè)例子:
www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL
URL里的參數(shù)本身有助于Google蜘蛛理解URL及網(wǎng)頁(yè)內(nèi)容,比如Language后面跟的參數(shù)是提示語(yǔ)言,answer后面跟的是文章編號(hào),sid后面肯定是Session ID。其他常用的參數(shù)包括:color后面一般是顏色,size后面跟的參數(shù)是尺寸等。有了這些參數(shù)名稱的幫助,Google更容易理解網(wǎng)頁(yè)。
將網(wǎng)址靜態(tài)化以后,這些參數(shù)的意義通常就變得不明顯了,比如這個(gè)URL:
www.example.com/shoes/red/7/12/men/index.html
就可能使Google不知道哪個(gè)是產(chǎn)品序列號(hào),哪個(gè)是尺寸。
(3)URL靜態(tài)化很容易弄錯(cuò),那就更得不償失了。比如,通常動(dòng)態(tài)網(wǎng)址的參數(shù)調(diào)換順序所得到的頁(yè)面是相同的。
保留動(dòng)態(tài)網(wǎng)址,Google比較容易明白這兩個(gè)URL是一個(gè)頁(yè)面,因而自動(dòng)合并權(quán)重。經(jīng)過(guò)靜態(tài)化后,這兩個(gè)網(wǎng)址Google就不容易判斷是不是同一個(gè)頁(yè)面,從而可能引起復(fù)制內(nèi)容。
再一個(gè)搞錯(cuò)的是Session ID,也可能被靜態(tài)化URL。
這樣網(wǎng)站將產(chǎn)生大量URL不同,但內(nèi)容相同的頁(yè)面。
所以Google建議不要靜態(tài)化URL。
但是我目前還是建議將URL靜態(tài)化。原因如下:
(1)Google給的建議是從Google自己出發(fā),沒(méi)有考慮其他搜索引擎。Google抓取任何動(dòng)態(tài)網(wǎng)址沒(méi)問(wèn)題,并不意味著百度、雅虎、必應(yīng)、搜狗、搜搜等沒(méi)有問(wèn)題。
(2)Google所說(shuō)的靜態(tài)化弊端,基本上是基于靜態(tài)化做的不正確的假設(shè)。問(wèn)題是要做靜態(tài)化就得做正確,假設(shè)會(huì)做錯(cuò)誤時(shí)沒(méi)有什么道理的。有幾個(gè)人會(huì)在靜態(tài)化網(wǎng)址時(shí)把Session ID也放進(jìn)去。
(3)用戶體驗(yàn)。帶有參數(shù)的URL可能有助于Google讀懂內(nèi)容,但是顯然非常不利于客戶在一瞥之下理解網(wǎng)頁(yè)的大致含義。
除了點(diǎn)擊率,長(zhǎng)的動(dòng)態(tài)網(wǎng)址也不利于記憶,不利于在郵件、社會(huì)化網(wǎng)站等地方抄送給別人。
http://www.dnso123.com/products.php?id=123
靜態(tài)化為:
http://www.dnso123.com/products/123
需要啟用服務(wù)器上的mod_rewrite模塊,然后在.htaccess文件中寫入如下代碼:
RewriteRule/products/([0-9]+)/products.php?id=$1
RUL重寫代碼基于正則表達(dá)式,每個(gè)網(wǎng)站的動(dòng)態(tài)URL結(jié)構(gòu)不同,服務(wù)器設(shè)置也可能不同,代碼也就不同,正則表達(dá)式的寫法比較復(fù)雜,千變?nèi)f化,通常需要程序員編寫。在寫URL靜態(tài)化代碼時(shí)必須非常小心,錯(cuò)了一個(gè)字符,多了斜杠等微小的不同,都可能造成災(zāi)難性的后果。
嚴(yán)格來(lái)說(shuō),這里所說(shuō)的URL靜態(tài)化應(yīng)該成為“偽靜態(tài)化”,也就是說(shuō)服務(wù)器上不存在HTML文件,用戶訪問(wèn)時(shí)還是動(dòng)態(tài)生成頁(yè)面,只不過(guò)通過(guò)URL重寫技術(shù)使網(wǎng)址看起來(lái)很像靜態(tài)的。也有的CMS系統(tǒng)可以實(shí)現(xiàn)真正的靜態(tài)化,站長(zhǎng)增添文章拿或產(chǎn)品后,系統(tǒng)會(huì)自動(dòng)生成真實(shí)存在的靜態(tài)的HTML文件。對(duì)搜索引擎來(lái)說(shuō),真正的靜態(tài)跟偽靜態(tài)沒(méi)有什么區(qū)別。
3.URL不需要靜態(tài)化嗎
近兩三年搜索引擎對(duì)動(dòng)態(tài)URL的抓取有了很大進(jìn)步。一般來(lái)說(shuō)URL中有兩三個(gè)參數(shù)。對(duì)收錄不會(huì)造成多大影響。權(quán)重高的域名,再多幾個(gè)問(wèn)號(hào)都不是問(wèn)題,不過(guò)一般來(lái)說(shuō)還是建議將URL靜態(tài)化,既能提高用戶體驗(yàn),又能降低收錄難度。
2008年9月份,Google站長(zhǎng)博客發(fā)表了一篇討論動(dòng)態(tài)網(wǎng)址和靜態(tài)網(wǎng)址的帖子,顛覆了這個(gè)SEO界的傳統(tǒng)觀念。在這片帖子里,Google明確建議不要將動(dòng)態(tài)URL靜態(tài)化。
Google的帖子有幾個(gè)要點(diǎn)。
(1)Google完全有能力抓取動(dòng)態(tài)網(wǎng)址,多少個(gè)問(wèn)號(hào)都不是問(wèn)題。
(2)動(dòng)態(tài)網(wǎng)址更有助于Google蜘蛛讀懂URL含義并進(jìn)行鑒別,應(yīng)為網(wǎng)址中的參數(shù)有提示性。Google舉了這個(gè)例子:
www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL
URL里的參數(shù)本身有助于Google蜘蛛理解URL及網(wǎng)頁(yè)內(nèi)容,比如Language后面跟的參數(shù)是提示語(yǔ)言,answer后面跟的是文章編號(hào),sid后面肯定是Session ID。其他常用的參數(shù)包括:color后面一般是顏色,size后面跟的參數(shù)是尺寸等。有了這些參數(shù)名稱的幫助,Google更容易理解網(wǎng)頁(yè)。
將網(wǎng)址靜態(tài)化以后,這些參數(shù)的意義通常就變得不明顯了,比如這個(gè)URL:
www.example.com/shoes/red/7/12/men/index.html
就可能使Google不知道哪個(gè)是產(chǎn)品序列號(hào),哪個(gè)是尺寸。
(3)URL靜態(tài)化很容易弄錯(cuò),那就更得不償失了。比如,通常動(dòng)態(tài)網(wǎng)址的參數(shù)調(diào)換順序所得到的頁(yè)面是相同的。
保留動(dòng)態(tài)網(wǎng)址,Google比較容易明白這兩個(gè)URL是一個(gè)頁(yè)面,因而自動(dòng)合并權(quán)重。經(jīng)過(guò)靜態(tài)化后,這兩個(gè)網(wǎng)址Google就不容易判斷是不是同一個(gè)頁(yè)面,從而可能引起復(fù)制內(nèi)容。
再一個(gè)搞錯(cuò)的是Session ID,也可能被靜態(tài)化URL。
這樣網(wǎng)站將產(chǎn)生大量URL不同,但內(nèi)容相同的頁(yè)面。
所以Google建議不要靜態(tài)化URL。
但是我目前還是建議將URL靜態(tài)化。原因如下:
(1)Google給的建議是從Google自己出發(fā),沒(méi)有考慮其他搜索引擎。Google抓取任何動(dòng)態(tài)網(wǎng)址沒(méi)問(wèn)題,并不意味著百度、雅虎、必應(yīng)、搜狗、搜搜等沒(méi)有問(wèn)題。
(2)Google所說(shuō)的靜態(tài)化弊端,基本上是基于靜態(tài)化做的不正確的假設(shè)。問(wèn)題是要做靜態(tài)化就得做正確,假設(shè)會(huì)做錯(cuò)誤時(shí)沒(méi)有什么道理的。有幾個(gè)人會(huì)在靜態(tài)化網(wǎng)址時(shí)把Session ID也放進(jìn)去。
(3)用戶體驗(yàn)。帶有參數(shù)的URL可能有助于Google讀懂內(nèi)容,但是顯然非常不利于客戶在一瞥之下理解網(wǎng)頁(yè)的大致含義。
除了點(diǎn)擊率,長(zhǎng)的動(dòng)態(tài)網(wǎng)址也不利于記憶,不利于在郵件、社會(huì)化網(wǎng)站等地方抄送給別人。