URL 重寫優化

URL標準化是什麼意思?

URL 標準化,英文:url canonicalization 來自matt cutts 的博客文章:SEO advice: url

canonicalization 中文翻譯:SEO 的建議:URL 標準化 「URL 標準化」是一個動名詞,不好直

接解釋,我把它反過來一下:

什麼是一個標準化的URL

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

但是從URL 發送請求並返回網頁內容的過程來看,這些URL 都是互不相同的。對於上述

URLs,Web 伺服器完全可以返回完全不同的內容。當這些URL 所對應的內容都一樣時(一

般情況下都一樣的),谷歌需要從上述URLs 中選一個具有代表性的,而忽略其餘的。那麼

Advertisements

這個被谷歌選擇了的URL,就是一個標準化的URL。谷歌選擇的這個過程稱為「標準化」。

谷歌是怎麼URL標準化的?

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

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

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

如何把動態鏈接靜態化?

這是SEO 過程中最經常碰到的問題,也是必須解決的問題。因為搜索引擎喜歡靜態頁面。

從Web 伺服器的角度,這個問題轉變為:如何將靜態化的文件名稱轉化成參數。

需要兩步來處理:

1、把網頁上帶鏈接的地方,都換上新的靜態化鏈接。搜索引擎和瀏覽器將通過該鏈接來發

生請求。(有些人做修改不是在網頁上,而是進行動態鏈接向靜態鏈接的轉向,這是嚴重錯

Advertisements

誤的)

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

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

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

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

如SEO 十萬個為什麼整站都是通過該方式實現。

了解以下文章,有助於你加深對該功能的理解:

URL 標準化是什麼意思?

如何替換請求URL 中的文字

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

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

具體操作辦法(僅適用於apache 網路伺服器):

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

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

Alias /newurl /www/htdocs/oldurl

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

注意:Alias 只會改變本地URL,而無法改變URL 的主機名稱部分

若要更改URL 的主機名稱部分,請使用Redirect 或RewriteRule 指令。

菜鳥指南:本功能的Alias 指令在 httpd.conf 中是這一句: #Alias /webpath /full/filesystem/path

去掉前面的#,並做下相應的修改即可。

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

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

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

舊的URL;

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

等等。。

如何替換請求URL中的文字

以下解決方案,僅適用於Apache 伺服器。

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

RewriteCond %{REQUEST_URL} "string1"

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

其中[N]標記告訴Apache 重新執行重寫規則,直到

RewriteCond 失效為止。只要請求URL 中包含需要替換的字元串,它就會一直重複地執行。

當所有的string1 都被替換完畢,則RewriteCond 失效。本例子中,RewriteCond 執行了2 次。

[PT]告訴mod_rewrite 把重寫的URL 傳送到Apache 來進行接下來的處理工作。

我們都知道,關鍵字是否在URL 中對於網站SEO 至關重要。對於建站初期不注重SEO 的

站點,特別是大型站點,本功能真是雪中送炭。

注意:使用本功能時,有時會把非目標字元也做了修改,假如例子中的「abcstring1」不是目

標字元,但這個功能也會替換了它。

當然,你或許可以通過這個功能獲得另外的啟發:改版時,如何保留原鏈接,創建新的URL?

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

很多時候,我們考慮把無效的URL 比如:用戶拼錯的URL、不存在的URL 重定向到別的

網頁,例如網站的首頁、404 頁面等。

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

ErrorDocument 404 /index.html

DirectoryIndex index.html /path/to/notfound.html

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

供的網站首頁。

這裡需要注意兩點:

1、直接指向首頁是否是合適的?或者讓它指向到一個404 頁面會更好些?如果在404 頁面

用JavaScript 做一個跳轉到首頁,也是SEO 允許的做法。

2、即使返回有效的文件,仍然會將404 狀態碼返回給客戶端和搜索引擎。這表示搜索引擎

機器人來確認網站上的鏈接時,仍然會得到正確的結果(404 狀態碼)。

關於狀態碼,你需要了解下:日誌中的HTTP 狀態碼都代表什麼?

Advertisements

你可能會喜歡