現在大多數網站都存在一些內容相同但網址(URL)不一樣的重復內容,這些重復的內容對于搜索引擎來說卻可能被認為是復制網頁,復制網頁雖然不會被懲罰但因多個網址存在分散了頁面權重,肯定不利于其排名。解決這個問題就需要網址規則化處理,網址規范化(URL canonicalization)從字面上理解就是搜索引擎挑選最好的URL網址作為真正網址的過程,通過網址規范化處理把最好的URL網址反饋給搜索引擎。
解決網址規范化問題有好多方法,目前我們講使用301重定向來進行網址規范化處理。
什么是301重定向?
301重定向(301轉向、301跳轉)是當用戶或搜索引擎向網站服務器發出瀏覽請求時,服務器返回的HTTP數據流中頭信息(header)中的狀態碼的一種,表示本網頁永久性轉移到另一個地址。301代表永久性轉移(Permanently Moved),301重定向是網頁更改地址后對搜索引擎友好的最好方法。只要不是暫時搬移的情況,都建議使用301來做轉址。
如何來做301重定向?
下面是我從網上收集的進行301重定向的方法,基本上全了,如果你有新的方法,歡迎你進行補充!
1、IIS6下301設置
Internet信息服務管理器 -> 虛擬目錄 -> 重定向到URL,輸入需要轉向的目標URL,并選擇"資源的永久重定向"。
2、ASP下的301重定向代碼
<%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location", "http://www.024678.com" %>
3、ASP.Net下的301重定向代碼
<script runat="server"> private void Page_Load(object sender, System.EventArgs e) { Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","http://www.024678.com"); } </script>
4、PHP下的301重定向代碼
header("HTTP/1.1 301 Moved Permanently"); header("Location:http://www.024678.com"); exit();
5、CGI Perl下的301重定向代碼
$q = new CGI; print $q->redirect("http://www.024678.com/");
6、JSP下的301重定向代碼
<% response.setStatus(301); response.setHeader( "Location", "http://www.024678.com/" ); response.setHeader( "Connection", "close" ); %>
7、ColdFusion下的301重定向
<cfheader statuscode="301" statustext="Moved permanently">
<cfheader name="Location" value="http://www.024678.com">
8、Apache下301重定向代碼
建立.htaccess文件,輸入下列內容(需要開啟mod_rewrite):
1)將不帶WWW的域名轉向到帶WWW的域名下
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^cushyz.com[NC] RewriteRule ^(.*)$http://www.024678.com/$1[L,R=301]
2)重定向到新域名
Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$http://www.024678.com/$1 [L,R=301]
3)使用正則進行301重定向,實現偽靜態
Options +FollowSymLinks RewriteEngine on RewriteRule ^news-(.+)\.html$ news.php?id=$1
將news.php?id=123這樣的地址轉向到news-123.html
9、Apache下vhosts.conf中配置301重定向
為實現URL規范化,SEO通常將不帶WWW的域名轉向到帶WWW域名,vhosts.conf中配置為:
<VirtualHost *:80> ServerNamewww.024678.comDocumentRoot /home/lesishu </VirtualHost>
<VirtualHost *:80> ServerNamecushyz.com RedirectMatch permanent ^/(.*)http://www.024678.com/$1</VirtualHost>
當然Apache下進行301重定向除了以上2種方法,還有其他配置方法和可選參數,歡迎你的補充。
在進行301重定向后,我們如何檢測我們做的301重定向是否正確,下面是301重定向檢測工具。