一对一免费咨询: 13913005726 025-66045668

网站设计门户

公司新来的一位SEO向我质疑说404页面不能跳转到首页,说这样会导致首页会被K掉,还言之凿凿的说,夫唯也这么说过。落叶给他的建议是,遇到问题要多思考,SEO这个本来误传比较多,弄清楚404的原理,及一些状态码的含义,什么情况下会导致被误判或弊端,思考清楚这些,谁怎么说已经不重要了。

本文中分析一下各种常见的HTTP返回状态含义及对应的网站的出错情况,同时也介绍一下,IIS服务器、apache服务器及一般虚拟主机上设置404错误页的正确方法。

站长常需要关注的HTTP状态及含义:

200 :页面正常访问时的返回HTTP状态。当一个页面返回200状态码时,则表示告诉浏览器或者搜索引擎,该页面是可以正常到达的。

404 :页面找南川网站建设公司 不到时,返回的HTTP状态。SEO处理中如果想自定义404页面,需要做到的是确公司网站建设保访问错误页时返回状态为404,这样搜索引擎才知道,这个页面是找不到了。而通常很多站长朋友们之所以对文章开头提到的认为404页面自动跳转到首页会有问题,原因通常是因为404页面跳转时设置不当,返回了200状态码又没有发现,结果搜索引擎抓取错误页时看到的是200状态,就认定网站上出现了大量的与首页相同页面,这种情况,被降权是显然的了。有些站长图省事,直接在IDC提供的虚拟主机后台设置404页面,并在页面上放置了类似或者js方式的windwo.location跳转,结果是返回200状态。

301 :页面永久重定向时返回的HTTP状态。目前公认的最正确的跳转方法,并且可以起到权重传递作用。一般在程序作跳转时先发送301状态即可。如PHP中发送:header(HTTP/1.1 301 Moved Permanently); ASP中发送Response.Status=301 Moved Permanently

302 :页面临时跳转时返回的状态。现在普遍认为使用302跳转容易被搜索引擎视为作弊,据传是早期302跳转被滥用而留下的后遗症。落叶不能算很老的站长,没见过被滥用啥样子,不过呢,302跳转更多的是作为功能性跳转,基本目前的每一个网站程序中都会用到,如添加一篇文章,自动跳转回列表页;操作成功/失败提示自动跳转等。ASP中的response.redirect跳转,PHP中的普通header跳转返回的都是302状态。这些跳转,一般是在网站后台操作时的功能性跳转,不会对SEO产生影响。但如果作为前台页面跳转,那就值得斟酌了。

500 :页面代码出错时返回的状态。通常站长朋友们经常遇到标题中提示内部服务器错误,其实这种情况大多数是因为访问的网站或者页面ASP或者PHP等出现代码错误,如语法错误、数据库连接错误等,而恰好服务器环境关闭了出错信息的输出提示,所以在出错时,站长看到的就是500状态的内部服务器错误。很多朋友在遇到这个问题时,搜索一翻,发现好多很专业的很专业的不知所云的文章,说了一大堆啥问题啥问题,而实际结果发现,就是PHP文件某行代码少了个分号。

常见的跳转代码返回的状态码:

1、静态页HTTP跳转:

跳转代码:

返回状态码:200

2、JS跳转

跳转代码:

返回状态:200

3、JS延时跳转

跳转代码:

function countDown(secs,surl){

//alert(surl);

tiao.innerText=secs;

if(--secs0){

setTimeout("countDown)"+secs+",'"+surl+"')",1000);

}

else{

location.href=surl;

}

}

4、3秒后自动跳转到PHPINFO页面

返回状态码:200

5、ASP的跳转

跳转代码:% response.redirect http://www.baidu.com %

返回状态:302

6、PHP跳转

跳转代码:

返回状态:302

了解到这几个常见的HTTP状态码的所代表的含义,那在不同的环境下,应该怎样处理,以保证404页设置正确呢?

IIS服务器上设置404页面

把制作好的404页面放在网站根目录下,在IIS管理器中右键点击需要设置404的站点的属性,点击自定义错误选项卡,在HTTP错误类型列表中找到404错误,进行编辑,消息类型选择文件,然后点击浏览选择网站根目录下的404页面。

原则上,该404页面并非一定要放在网站根目录下,放在网站的任何目录下均可,亦可直接放到C:\WINDOWS\help\iisHelp\common\ 目录下,并且文件名不一定需要叫404.htm

落叶做过测试,通过服务器上IIS这里设置的404页面,只要设置方式是按如上操作的,即使404.htm是使用的原本会发送200状态的静态跳转代码或JS跳转代码,仍然能正常返回404状态。

1、APACHE服务器上设置404页面

访问Apache目录下的conf目录下的extra目录,记事本打开httpd-vhosts.conf,在子站点的配置文件中加上ErrorDocument 404 /404.html,然后做一个404.html放置在网站根目录下,重启APACHE服务即可生效。

具体示例如下:

ServerAdmin cmstong@qq.com

DocumentRoot "E:\AppServ\www\empirecms"

ServerName pmume.com

ServerAlias www.pmume.com

ErrorDocument 404 /404.html

ErrorLog "logs/dummy-host.x-error.log"

CustomLog "logs/dummy-host.x-access.log" 铜陵网站建设公司common

2、IIS虚拟主机上设置404

目前国内流传的IIS下的伪静态规则组件ISAPI_Rewrite都是试用版或者破解版,貌似都不能很好的支持301、404的重写。所以没办法通过httpd.ini里面的伪静态规则来实现404重写。目前IIS虚拟主机设置404的较方便的方法,还是在IDC提供的虚拟主机管理后台进行404设置。但很多虚拟主机管理后台的404设置功能并不是太理想,建议这类型的用户404页面中不要设置跳转,否则很可能导致的是404跳转返回200状态,起到反作用。

有很多人想通过选择404.asp或404.php,然后在404里面作些跳转,结果发现返回的是200状态。其实这里还是老老实实选择第4个吧。

3、Apache虚拟主机上设置404

根目录下新建.htaccess文件,(一般APACHE虚拟主机根目录下或者CMS都会提供这么一个文件,如果自己在WIN下创建是没法成功的,会提示文件名不能为空。)

在里面规则后面加上ErrorDocument 404 /err404.html即可。

作者:落叶(t.qq.com/guohui) 网站:http://www.pmume.com

落叶原创首发CHINAZ,尊重版权,转载请保留作者信息及链接。


 


 南京牧狼文化传媒有限公司简介:


      牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!


  公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!


  为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!


  主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等


  合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯


  资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。



致力于为客户创造更多价值
13913005726 025-66045668
需求提交
电话咨询
在线咨询