近許多兄弟問我網(wǎng)站301有什么注意事項(xiàng),應(yīng)該怎樣正確做301、本篇內(nèi)容本著實(shí)戰(zhàn)的原則、給大家講解一下!
首先講一下301應(yīng)用在什么場景里、下面我們分為兩種場景:
一、需要換域名時(shí),比如最初用的域名A、后面由于各種原因感覺A不好,需要換成了B、那么這個(gè)時(shí)候又不想損失自己的流量、就需要用到301!
二、當(dāng)你一個(gè)網(wǎng)站實(shí)在做不起來的時(shí)候、換個(gè)老米、把那個(gè)做不起來的網(wǎng)站直接301到老米上,也會(huì)有不錯(cuò)的效果!(本文案例)
案例說明 :
一直帶兄弟們做權(quán)重站、雖然成功率比較高、但也不能保證100%成功!就以我5個(gè)算命站為例子、成功了4個(gè)、這個(gè)一直沒上去、于是買了個(gè)好點(diǎn)的米、進(jìn)行301、畢竟10000多的收錄不能浪費(fèi)!下面我們一步一步給大家演示301全過程!(本文301網(wǎng)址:www.hbatl.cn,被301的網(wǎng)址:www.pkrmxx.cn)
第一步:首先新建一個(gè)站點(diǎn),把你需要做301跳轉(zhuǎn)的站點(diǎn)的數(shù)據(jù)庫以及源碼上傳上去,保證301跳轉(zhuǎn)站點(diǎn)和這個(gè)新站點(diǎn)數(shù)據(jù)以及鏈接一一對應(yīng)(新站點(diǎn)域名解析成、你最終要301去的網(wǎng)址)
第二步:打開寶塔找到要做301跳轉(zhuǎn)站點(diǎn)網(wǎng)站 點(diǎn)擊設(shè)置
第三步:301重定向有兩個(gè)版本,此教程使用【重定向測試版】進(jìn)行演示
第四步:新增重定向,保留URL參數(shù)可設(shè)置關(guān)閉或打開(301需要保留),兩者區(qū)別如下:
1:如保留URL參數(shù)那么訪問httpL//www.a.com/1.html 就會(huì)重定向到你 301網(wǎng)站的1.html httpL//www.b.com/1.html。
2:如不保留URL參數(shù) 那么訪問httpL//www.a.com/1.html 就會(huì)重定向到你設(shè)置的主域名。
第五步:以上步驟完成了寶塔301設(shè)置,但是步驟還沒完重點(diǎn)是站長資源平臺(tái)(劃重點(diǎn)):
1:需要在百度站長資源平臺(tái)同一賬號(hào)下認(rèn)證你的 301站點(diǎn)以及新站點(diǎn)域名
2:選擇你要做301的站點(diǎn),選擇網(wǎng)站改版。
3.添加站點(diǎn)改版(一般直接選擇站點(diǎn)改版)然后靜靜等待百度校驗(yàn)完成,至此301全部完成!
這里說個(gè)小技巧、如上圖才算真正完全了301、如果提示【部分改版】【驗(yàn)證失敗】,則需要查找問題、或刪除重新提交、直到顯示【改版完成】,一些兄弟在操作的時(shí)候、連看都不看、后面沒改版成功、權(quán)重也沒轉(zhuǎn)移,導(dǎo)致流量損失,這是一個(gè)非常重要的點(diǎn)!
SEO過程中我們會(huì)遇到這樣的問題:想同時(shí)將幾個(gè)域名都綁定到服務(wù)器,但是又怕權(quán)重分散。網(wǎng)站做了一段時(shí)間后覺得域名不夠理想,想更換域名,卻又擔(dān)心更換后權(quán)重消失。大家也一定了解到能通過301重定向解決這些問題,但是301重定向的操作方法卻又重說紛紜,我們不知道到底使用怎么樣的方法才能讓權(quán)重集中或者在更換域名后讓權(quán)重順利的轉(zhuǎn)移過來。下面CRAZYSEO工程師將常用的301重定向方法做了全面的總結(jié),供大家參考。
首先我們需要了解什么是301重定向。301重定向(或叫301跳轉(zhuǎn)、301轉(zhuǎn)向)是用戶或搜索引擎蜘蛛向網(wǎng)站服務(wù)器發(fā)出訪問請求時(shí),服務(wù)返回的HTTP數(shù)據(jù)流中頭信息(header)部分狀態(tài)碼的一種,表示本網(wǎng)址永久性轉(zhuǎn)移到另一個(gè)地址。其他常見的狀態(tài)碼還包括:200(表示一切正常);404(網(wǎng)頁不存在);302(臨時(shí)性轉(zhuǎn)向);500 (內(nèi)部程序錯(cuò)誤)。除了301轉(zhuǎn)向,網(wǎng)址轉(zhuǎn)向還有其他方法,如302轉(zhuǎn)向、JavaScript轉(zhuǎn)向、PHP/ASP/CGI程序轉(zhuǎn)向、Meta Refresh等。301重定向?qū)λ阉饕鎯?yōu)化具有不可替代的作用。用301重定向鞏固規(guī)范版本的URL,重拾權(quán)重,防止搜索結(jié)果的重復(fù)內(nèi)容。從搜索引擎優(yōu)化角度出發(fā),301重定向是網(wǎng)址重定向最為可行的一種辦法。
其次我們需要知道什么情況下使用301重定向。網(wǎng)站改版經(jīng)常需要用到301重定向:如網(wǎng)站更換域名,改變網(wǎng)頁目錄結(jié)構(gòu),網(wǎng)頁被移到一個(gè)新地址,網(wǎng)頁擴(kuò)展名改變,如因需要把 .php 改成 .html。在這種情況下,如果不做重定向,則用戶收藏夾或搜索引擎數(shù)據(jù)庫中舊地址只能讓訪問客戶還會(huì)得到一個(gè)404頁面錯(cuò)誤信息,訪問流量白白喪失。
使用301重定向不僅能使頁面實(shí)現(xiàn)自動(dòng)跳轉(zhuǎn),告訴用戶你已經(jīng)換了新的網(wǎng)址了。同時(shí)也告訴搜索引擎,這個(gè)才是真正的網(wǎng)址,搜索引擎只對重定向后的新網(wǎng)址進(jìn)行索引,同時(shí)又會(huì)把舊地址權(quán)重如數(shù)轉(zhuǎn)移到新地址下,從而不會(huì)讓網(wǎng)站的排名因?yàn)榫W(wǎng)址變更而受到影響。一個(gè)網(wǎng)站注冊了多個(gè)域名,需要通過301重定向讓訪問這些域名的用戶自動(dòng)跳轉(zhuǎn)到其中一個(gè)主域名。這樣做是為了避免造成大量復(fù)制內(nèi)容,而遭到搜索引擎懲罰。因?yàn)樵谒阉饕婵磥恚總€(gè)域名都是一個(gè)獨(dú)立的站,多個(gè)域名指向同一站,會(huì)被認(rèn)定為站點(diǎn)雷同,內(nèi)容復(fù)制,輕則不收錄進(jìn)入沙盒期,重則直接被搜索引擎屏蔽。
實(shí)現(xiàn)網(wǎng)址規(guī)范化也需要301重定向
假設(shè)有下面幾個(gè)網(wǎng)址:
http://www.abc.com/index.html
http://abc.com
http://abc.com/index.html
都做301重定向到 http://www.abc.com(選定的規(guī)范化網(wǎng)址),搜索引擎就知http://www.abc.com 是規(guī)范化網(wǎng)址,而且會(huì)把上面列的網(wǎng)址權(quán)重傳遞集中到規(guī)范化網(wǎng)址。
目前Google會(huì)傳遞大部分權(quán)重,但不是百分之百權(quán)重。百度會(huì)傳遞所有權(quán)重。Google對301的識(shí)別、反應(yīng)、完成權(quán)重傳遞,需要1~3個(gè)月時(shí)間。百度對301處理則比較保守,新舊URL會(huì)同時(shí)存在于數(shù)據(jù)庫很長時(shí)間。
下來我們來看Apache服務(wù)器實(shí)現(xiàn)301重定向的方法
如果網(wǎng)站使用LAMP(Linux + Apache + MySQL + PHP)主機(jī),可以利用Apache的mod_rewrite對URL進(jìn)行重寫或重定向。需要以下幾步:
A.首先確保開啟了mod_rewrite功能。用文本編輯器打開Apache安裝目錄\conf\httpd.conf,找到“#LoadModule rewrite_module modules/mod_rewrite.so”這行,去掉前面的“#”。繼續(xù)查找“AllowOverride None”,修改為“AllowOverride All”。然后,重啟Apache即可。
B.在你需要URL重定向的網(wǎng)站根目錄下放一個(gè).htaccess文件,文件名是.htaccess,Windows下不能直接建立,你可以用記事本另存為。
C.在.htaccess中通過正則表達(dá)式重定向到需要的頁面。
將不帶www的頂級(jí)域名301重定向到帶www的域名
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://www.abc.com/ [L,R=301]
將頁面301重定向到另外一個(gè)頁面
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301]
接著我們來看IIS服務(wù)器下做301重定向設(shè)置方法
示例:將abc.com 跳轉(zhuǎn)到 www.abc.com
A.新建一個(gè)站點(diǎn),對應(yīng)目錄如d:\site。該站點(diǎn)主要用于轉(zhuǎn)向,目錄可以是空的,不需要任何文件。然后為該站點(diǎn)綁定要跳轉(zhuǎn)的域名abc.com,如圖1。
圖1 設(shè)置301轉(zhuǎn)向
B.在IIS中選中剛才我們建立的站點(diǎn),右鍵,屬性,主目錄,選擇重定向到,輸入另一個(gè)綁定好 www.abc.com 域名的網(wǎng)站地址(這個(gè)網(wǎng)站下存放有網(wǎng)站內(nèi)容)。輸入的地址是:
http://www.abc.com$S$Q,同時(shí)注意選中下面的"資源的永久重定向選項(xiàng)" 和 “上面輸入的準(zhǔn)確URL” 這2個(gè)選項(xiàng)。如圖2。
圖2 設(shè)置301轉(zhuǎn)向
對于$S$Q字符,這里解釋一下:$S 將請求的URL的后綴傳遞給新的URL。后綴是用重定向的URL 代替之后,初始URL 中所保留的部分。如果未選中 "上面輸入的準(zhǔn)確URL" 選項(xiàng),則結(jié)果目標(biāo)URL 的名稱將具有所請求文件的名稱(作為文件夾名稱)以及文件名本身。
$Q 將初始URL中的參數(shù)(如 querystring 參數(shù))傳遞至新的 URL,包括問號(hào)(?)。如果不加上 $S$Q 字符的話,內(nèi)頁的301都會(huì)跳轉(zhuǎn)到首頁,加上$S$Q字符的目的就是內(nèi)頁也能準(zhǔn)確的跳轉(zhuǎn)到新域名的對應(yīng)內(nèi)頁。好了,這樣就完成了301永久重定向的設(shè)置,設(shè)置好之后最好能測試一下301重定向是否成功。站長工具的HTTP狀態(tài)工具(http://tool.chinaz.com/pagestatus/)即可查到,如果查到的返回狀態(tài)是301就說明你已經(jīng)成功了。
除了上面的方法我們還可以使用ISAPI_Rewrite實(shí)現(xiàn)IIS的301重定向。ISAPI_Rewrite是用于IIS的第三方URL重寫組件。它是基于正則表達(dá)式的,類似Apache mod_rewrite功能,不僅可以實(shí)現(xiàn)URL重寫,還可以實(shí)現(xiàn)301重定向。ISAPI_Rewrite組件有免費(fèi)版(Lite)以及商業(yè)版(Full),免費(fèi)版只支持全局httpd.conf 配置,不能對每個(gè)站點(diǎn)進(jìn)行單獨(dú)設(shè)置,而商業(yè)版可以讓每個(gè)站點(diǎn)自定義URL重寫規(guī)則,只要將httpd.ini 放在站點(diǎn)根目錄下就能生效。請使用 ISAPI_Rewrite 2.x 或者 最新的3.0 版本(它兼容Apache的mod_rewrite的語法),而較早的1.x 版本不支持301重定向功能。
下面給出示例:
A. 將不帶www的頂級(jí)域名301重定向到帶www的域名
# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600=1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^abc.com\.com$
RewriteRule (.*) http://www.abc.com [I,RP]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600=1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond %{HTTP:Host} ^abc.com\.com$
RewriteRule (.*) http://www.abc.com [NC,R=301]
B.不同域名之間的301轉(zhuǎn)向
# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600=1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host ^www\.test10000\.com$
RewriteRule (.*) http://www.abc.com [I,RP]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600=1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond %{HTTP:Host} ^www\.test10000\.com$
RewriteRule (.*) http://www.abc.com [NC,R=301]
C. 將頁面301重定向到另外一個(gè)頁面
# ISAPI_Rewrite 2.x 版本
[ISAPI_Rewrite]
# 3600=1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^/oldpage.html$ /newpage.html[I,O,RP,L]
# ISAPI_Rewrite 3.0 版本
[ISAPI_Rewrite]
# 3600=1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301,O]
網(wǎng)頁后臺(tái)程序中也可以實(shí)現(xiàn)301重定向。如果頁面是ASP/PHP/JSP/ASP.NET 可以再后臺(tái)代碼中做301重定向。但是CRAZYSEO工程師不推薦這樣,因?yàn)樵诜?wù)器上做301跳轉(zhuǎn)是在你的頁面執(zhí)行之前就開始跳轉(zhuǎn),效率高。而程序代碼中做301,要為每個(gè)頁面頭部加轉(zhuǎn)向代碼,比較麻煩。
示例如下
A.PHP下的301重定向
<?
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.abc.com");
?>
B.ASP下的301重定向
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.abc.com"
%>
C.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.abc.com");
}
</script>
D.JSP下的301重定向
<%
response.setStatus(301);
response.setHeader("Location", "http://www.abc.com");
response.setHeader("Connection", "close");
%>
tips:如果返回報(bào)頭中只有Location,但沒有明確提到狀態(tài)代碼時(shí),就意味著一個(gè)302臨時(shí)重定向。請謹(jǐn)記于心。例如下面都是302重定向:
PHP 下的302重定向
<?
php header("Location: http://www.abc.com");
?>
Asp 下的302重定向
<%
Response.Redirect "http://www.abc.com/"
%>
ASP.NET 302重定向
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Redirect("http://www.abc.com");
}
</script>
JSP 下的302重定向
<%
response.sendRedirect("http://www.abc.com");
%>
總結(jié):301重定向是一種對搜索引擎最友好的網(wǎng)址轉(zhuǎn)向方法。在眾多重定向技術(shù)中,301永久性重定向是最為安全的一種途徑,也是極為理想的一款解決方案。無論是URL永久性改變,還是多種格式URL規(guī)范化都離不開301重定向。
需要值得注意的是,301重定向一般需要3-6個(gè)月甚至更長的時(shí)間才能生效,這個(gè)主要根據(jù)網(wǎng)站的實(shí)際情況來決定,一般來說,內(nèi)容越大的網(wǎng)站301重定向生效的周期越長。大家在這個(gè)過程中切記一旦執(zhí)行了301重定向操作就不要往復(fù)不定。
01重定向是當(dāng)用戶或搜索引擎向網(wǎng)站服務(wù)頁器發(fā)出瀏覽請求時(shí),服務(wù)器返回的HTTP狀態(tài)碼的一種,表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個(gè)地址。301重定向?qū)W(wǎng)站真正的用途很大一部分是為了用戶而設(shè)置的,讓用戶的體驗(yàn)更好,同時(shí)還能很好的傳遞舊網(wǎng)站的權(quán)重到新網(wǎng)站。本文主要講解Linux主機(jī)apache服務(wù)器網(wǎng)站單頁面如何通過.htaccess文件一分鐘實(shí)現(xiàn)301內(nèi)頁重定向。
例如我們想把http:www.xxx.com/xxx.html轉(zhuǎn)移到http://xxx.xxx.com,則需要用下面的這種寫法。
RewriteEngine on
RewriteCond %{http_host} ^www.xxx.com$
RewriteRule ^xxx.html$ http://xxx.xxx.com/ [R=301,L]
注釋:
RewriteCond %{http_host} ^www.xxx.com$ 這個(gè)是鏈接跳轉(zhuǎn)前主域名,不帶http://
RewriteRule ^xxx.html$ 這個(gè)是要跳轉(zhuǎn)的單頁面
http://www.aaa.com/ [R=301,L] 這個(gè)是跳轉(zhuǎn)后的完整鏈接
需要注意的一些問題
如果你的網(wǎng)站根目錄中已經(jīng)存在了.htaccess文件,那么你可以直接修改該文件,然后將規(guī)則添加進(jìn)去,如果你的網(wǎng)站根目錄中不存在.htaccess文件,你可以先自己創(chuàng)建個(gè)htaccess.txt這樣的空文件,然后添加如下規(guī)則。
通過.htaccess文件規(guī)則跳轉(zhuǎn)方法只有在Linux主機(jī)才適用。
只有將http:www.xxx.com/xxx.html頁面重命名或者刪除后規(guī)則才會(huì)生效。
好了,單頁面的301規(guī)則就是這樣了,歡迎大家去嘗試一下,希望可以對有需要的用戶提供幫助!
樂思?xì)W,快快樂樂seo!
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。