SEO優化基礎:URL重寫優化,標準化

2016/11/11 15:35:53來源:互聯網熱度:4973

1、URL標準化是什么意思?  

URL標準化,英文:urlcanonicalization來自mattcutts的博客文章:SEOadvice:urlcanonicalization中文翻譯:SEO的建議:URL標準化“URL標準化”是一個動名詞,不好直接解釋,我把它反過來一下:  

什么是一個標準化的URL?  

SEO優化基礎:URL重寫優化,標準化

很多情況下,我們認為以下這幾個鏈接都指向同一個頁面(首頁):  

www.example.com  

example.com/ 

www.example.com/index.html  

example.com/index.php  

但是從URL發送請求并返回網頁內容的過程來看,這些URL都是互不相同的。對于上述URLs,Web服務器完全可以返回完全不同的內容。當這些URL所對應的內容都一樣時(一般情況下都一樣的),谷歌需要從上述URLs中選一個具有代表性的,而忽略其余的。那么這個被谷歌選擇了的URL,就是一個標準化的URL。谷歌選擇的這個過程稱為“標準化”。  

谷歌是怎么URL標準化的?  

一般情況下,谷歌根據被外鏈的數量來判斷。采用多的,則是標準化URL。  

我想告訴谷歌我想要的標準化URL,怎么辦?  

采用301重定向進行URL標準化。  

簡明:  

網站中同一網頁,只對應一個url,規范、簡單的url,利于搜索抓取用戶記憶拒絕多種路徑,指向同一個面頁,防止網頁獲取的權重分散。

多路徑的危害?  

搜索引擎會選其一個路徑標準這個路徑也許并不你要被抓搜索收錄的路徑  不同的URL指個同一個內容頁面。結果分散頁面的權重。  

例如:  

1.做過偽靜態的路徑,動態路徑沒有用ROBOTS.TXT屏蔽造成路徑的重復  

2.這四個路徑都可以訪問網站的首頁

wood365.cn,www.nyaybz.com  

wood365.cn/index.htmlwww.fwood365.cn/220.html  

這里我們要做路徑標準化,選擇唯一的鏈接入口  

wood365.cn301到www.nyaybz.com  

/index.html/thread.html程序禁調并不給鏈接入口  

所有鏈接采用標準的:www.nyaybz.com  

2、如何把動態鏈接靜態化?  

這是SEO過程中最經常碰到的問題,也是必須解決的問題。因為搜索引擎喜歡靜態頁面。從Web服務器的角度,這個問題轉變為:如何將靜態化的文件名稱轉化成參數。  

需要兩步來處理:  

1、把網頁上帶鏈接的地方,都換上新的靜態化鏈接。搜索引擎和瀏覽器將通過該鏈接來發生請求。(有些人做修改不是在網頁上,而是進行動態鏈接向靜態鏈接的轉向,這是嚴重錯誤的)  

2、在httpd.conf或.htaccess中使用RewriteRule:  

RewriteRule“^/dir/([^./]*)\.html”“/dir/script.cgi?doc=$1”[PT]  

[PT]標記告訴Apache執行后續的所有操作。  

通過這個功能,使動態頁面以靜態鏈接的形式展示給搜索引擎,從而達到URL優化的目的。  

3、如何將無效的URL重定向到其他頁面?  

很多時候,我們考慮把無效的URL比如:用戶拼錯的URL、不存在的URL重定向到別的網頁,例如網站的首頁、404頁面等。 

在httpd.conf或.htaccess文件中使用ErrorDocument來捕獲404(找不到文件)錯誤:  

ErrorDocument404/index.html  

DirectoryIndexindex.html/path/to/notfound.html  

本功能會讓所有的404錯誤——每次當某人請求無效的URL時,都返回URL/index.html提供的網站首頁。  

這里需要注意兩點:  

1、直接指向首頁是否是合適的?或者讓它指向到一個404頁面會更好些?如果在404頁面用javasctrip做一個跳轉到首頁,也是SEO允許的做法。  

2、即使返回有效的文件,仍然會將404狀態碼返回給客戶端和搜索引擎。這表示搜索引擎機器人來確認網站上的鏈接時,仍然會得到正確的結果(404狀態碼)。  

4、改版時,如何保留原鏈接,創建新的URL?  

具體操作辦法(僅適用于apache網絡服務器):  

文件位置:apache->conf->httpd.conf  

請在httpd.conf中使用Alias指令:  

Alias/newurl/www/htdocs/oldurl  

如:用戶訪問新的地址example.com/newurl/id34.html服務器將提供的內容原地址是example.com/www/htdocs/oldurl/id34.html。

注意:Alias只會改變本地URL,如wood365.cn/newurl/id34.html的/newurl/id34.html部分,而無法改變URL的主機名稱部分(如:http://www.nyaybz.com/部分)。若要更改URL的主機名稱部分,請使用Redirect或RewriteRule指令。  

菜鳥指南:本功能的Alias指令在httpd.conf中是這一句:#Alias/webpath/full/filesystem/path去掉前面的#,并做下相應的修改即可。  

SEO過程中一般在這些情況下需要用到該功能:  

1、當文件移動或文件目錄名稱發現改變,出于SEO需要,你需要保持舊的URL;  

2、網站改版了,網站導航和鏈接發生變化,為了繼續持有原鏈接帶來的流量,你需要保持舊的URL;  

3、你希望不同的人用不同URL來鏈接同一個的內容。(SEO一般不建議這樣做)  

5、如何替換請求URL中的文字  

以下解決方案,僅適用于Apache服務器。 

在.htaccess文件中添加以下語句:  

RewriteCond%{REQUEST_URL}“string1”  

RewriteRule“(.*)”string1(.*)”“$1string2$2”[N,PT]  

例如當客戶端發出請求URL:example.com/string1/abcstring1.html,則轉換為目標URL:example.com/string2/abcstring2.html。其中[N]標記告訴Apache重新執行重寫規則,直到RewriteCond失效為止。只要請求URL中包含需要替換的字符串,它就會一直重復地執行。當所有的string1都被替換完畢,則RewriteCond失效。本例子中,RewriteCond執行了2次。[PT]告訴mod_rewrite把重寫的URL傳送到Apache來進行接下來的處理工作。

我們都知道,關鍵字是否在URL中對于網站SEO至關重要。對于建站初期不注重SEO的站點,特別是大型站點,本功能真是雪中送炭。  

注意:使用本功能時,有時會把非目標字符也做了修改,假如例子中的“abcstring1”不是目標字符,但這個功能也會替換了它。

免責聲明:凡注明稿件來源的內容均為轉載稿或由企業用戶注冊發布,本網轉載出于傳遞更多信息的目的;如轉載稿和圖片涉及版權問題,請作者聯系我們刪除,同時對于用戶評論等信息,本網并不意味著贊同其觀點或證實其內容的真實性。