做SEO应该知道的HTTP状态码


在搜索引擎蜘蛛怎样抓取页面一文中,我们知道了http状态码是最先返回给客户端(浏览器或搜索引擎蜘蛛)的信息。这个信息很短小,方便客户端迅速识别并 做出一些判断,而不用耗费资源处理后续的信息。你可能已经猜到搜索引擎蜘蛛会善加利用这个信息,没错,百度半官方发言人百度站长俱乐部发布了一个帖子返回 码的含义和建议,可见SEO和HTTP状态码的确颇有关系。HTTP状态码有很多,我们做SEO的应该重点掌握哪些呢? 首先根据百度站长俱乐部那篇有名的帖子,下面四个HTTP状态码应该重点掌握。404状态码:请求失败,请求所希望得到的资源未被在服务器上发现,没有信 息能够告诉用户这个状况到底是暂时的还是永久的。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。 搜索引擎不会抓取和收录404页面的内容,但我们应该定制一个对用户友好的404页面。503状态码:由于临时的服务器维护或者过载,服务器当前无法处理 请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个Retry-After头用以标明这个延迟时间。如果 没有给出这个Retry-After信息,那么客户端应当以处理500响应的方式处理它。403状态码:服务器已经理解请求,但是拒绝执行它。如果服务器 希望向浏览者讲清楚为何请求不能被执行,可以在返回的网页中说明拒绝的原因。很多人都知道要定制404错误页面,其实403错误页面也可以定制,给那些没 有访问权限的人注册方面的提示信息。301状态码:请求的网页已永久移动到新位置,当url发生变化时,使用301代码,搜索引擎索引中保存新的URL。 此外,Ethan补充几个常见的HTTP状态码:200状态码:服务器已成功处理了请求并提供了请求的网页。302状态码:请求的网页临时移动到新位置, 从网址A做一个302重定向到网址B时,服务器隐含的意思是网址A随时有可能改主意,重新显示本身的内容或转向其他的地方。500状态码:服务器遇到了一 个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题会在网站的程序代码出错时出现。要说明的是,服务器返回HTTP状态码的意思不是说 只有服务器本身才能生成状态码,在服务器上运行的程序也可以生成状态码,并以服务器的名义返回。这让我们可以更灵活地用程序定制403或404页面。比如 对于某种情况下出现的404页面,我们可以用程序把返回的状态码从200改成404。最后,Ethan再重复下百度站长俱乐部的建议,请大家仔细体会:如 果站点临时关闭,当网页不能打开时,不要立即返回404,建议使用503状态。503可以告知百度spider该页面临时不可访问,请过段时间再重试。如 果百度spider对您的站点抓取压力过大,请尽量不要使用404,同样建议返回503。这样百度spider会过段时间再来尝试抓取这个链接,如果那个 时间站点空闲,那它就会被成功抓取了。有一些网站希望百度只收录部分内容,例如审核后的内容,累积一段时间的新用户页等等。在这种情况,建议新发内容暂时 返回403,等审核或做好处理之后,再返回正常状态的返回码。站点迁移,或域名更换时,请使用301返回码。