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状态码是否正确,而不是看前台页面能否访问。
内容来源:陆柏熺 百家号
注:本报告内容均源自对网络信息的抓取梳理,我们已力求报告内容的客观、公正,但文中采用的报道、分析和资讯仅供参考,不构成任何建议。