WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專(zhuān)題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢(qián)
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專(zhuān)題
- 云計(jì)算
- 微博營(yíng)銷(xiāo)
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
URL重寫(xiě)優(yōu)化
URL標(biāo)準(zhǔn)[ ]
很多情況下,我們認(rèn)為以下這幾個(gè)鏈接都指向同一個(gè)頁(yè)面(首頁(yè)):
- www.example.com
- example.com
- www.example.com/index.html
- example.com/index.php
但是從URL發(fā)送請(qǐng)求并返回網(wǎng)頁(yè)內(nèi)容的過(guò)程來(lái)看,這些URL都是互不相同的。對(duì)于上述URLs,Web服務(wù)器完全可以返回完全不同的內(nèi)容。當(dāng)這些URL所對(duì)應(yīng)的內(nèi)容都一樣時(shí)(一般情況下都一樣的),谷歌需要從上述URLs中選一個(gè)具有代表性的,而忽略其余的。那么這個(gè)被谷歌選擇了的URL,就是一個(gè)標(biāo)準(zhǔn)化的URL。谷歌選擇的這個(gè)過(guò)程稱(chēng)為“標(biāo)準(zhǔn)化”。
動(dòng)態(tài)鏈接靜態(tài)化[ ]
動(dòng)態(tài)鏈接靜態(tài)化是SEO過(guò)程中最經(jīng)常碰到的問(wèn)題,也是必須解決的問(wèn)題。因?yàn)?a href="/wiki/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E" title="搜索引擎">搜索引擎喜歡靜態(tài)頁(yè)面。從Web服務(wù)器的角度,這個(gè)問(wèn)題轉(zhuǎn)變?yōu)椋喝绾螌㈧o態(tài)化的文件名稱(chēng)轉(zhuǎn)化成參數(shù)。
需要兩步來(lái)處理:
- 把網(wǎng)頁(yè)上帶鏈接的地方,都換上新的靜態(tài)化鏈接。搜索引擎和瀏覽器將通過(guò)該鏈接來(lái)發(fā)生請(qǐng)求。(有些人做修改不是在網(wǎng)頁(yè)上,而是進(jìn)行動(dòng)態(tài)鏈接向靜態(tài)鏈接的轉(zhuǎn)向,這是嚴(yán)重錯(cuò)誤的)
- 在httpd.conf或.htaccess中使用RewriteRule:
RewriteRule "^/dir/ ([^./]*) \.html" "/dir/script.cgi?doc=$1" [PT]
[PT]標(biāo)記告訴Apache執(zhí)行后續(xù)的所有操作。
通過(guò)這個(gè)功能,使動(dòng)態(tài)頁(yè)面以靜態(tài)鏈接的形式展示給搜索引擎,從而達(dá)到URL優(yōu)化的目的。
將無(wú)效的URL重定向到其他頁(yè)面[ ]
很多時(shí)候,我們考慮把無(wú)效的URL比如:用戶(hù)拼錯(cuò)的URL、不存在的URL重定向到別的網(wǎng)頁(yè),例如網(wǎng)站的首頁(yè)、404頁(yè)面等。
在httpd.conf或.htaccess文件中使用ErrorDocument來(lái)捕獲404 (找不到文件)錯(cuò)誤:
ErrorDocument 404 /index.html DirectoryIndex index.html /path/to/notfound.html
本功能會(huì)讓所有的404錯(cuò)誤——每次當(dāng)某人請(qǐng)求無(wú)效的URL 時(shí),都返回URL / index.html 提供的網(wǎng)站首頁(yè)。
這里需要注意兩點(diǎn):
- 直接指向首頁(yè)是否是合適的?或者讓它指向到一個(gè)404頁(yè)面會(huì)更好些?如果在404頁(yè)面用JavaScript做一個(gè)跳轉(zhuǎn)到首頁(yè),也是SEO允許的做法。
- 即使返回有效的文件,仍然會(huì)將404 狀態(tài)碼返回給客戶(hù)端和搜索引擎。這表示搜索引擎機(jī)器人來(lái)確認(rèn)網(wǎng)站上的鏈接時(shí),仍然會(huì)得到正確的結(jié)果(404狀態(tài)碼)。
改版時(shí),如何保留原鏈接,創(chuàng)建新的URL[ ]
注:以下操作方法僅適用于Apache網(wǎng)絡(luò)服務(wù)器:
- 文件位置:apache->conf->httpd.conf
請(qǐng)?jiān)趆ttpd.conf中使用Alias指令:
Alias /newurl /www/htdocs/oldurl
如:用戶(hù)訪(fǎng)問(wèn)新的地址example.com/newurl/id34.html 服務(wù)器將提供的內(nèi)容原地址是example.com/www/htdocs/oldurl/id34.html。
注意:Alias只會(huì)改變本地URL,如zzbaike.com/newurl/id34.html 的/newurl/id34.html 部分,而無(wú)法改變URL的主機(jī)名稱(chēng)部分(如:http://www.seowhy.com/部分)。若要更改URL的主機(jī)名稱(chēng)部分,請(qǐng)使用Redirect或RewriteRule指令。
本功能的Alias指令在 httpd.conf中是這一句: #Alias /webpath /full/filesystem/path 去掉前面的#,并做下相應(yīng)的修改即可。
SEO過(guò)程中一般在這些情況下需要用到該功能:
- 當(dāng)文件移動(dòng)或文件目錄名稱(chēng)發(fā)現(xiàn)改變,出于SEO需要,你需要保持舊的URL;
- 網(wǎng)站改版了,網(wǎng)站導(dǎo)航和鏈接發(fā)生變化,為了繼續(xù)持有原鏈接帶來(lái)的流量,你需要保持舊的URL;
- 你希望不同的人用不同URL來(lái)鏈接同一個(gè)的內(nèi)容。(SEO一般不建議這樣做)
替換請(qǐng)求URL中的文字[ ]
注:以下解決方案,僅適用于A(yíng)pache服務(wù)器。
- 在.htaccess文件中添加以下語(yǔ)句:
RewriteCond %{REQUEST_URL} "string1" RewriteRule "(.*)"string1(.*)" "$1string2$2" [N,PT]
例如當(dāng)客戶(hù)端發(fā)出請(qǐng)求URL:example.com/string1/abcstring1.html,則轉(zhuǎn)換為目標(biāo)URL:example.com/string2/abcstring2.html。其中[N]標(biāo)記告訴Apache重新執(zhí)行重寫(xiě)規(guī)則,直到RewriteCond失效為止。
只要請(qǐng)求URL中包含需要替換的字符串,它就會(huì)一直重復(fù)地執(zhí)行。當(dāng)所有的string1都被替換完畢,則RewriteCond失效。本例子中,RewriteCond執(zhí)行了2次。[PT]告訴mod_rewrite把重寫(xiě)的URL傳送到Apache來(lái)進(jìn)行接下來(lái)的處理工作。
我們都知道,關(guān)鍵字是否在URL中對(duì)于網(wǎng)站SEO至關(guān)重要。對(duì)于建站初期不注重SEO的站點(diǎn),特別是大型站點(diǎn),本功能真是雪中送炭。
注意:使用本功能時(shí),有時(shí)會(huì)把非目標(biāo)字符也做了修改,假如例子中的“abcstring1”不是目標(biāo)字符,但這個(gè)功能也會(huì)替換了它。