301重定向是網站運營中最重要的一個技術設置,與SEO優化也有很大的關系,常用的Apache,IIS和nginx三大web服務器設置301重定向是一,般SEO工程師應該掌握的基本技能,301是HTTP狀態碼中比較重要的一個,意思是“永久轉移”,代表永久性而非臨時。
01301狀態碼的說明
在SEO優化中,如果一個網站同時有多個域名可以訪問時就要設置其中一個域名為主域名,其他的域名使用重定向的方式綁定到主域名上面。比如網站a有域名域名1和域名2同時可以訪問,那么我們就要選擇其中一個如域名1作為主域名,把域名2通過重定向綁定到域名1上面,你可以理解為自動跳轉。
常見的舊域名不使用了,啟用了新域名,但是由于以前的用戶不知道新域名,我們進行域名綁定,當用戶在訪問舊域名時會自動跳轉到新的域名上面。還有一種情況是帶3w和不帶3w的網址跳轉,我們需要選擇一個作為主域名。
這樣做的目的之一就是為了用戶體驗良好,其二是利于用戶記住我們的網站URL,一般這兩個步驟技術人員都會在解析綁定域名的時候完成,這個過程是不會存在問題的,對于用戶及前端頁面的瀏覽不會有任何問題。
我們必須要檢查每一個綁定的域名的HTTP狀態碼是否正確,如果有一個主域名,其他的的任何URL狀態碼都必須是301狀態碼才算正確。這個要是不會查看的話可以使用“站長工具里面的HTTP狀態碼檢查工具”進行查看。
比如舊域名跳轉到新域名上面,我們需要檢查舊域名的HTTP狀態碼是否為301,如果不是那就說明不對;將帶3w的網址設置為主要的域名,那么不帶3w的網址狀態碼就必須返回301狀態碼。
02SEO優化為什么和301狀態碼較勁
如果一個網站的同一個頁面有多個網址可以訪問,在搜索引擎看來,這些URL是完全不同的,就會重復收錄,每個url都會收錄相同的頁面,一個網站上的網頁是很多的,這樣就會造成大量的重復收錄,對SEO優化的影響在于權重分散,難以提高關鍵詞的排名。
所以做SEO優化是非常在乎這個設置的,直接關系到網站頁面的收錄關鍵詞排名,你說能不在乎嗎。
所有的網站在設置完301重定向之后,一定要檢查HTTP狀態碼是否真的返回301,因為有時候前臺是可以了但實際上返回的是200會302,這都是不對的,用站長工具查看一下,方法也很簡單。
因為搜索引擎蜘蛛在爬行和抓取頁時只認識HTTP狀態碼,也是按照HTTP狀態碼進行訪問網站的,其他的狀態碼搜索引擎不認識,或者會返回其他處理結果,比如蜘蛛遇到404狀態碼就會放棄抓取,遇到500就會停止抓取,如果狀態碼不對,可見SEO優化可能就是什么用都沒有。
03常見的IIS,Apache和nginx 301寫法
一、IIS web服務器重定向設置方法
iis設置重定向可以借助web.config文件,直接使用rewrite來寫,比如下面這段代碼段是http重定向到https, 注意,要放在
案例二:這個代碼段是無3w重定向到有3w域名, 注意,要放在web.config文件里面的
二、Apache 設置301重定向的方法
Apache服務器設置301重定向相對簡單,只需要打開網站根目錄下面的.htaccess文件找到:RewriteEngine on,在這句語句代碼的后面添加下面的代碼即可。
RewriteCond %{HTTP_HOST} ^需要被轉向的網址$RewriteRule ^(.*)$ http://轉向后的網址/$1 [R=301,L]
注意將上面的文字替換成對應的網址。
三、nginx設置301重定向的方法
打開nginx目錄里面的nginx.conf文件,找到server監聽端口,比如下面的代碼是將不帶3w和帶3w的http跳轉到https的寫法。
server {listen 80;server_name www域名com 不帶3w的com;return 301 https://域名com$request_uri;}同樣的道理,如果是將不帶3w的域名調轉到帶3w的域名上,只需要把上面的第三行代碼“www域名com 不帶3w的com”改成“不帶3w的域名”,第4行代碼改成帶3w的域名即可。
不論是iis、Apache還是nginx,在設置完成之后均需要重啟一下web服務器,然后在網站前臺測試訪問是否正常,HTTP狀態碼是否正確。
總之,關于301的設置,不管你使用什么樣的方法來實現了URL的跳轉,但是在SEO優化工程師的眼睛里,這些設置就要和搜索引擎的蜘蛛一樣,應該只認HTTP狀態碼是否正確,而不是看前臺頁面能否訪問。
內容來源:陸柏熺 百家號
注:本報告內容均源自對網絡信息的抓取梳理,我們已力求報告內容的客觀、公正,但文中采用的報道、分析和資訊僅供參考,不構成任何建議。