Google Search Central近日提醒,网站因安装PHP补丁而临时下线时,应返回503(Service Unavailable,服务暂时不可用)HTTP状态码,向Google表明此次中断只是暂时的,而不是返回404,或让错误页面带着200状态码正常响应。
这条提醒发布于10月21日。同一天,PHP发布了针对两项严重漏洞的紧急修复,这些漏洞可能允许攻击者在未经身份验证的情况下远程执行代码。
不过,503并不是长期关闭网站的办法。Google相关文档建议,不要连续超过1至2天使用这类临时错误响应;如果同一URL持续多日返回服务器错误,可能被移出Google索引。
1、维护页面不要返回200或404
Google Search Central在LinkedIn中表示,维护期间返回503,有助于让已经收录的URL暂时保留在搜索中;网站恢复200响应后,相关处理也会逐步恢复正常。
同时,Google提醒不要在停机期间统一返回404,也不要用200状态码提供错误页面。John Mueller早在2013年就解释过,错误页面如果返回200 OK,Google可能会将错误提示内容当成正常页面内容处理或收录。
Mueller此次也在Bluesky发文,建议因PHP更新而暂停网站时使用503,不要任由请求超时,或返回404、500。他特别提到,503可以在PHP之外提供,例如通过CDN,或将DNS指向另一台服务器。
在相关讨论中,有用户将这一维护场景下的响应选择大致排序为503、500、403、404、200,Mueller认可了这种理解。
2、PHP停用后503仍需能够正常返回
如果维护的是PHP运行环境,仅靠PHP脚本输出维护页就不够了。PHP停止工作后,这段脚本也无法继续响应请求。
此外,robots.txt应保持正常可访问。Google暂停网站指南明确提醒,不要让robots.txt也返回503,否则会阻止抓取。业务页面进入维护状态,不意味着抓取规则文件也应一并关闭。
3、大量503会降低整个主机名的抓取频率
Google抓取频率文档将500、503和429列为紧急情况下短期降低抓取流量的方式。当抓取系统遇到大量返回这些状态码的URL时,会降低整个主机名的抓取频率,包括仍能正常返回内容的URL。错误减少后,抓取频率会自动回升。
返回503或429时,还可以添加Retry-After响应头,告诉抓取程序何时重试。其值可以是等待秒数,也可以是一个UTC日期和时间,例如:
HTTP/1.1 503 Service Unavailable
Retry-After: 120
抓取减慢也有影响:Googlebot发现新页面、刷新已有页面的频率会降低,Google Ads广告活动也可能被暂停或取消。
对于短时维护,不必将其与长期停机混为一谈。SEJ曾在2024年报道Google的Gary Illyes的说法:偶尔持续10至15分钟的503,并不算长时间中断。
4、旧版PHP用户仍需确认补丁来源
PHP 8.1及更早版本已经不再获得常规官方更新。此次PHP安全团队为PHP 7.4、8.0和8.1提供了有限的源码回移修复,供自行编译、或无法获得长期支持服务的团队使用;部分发行版、主机商及支持服务商也可能提供自己的回移补丁。
对准备停机更新的网站而言,应先安排好不依赖PHP的503响应,并保持robots.txt可访问。补丁部署完成、网站恢复200响应后,Google抓取会逐步回升。若预计维护将超过一两天,则需要重新考虑停机方式,而不是长期让全站保持503。
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)
微信扫码加好友进群
主机优惠码及时掌握
QQ群号:938255063
主机优惠发布与交流



