Categories


Tags


503状态码:防止网页被删除

我认为503状态码最大的作用是告知搜索引擎:现在服务器压力过大,网站(某个网页)稍后再抓取,503是指目前无法使用服务器(由于超载或进行停机维护)。通常,这只是一种暂时的状态。按照百度的说法,网站关闭或其他临时情况,这个时候网站应该返回:“503 Service Temporarily Unavailable”!使用503状态码,而不是404错误页面。

如果网站需要临时维护或者未建立好就上线的页面,当网页不能打开时以及没有建好时,不要立即返回404,建议使用503状态。503可以告知百度spider该页面临时不可访问,请过段时间再重试。

503状态码:防止网页被删除 SEO优化 主机 SEO推广 第1张

(网页出现503状态提示)

如果返回404状态码,会被百度当成死链删除,造成收录和流量损失。使用503返回码,这样百度的抓取器接到503返回码后,会在隔一段时间再去访问这个地址,在您的页面建好上线后,就又能被重新抓取,保证页面及时被抓取和索引,避免未建好的内容设为404后带来不必要的收录和流量损失。

常见的HTTP状态码

404:404返回码的含义是“NOT FOUND”,百度会认为网页已经失效,那么通常会从搜索结果中删除,并且短期内spider再次发现这条url也不会抓取。

301:301返回码的含义是“Moved Permanently”,百度会认为网页当前跳转至新url。当遇到站点迁移,域名更换、站点改版的情况时,推荐使用301返回码,尽量减少改版带来的流量损失。虽然百度spider现在对301跳转的响应周期较长,但我们还是推荐大家这么做。

503:503返回码的含义是“Service Unavailable”,百度会认为该网页临时不可访问,通常网站临时关闭,带宽有限等会产生这种情况。对于网页返回503,百度spider不会把这条url直接删除,短期内会再访问。届时如果网页已恢复,则正常抓取;如果继续返回503,短期内还会反复访问几次。但是如果网页长期返回503,那么这个url仍会被百度认为是失效链接,从搜索结果中删除。

503状态码的设置方法

IIS服务器的就好解决,一般回收一下应用程序池即可,或者重启一下IIS。

下面举的例子需要配合APACHE的 .htaccess 重写文件来实现:

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_USER_AGENT} ^.*Google.* [NC]

RewriteRule .* /cgi-bin/error/503.php

向除了指定ip外的任何来访者发送 503:

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1

RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503\.php [NC]

RewriteRule .* /cgi-bin/error/503.php

向蜘蛛发送 503,其他来访者返回一个 404 页面:

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC]

RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503\.php [NC]

RewriteRule .* /cgi-bin/error/503.php

RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1

RewriteCond %{REQUEST_URI} !^/cgi-bin/error/404\.php [NC]

RewriteRule .* /under-development-explain.html [R=302,L]

如果是单页面,可以先建一个503.php文件,

<?php

ob_start();

header('HTTP/1.1 503 Service Temporarily Unavailable');

header('Status: 503 Service Temporarily Unavailable');

header('Retry-After: 3600');

header('X-Powered-By:');

?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>503 Service Temporarily Unavailable</title>

</head><body>

<h1>Service Temporarily Unavailable</h1>

<p>The server is temporarily unable to service your

request due to maintenance downtime or capacity

problems. Please try again later.</p>

</body></html>

把这段代码复制进去就可以了,但切记把所有页面都指向这一个页面,这样做只告知了用户,而没有通知蜘蛛,这样蜘蛛只会以为其他页面被删除了,只剩下这个页面。

第一二句告知搜索蜘蛛网站处理暂时关闭状态,第三句告知搜索蜘蛛,网站将于2012年10月8日18:27从新开放,注意:这里用的是格林威治标准时间。

但是光放一个503信息到服务器里还是不够的,蜘蛛会访问网站不同的页面,因此我们必须引导所有的蜘蛛到503.php这个页面,让蜘蛛知道,整个网站处于临时关闭中,而不是个别页面。

如果站长使用的是Apache/Linux服务器,我们只需在.htaccess设置一下,引导所有的蜘蛛到505.php页面,这里我们要使用302跳转,注意:在这里千万不要使用301跳转,因为301是永久的,在这种情况下会毁灭掉整个网站。

引导蜘蛛到503.php

将下面这段代码保存到.htaccess文件,并上传到网站根目录

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{REMOTE_ADDR} !^00\.00\.00.\.00

RewriteCond %{REQUEST_URI}!^/503.php [NC]

RewriteRule ,* /503.php [R,L]

最后一行的[R, 告知蜘蛛,这个是302跳转,属于暂时的。这样我们就完成了网站临时关闭的部署,可以放心关站了!

百度站长平台的建议和总结:

如果百度spider对您的站点抓取压力过大,请尽量不要使用404,同样建议返回503。这样百度spider会过段时间再来尝试抓取这个链接,如果那个时间站点空闲,那它就会被成功抓取了

如果站点临时关闭或者页面暂未建好上线,当网页不能打开时以及没有建好时,不要立即返回404,建议使用503状态。503可以告知百度spider该页面临时不可访问,请过段时间再重试。

注:部分内容引自网络和百度站长平台

来源:卢松松博客


Public @ 2012-10-05 15:35:43

ZERO大神新鲜出炉网站SEO系统分析诊断书

编者按:SEO诊断师活动结束后,和评委ZERO闲聊,说到很多SEO人员都转行了(ZERO的原话是“绝望转行”),里面除了大环境的变化外,还有一些是工作思路和工作方法的原因。同时ZERO也感觉现在想在网上找一份“靠谱儿”的SEO诊断书实在太难了,可能是出于利益考虑,很多优质的SEO诊断书都深藏了存储盘中。没几天,ZERO很帅气地扔给了我一份SEO诊断书,还发来了长长的一段话。个人认为,如果你没有时间

Public @ 2017-07-06 15:30:21

优秀SEO诊断书分享——吕虎军

与第二届新好站蝶变行动报名活动相套的SEO诊断师招募活动已经结束啦,本次活动由三位评委老师共同评选出15位实力派SEO人员,后续会为蝶变行动中获奖的站点进行SEO诊断。那么在此之前,我们先来看看获奖选手的实力如何。率先公开的是优购网SEO总监吕虎军先生的诊断书,该诊断书完成于2014年,现在看稍显老旧,但不妨碍展示吕虎军的实力,希望吕虎军在对蝶变行动获奖站点进行SEO诊断时展示出最强的技术。评委焦

Public @ 2021-12-10 15:30:21

通过HTTP状态代码看搜索引擎怎么Crawl你的站

点 HTTP状态代码是指网站服务器对用户请求的响应结果。根据不同的HTTP状态代码,搜索引擎可以了解网页更新的频率,以及网页存在的情况,从而判断是否应该继续Crawl你的站点: HTTP 200:这是最常见的状态码,表示请求成功。搜索引擎会解析服务器返回的网页内容,并继续向您的站点爬取其他页面。 HTTP 301/302:这些状态码表示链接已经更改,搜索引擎会更新当前网页的链接,并继续爬取新

Public @ 2023-03-01 15:00:25

HTTP状态码有什么用,和SEO有什么关系?

HTTP状态码是Web服务器向客户端返回的三位数字代码,用于表示客户端请求的结果。每一个状态码都有特定的含义和解释。 HTTP状态码对SEO非常重要,因为它们影响着搜索引擎爬虫对网站的访问和索引。如果状态码为200(成功),搜索引擎会将页面添加到索引中,而其他状态码会影响搜索引擎对页面的索引和排名。 例如,如果页面返回404(未找到)状态码,搜索引擎就会认为页面不存在,从而将其从索引中删除。同

Public @ 2023-06-11 02:00:15

更多您感兴趣的搜索

0.429029s