考虑到 SEO 的维护模式策略

Posted

技术标签:

【中文标题】考虑到 SEO 的维护模式策略【英文标题】:Maintenance mode strategy with SEO in mind 【发布时间】:2011-03-04 15:03:07 【问题描述】:

在更新期间将您的网站置于维护状态时,哪些被认为是最佳做法?我问是因为我不太喜欢在谷歌中有超过 60k 索引页面的网站抛出 404 标题实际上告诉谷歌网站已经消失。我宁愿告诉谷歌该网站已经消失了几个小时,所以 googlebot 应该在几个小时后回来,现在什么都不做。

刚刚在谷歌官方网站管理员博客上找到了这篇博文:http://googlewebmastercentral.blogspot.com/2011/01/how-to-deal-with-planned-site-downtime.html,直接来自源代码!

【问题讨论】:

您知道,您可以接受其中一个正确答案。 ;-) @RyanChouinard:别急……我还在考虑你们两个中的哪一个得到我的认可:) 【参考方案1】:

将 307(或将其发送回带有 503 代码的维护页面)重定向到您的站点关闭页面会导致 googlebot 稍后返回:

http://www.ivankristianto.com/web-development/programming/enable-maintenance-mode-with-htaccess/1619/

【讨论】:

307 是一种 HTTP/1.1 扩展,但更合适。不过,Google 可能会一视同仁地对待 307 和 302。 建议使用 307 实际重定向到维护页面还是仅在实际请求的页面上显示维护页面并发送 503 Service Unavailable 标头?我目前正在做后者。 如果您有用户或自动化进程在维护中断期间向服务器发出 POST 请求,则 307 可能会导致混淆,因为重定向行为仅针对 GET 和 HEAD 请求定义。 为了解决 Bubby4j,应该注意的是,谷歌根据 RFC 尊重大多数状态代码。 503 是临时中断,将被视为此类。不会导致退市。我已经在几个项目中使用了该代码。【参考方案2】:

使用重写或其他重定向将所有流量推送到返回状态 503 - 服务不可用的维护页面应该是可以接受的。从 W3 开始,应在以下情况下使用 503:

由于服务器临时过载或维护,服务器当前无法处理请求。

有关 503 状态代码的更多信息,请参阅 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.4。

【讨论】:

【参考方案3】:

您可以执行以下任一操作:

添加

不允许:/

更新期间在 robots.txt 中。这告诉机器人现在不要索引任何东西。但是,请注意它开始在索引中删除页面的风险。不过我不认为它会那样做,但我不确定。

使用可捕获所有请求的重写规则,并将 302 临时移动到您的维护页面。这可能是最安全的选择。

【讨论】:

我不得不认为 Disallow 是一个危险的想法。为什么它不会开始放弃你? 坏主意...在我的 robots.txt 中包含 Disallow: / 仅半小时后,我经历了整个域从谷歌消失超过 2 天。我的老板当时不高兴:) 我同意第二种选择是最安全的选择,会更好地解释这一点。但是,我从谷歌阅读了一篇文章,他们声称他们不会直接删除页面,除非有待处理的撤销请求。我会试着查一下。 他们可能会暂时将其从索引中删除。我倾向于相信,因为 2 天后,整个网站的所有索引页面立即重新出现。 google.com/support/forum/p/Webmasters/… 这不是我读到的确切文章,但有趣的是他们怎么说“仅供参考 robots.txt 控制爬行,而不是索引,所以即使你有 Disallow:/ 我们也可以索引一些 URL(不抓取它们),例如,如果有一群人链接到该 URL"

以上是关于考虑到 SEO 的维护模式策略的主要内容,如果未能解决你的问题,请参考以下文章

策略模式

设计模式之策略模式

OpenStack Nova 计算节点的维护模式

JAVA设计模式之策略模式

设计模式---策略模式

设计模式-策略模式