SEO 百科

站点暂停

本页目录

站点暂停

站点暂停 指站点在一段时间内停止对外提供服务,例如维护、迁移切换或突发故障[2]。做这件事的人需要它,因为停机本身不一定会让页面掉出索引,处理方式选错才会[4]。要点有三条:停机期间用 503 而不是 200 或 404,用 Retry-After 告诉爬虫多久后回来,恢复之后要确认各个页面重新可访问。

503 的适用场合

RFC 9110 把 503 定义为服务器当前无法处理请求,原因是临时过载或计划内维护[1]。值得留意的是两个词:临时与计划。503 声明的是暂时状态,不是内容消失。

配套的响应头是 Retry-After。RFC 9110 说明了它的作用:服务器可以用它告诉客户端多久之后再来请求[1]。

HTTP/1.1 503 Service Unavailable
Retry-After: 3600

Yandex 的表述更直接:站点临时不可用时,把服务器配置成返回 503,页面就不会掉出搜索[2]。这条建议出现在页面被排除原因的说明里,排查收录问题时也会遇到[3]。

返回 200 的问题

维护页如果返回 200,爬虫会把它当成正常内容抓走。原页面被一个内容很少的临时页顶替,索引里的内容会跟着被替换[4]。维护页返回成功状态却没有实际内容时,Google 把它归为 soft 404[4]。

另有两条路也走不通:

  • 用 robots.txt 全站 Disallow。它只挡住抓取,不会移除已经收录的页面,恢复后页面的抓取信号也受影响。
  • 用跳转到别处顶替。临时停机不是永久搬迁,跳转会把旧地址与目标地址绑在一起。

直接下线的问题

把旧地址返回 404,或让服务器直接断连,结果和 503 相反。Yandex 说明,返回 4xx 或 5xx 的页面不会被收录;如果之前已在搜索里,抓取到之后会被移除[2]。Google 也把 404 与 410 看作删除信号[4]。

停机时间短还能挽回。停机时间一长,页面被清出索引之后要依靠重新抓取与重新评估才能回来,恢复期比停机期更长。

操作顺序

  1. 先判断暂停范围。只停某几个页面时,给这些 URL 单独返回 503。
  2. 全站维护时,在网络服务器或反向代理层拦下请求,统一返回 503,不要落到应用层[1]。
  3. 在响应里附上 Retry-After,写明预计恢复的秒数或时间[1]。
  4. 保持 robots.txt 可访问,不要在里面写全站 Disallow。
  5. 页面外壳给出维护说明,让用户知道站点还在。
  6. 恢复服务后逐项抽查,确认页面返回 200 且内容完整[3]。
  7. 在各家站长后台观察抓取量与索引量的恢复情况。百度搜索资源平台的抓取异常工具,可以汇总爬虫访问时遇到的问题[5]。
# 维护期间全站返回 503,并告知爬虫一小时后重试
location / {
    return 503;
}
error_page 503 /maintenance.html;

add_header Retry-After 3600;

暂停时长的影响

影响随停机时长上升,可以分三档看:

  • 几小时以内。抓取量在恢复当天回弹,收录基本不受影响。
  • 一到几天。抓取频次会下调,恢复正常需要几天;503 期间页面仍留在索引里[2]。
  • 数周以上。爬虫来访明显减少,已被移除的页面需要重新被抓取才能回来,恢复期按月计算。

与收录的关系

停机处理得好,收录只会短暂停在原地;处理得差,页面会被移出索引。两种结果的差别只在状态码与响应头:

做法 爬虫看到的结果
返回 503 加 Retry-After 页面暂时不可用,稍后会再来
返回 200 加一页维护说明 内容被临时页顶替,可能判为 soft 404
返回 404 或直接断连 页面被当作已删除,从索引里移除
全站 robots.txt 屏蔽 不再抓取,已收录页面不会自动消失

常见误用

第一种是维护页返回 200。原页面内容被顶替,恢复后要重新等一轮抓取[4]。

第二种是停机时直接拔掉服务。返回的是连接失败,爬虫拿不到任何状态码,页面会被当作不可用[2]。

第三种是全站 Disallow 之后再上线。屏蔽规则一撤,页面需要重新被爬虫发现,收录节奏被打乱。

第四种是不写 Retry-After。不给恢复时间,爬虫只能按自己的节奏重试[1]。

附录

参见

参考资料

官方(境外)

  1. 《RFC 9110 : STD 97 : HTTP Semantics》,RFC 编辑部,2022-06。
  2. 《HTTP status codes reference》,Yandex Webmaster。
  3. 《Why are pages excluded from the search?》,Yandex Webmaster。
  4. 《HTTP 状态代码以及网络连接错误和 DNS 错误对 Google 搜索有何影响》,Google 搜索中心。

官方(国内)

  1. 《抓取异常》,百度搜索资源平台。

外部链接

无。