要让网站下线来修补 PHP?从PHP外部服务503,并保持robots.txt可联系。连续几天的服务器错误可能会导致URL被丢弃。

谷歌搜索中心提醒任何因PHP补丁而下线服务器的人返回503状态码,这告诉谷歌这次故障是暂时的。
这则LinkedIn帖子于周三发布,正值PHP发布了针对两个关键漏洞的紧急修复,这些漏洞可能让攻击者无需登录即可运行代码。
帖子里没说503能维持多久。谷歌的爬取速率文档建议不要在一到两天内提供该链接,因为返回该网址的URL可能会被从索引中移除。
谷歌和穆勒的说法
谷歌搜索中心写道:
“提供503(服务不可用)HTTP 状态码,确保在你工作时,已索引的 URL 在搜索中被保留。一旦你开始再次提供200个回复,事情自然会恢复正常。”
帖子还警告不要在停机期间使用通用的404表格或200个错误页面。它链接到了谷歌关于HTTP状态码如何影响其爬虫的页面。
在2013年的一篇文章中,谷歌的约翰·穆勒写道,返回带有200 OK状态码的错误页面会促使谷歌索引该错误内容。
穆勒周三早些时候在Bluesky发布了自己的提醒,并说明了503的来源:
“如果你要关闭PHP站点来安排时间处理'非计划更新',请使用HTTP 503,而不是让响应超时/404/500。你可以在 PHP 之外/把 DNS 指向别处/CDN。”
他链接的2011年谷歌帖子展示了如何发送包含PHP代码的503表格,但当PHP即将下线时,这无济于事。
一位Bluesky用户在回复中大致将回答从好到差排序为503、500、403、404和200。穆勒称其为“一个好模型”。
503表格如何影响爬行
谷歌的爬取速率文档列出了500、503和429条响应,作为紧急短期减少爬虫流量的方法。当谷歌的爬虫访问大量返回这些状态码的URL时,它们会降低整个主机名的爬取率,包括仍返回内容的URL。一旦错误数量减少,谷歌会自动再次提高爬取率。
当返回503或429时,你可以添加一个Retry-After HTTP头,告诉Google的爬虫何时再试,可以是秒数,也可以是UTC的日期和时间。
谷歌的爬取率页面还警告说,爬行速度变慢意味着谷歌机器人发现的新页面减少,刷新现有页面的频率也降低。Google Ads 广告活动可能会被取消或暂停。
当我在2024年报道谷歌的Gary Illyes的评论时,他说一个偶尔持续10-15分钟的503“绝非'延长',所以你应该没问题。”
谷歌建议提供503申请的时间
谷歌的爬取速率页面警告:
“我们不建议你长时间这样做(也就是说,超过1-2天),因为这可能会对你的网站在谷歌产品中的展示产生负面影响。例如,在搜索的情况下,如果 Googlebot 在同一 URL 上连续多天观察到这些状态码,该 URL 可能会从谷歌的索引中被移除。”
谷歌的状态码页面,也就是LinkedIn帖子链接的页面,表示已经被索引但会返回服务器错误的URL“会保留在索引中,但最终会被删除”。
谷歌暂停网站的指南称关闭整个网站是极端措施,通常只会持续很短的时间,最多几天。
指南还说不要为robots.txt文件返回503,因为那会阻止所有爬取。报告还指出,谷歌系统无法刷新返回503表格页面的标题、描述、元数据或结构化数据。
为什么这很重要
503必须来自在PHP离线时仍能运行的设备,比如CDN规则或你指向的临时服务器DNS。你的robots.txt文件应该会正常响应,这样Google仍然可以爬取网站。503表格是短期措施,因为谷歌文档建议不要超过一到两天。
展望未来
PHP 8.1及以上版本的网站不再定期获得官方更新。PHP 已为自建 PHP 的团队发布了 7.4 至 8.1 版本的有限源代码修复,主机或支持厂商也可能自行提供修复,正如 Vahan Petrosyan 在 SEJ 报道的那样。对于超过一两天的关闭,谷歌的暂停指南指向一个可索引的首页,并以200作为占位符。当网站再次返回200小时时,谷歌的状态码页面显示爬行速度会逐渐恢复。
4001102288 欢迎批评指正
All Rights Reserved 新浪公司 版权所有