假设您理论上经营一家电子商务商店。有时每年一次,您都需要关闭网站以更新产品信息或进行一些维护。我假设我们会将任何命中的页面定向到维护页面。

#1 楼

这是我过去使用Apache处理的方式(排名没有明显变化):

1。创建一个具有定义的维护窗口打开/关闭状态的维护页面-使维护窗口的时间是预期维护时间的两倍,以便在必要时可以回滚

2。重写规则以将流量定向到维护页面:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4
RewriteCond %{REQUEST_URI} !maintenance\.html$
RewriteRule .* /maintenance.html [L,R=307]


(其中1\.2\.3\.4是您IP的正则表达式)

3。完整的维护和测试,注释掉重写指令

就我所知,307临时重定向是针对维护情况的正确响应标头,我从未见过持续维护的任何问题1在中等繁忙的网站上-3个小时(即每小时100-500个用户)。 Retry-After时间范围内的错误,指示蜘蛛程序不应缓存维护页面的内容。为此,您可以按照AskApache的503 / Retry-After HowTo进行操作。

评论


是的307正是您想要的。

–John Conde♦
2010-10-28 3:49

还要确保您的维护页面返回的是503 HTTP结果代码。如果没有503,搜索引擎可能会假设您希望对该内容建立索引(事实并非如此)。

–约翰·穆勒(John Mueller)
2010-10-28 12:49



@John Mueller-啊,您是对的-我忘了在维护页面上提到标记-会添加

–danlefree
2010-10-28 12:52

几乎是:)-503很重要,因为搜寻器根本不会读取页面的内容,而是稍后重试。 noindex元标记将是错误的,因为它基本上会告诉搜索引擎从索引中删除内容(它将从索引中删除维护页面和可能的原始URL)。我不建议在维护页面上使用noindex。

–约翰·穆勒(John Mueller)
10-10-29在20:31

@John_Mueller-公平地说,我在进行维护的过程中没有发现任何问题,维护很少花费超过30分钟的时间,并且该站点没有产生足够的新内容来保证不断的爬行,因此请您参考。

–danlefree
2010-10-29 20:38