HTTP 503:为 SEO 正确处理站点维护

约斯特·德·瓦尔克

Joost de Valk 是 Yoast 的创始人兼首席产品官。 他是一位互联网企业家,在创立 Yoast 的同时,他还投资了几家初创公司并为其提供了建议。 他的主要专长是开源软件开发和数字营销。

http-503-handling-site-maintenance-correctly-for-seo HTTP 503:为 SEO 正确处理站点维护

有时,您的网站需要一些停机时间,以便您可以修复问题或更新插件。 大多数情况下,这往往是一个相对较短的时期,Google 很可能不会尝试抓取您的网站。 但是,如果您需要更多时间来解决问题,则可能性要高得多 谷歌机器人 可能会来访问并遇到一个已关闭的网站。 那么我们如何防止谷歌对您的网站进行降级呢?

HTTP 状态代码和你

对于那些不熟悉 HTTP 状态代码的人,以下是在处理站点维护时适用于您的状态代码的简要总结:

  • 200 好的。 此状态代码指示服务器已成功返回响应。
  • 301 永久移动。 这会告诉浏览器此页面不再有效,并将重定向到正确的页面。
  • 302 / 307 暂时移动。 这两个 HTTP 状态代码背后有一些历史记录,但这对浏览器的指示是,您将暂时将浏览器重定向到不同的页面,并且当前 URL 最终将恢复到以前的状态。
  • 404 未找到。 此状态代码表示无法找到您尝试导航到的页面。
  • 410 内容已删除。 如果您故意删除了您的内容并且不会有替换,请使用此选项。 了解更多 如何正确删除页面.
  • 503服务不可用。 这是您在处理网站维护时希望返回给 Google 的内容。 它告诉谷歌你实际上正在处理这个页面或者其他地方出了问题。 谷歌知道当这个状态码返回时,稍后再检查页面。 这就是我们将要讨论的更多内容。

请注意,尽管页面上存在错误(或内容很少),Google 仍会将返回 200 HTTP 状态代码的页面视为“软404“ 在 谷歌搜索控制台。

阅读更多: HTTP 状态代码 »

告诉谷歌你很忙

如果 Google 在抓取您的网站时遇到 404,它通常会从搜索结果中删除该页面,直到下次返回以验证该页面已返回。 但是,如果 Google 在该特定页面上反复遇到 404,它最终会推迟重新抓取,这意味着在页面返回搜索结果之前需要更多时间。

为了克服这种潜在的长期排名损失,您需要在处理特定页面时返回 503 状态代码。 503状态码的原始定义,根据 这个RFC, 是:

由于服务器暂时过载或维护,服务器当前无法处理请求。 这意味着这是一个暂时的情况,将在一些延迟后得到缓解。 如果已知,延迟的长度可以在 Retry-After 头中指示。 如果没有给出 Retry-After ,客户端应该像处理 500 响应一样处理响应。

这意味着返回 503 与 Retry-After 标头的组合,这将告诉 Google 在返回之前等待多少分钟。 这并不意味着谷歌会在 X 分钟内再次抓取,但它会确保谷歌在此之前不会回来查看。

添加标题

如果您想实现标头,您可以选择几个选项。

使用 WordPress 默认设置

默认情况下,WordPress 在更新插件或 WordPress 核心时已经返回 503。 WordPress 允许您通过将 maintenance.php 添加到您的 wp-content/ 目录来覆盖默认维护页面。 请注意,您将负责正确返回 503 标头。 计划进行数据库维护? 你也必须照顾到这一点。 将 db-error.php 文件添加到您的 wp-content/ 并确保您也在此处正确返回 503 标头。

如果您想为您的 WordPress 网站添加一些更有趣的东西,请查看 WP 维护模式. 除了我们在上一节中提到的之外,这个插件还添加了许多额外的功能。

如果您只是在编写自己的代码并想要一个易于实现的解决方案,您可以将以下代码段添加到您的代码库中,并在确定您是否处于维护模式的代码中调用它:

function set_503_header() { $protocol=”HTTP/1.0″; 如果 ( $_SERVER[‘SERVER_PROTOCOL’] === ‘HTTP/1.1’ ) { $protocol=”HTTP/1.1″; } header( $protocol . ‘503 Service Unavailable’, true, 503 ); header( ‘Retry-After: 3600’ ); }

请注意,代码片段中的 3600 表示以秒为单位的延迟时间。 这意味着上面的示例会告诉 GoogleBot 在一个小时后返回。 也可以在 Retry-After 中添加特定的日期和时间,但您需要小心在此处添加的内容,因为添加错误的日期可能会导致意外结果。

专业提示

缓存

在使用维护页面和返回 503 状态代码时,您需要考虑一些事项。 如果您主动使用缓存,您可能会遇到缓存无法正确传递 503 状态的情况,因此请确保在您网站的实时版本上主动使用它之前正确测试它。

机器人.txt

您知道也可以为 robots.txt 返回 503 状态代码吗? 谷歌在 它的 robots.txt 文档 您可以通过为 robots.xt 文件抛出 503 来暂时暂停抓取。 这样做的最大优点是维护期间服务器负载较少。

好好保养!

正如我们所见,您可以通过在进行网站维护时添加 503 来避免失去排名,让 Google 知道它可以稍后回来抓取您的网站。 有几种方法可以做到这一点。 选择最适合您的方式,您将拥有一个维护良好的网站,而没有失去排名的危险。 祝你好运!

继续阅读: 我应该使用哪个重定向? »

来源

原创文章,作者:WPJIAN,如若转载,请注明出处:https://wpjian.com/tips/2021060846083.html