文档章节

如何避免网站维护时被搜索引擎“误解” (二)

esky001
 esky001
发布于 2015/04/22 09:41
字数 1301
阅读 1
收藏 0

昨天写了一个用header处理跳转,防止被搜索引擎误解的方法,其实就是301和302的关系.今天要转载一篇相对处理方法较多,且更实用的方法 

原文来自:http://www.eamonning.com/blog.php?id=309

回到主题,有些网站常常因为需要进行常规维护或者因为某些原因(黑客)而不得不临时关闭,如果用户或者搜索引擎在这个时候访问临时关闭的网站,这将会影响网站的声誉或者排名流量。因此做好网站临时关闭的一些工作。  

  下面我将教大家怎么处理好网站临时关闭时跟用户还有搜索引擎的一些三角关系!  

  让用户与蜘蛛知道网站正在维护

   当一家餐厅的老板,因为某些原因不得不临时关闭餐厅,老板会在餐厅门口贴公告,告知顾客餐厅临时关闭以及恢复营业的时间,这样顾客就不会误以为 餐厅倒闭,而不再次光临。同样的道理也可以套用在网站上,如果一个网站因为某些原因必须临时关闭,那么站长有责任通知蜘蛛还有用户,并告知恢复的时间,这 样蜘蛛还有用户才会再次访问网站,而不是误以为网站已经永久关闭。

  网络的世界比较复杂,因此告知用户与蜘蛛是一名艺术,下面我们列举两个站长朋友经常犯的错误。  

  错误一,网站关闭没有告知

  有些网站没有做好告知工作,随随便便就把网站关闭,导致用户以及蜘蛛访问时,显示404页面。

[attach=924]

  最糟的情况是,用户以及蜘蛛会误以为网站已经倒闭,而不会再次光临,就跟餐厅一样,关门,没有贴公告,同样的其顾客会以为餐厅已经倒闭了,下次不会再来了。

  错误二,单一页面告知  

  有些站长则会制作一个单一页面,告知用户网站正在维护,并将全站其他的页面都指向这一页面。

  这也是非常不智的行为,因为这样做只告知了用户,而没有通知蜘蛛,这样蜘蛛只会以为其他页面被删除了,只剩下这个页面。

  我们先复习下几个最常碰到的HTTP状态码  

  1. 200 - 服务器成功返回网页

  2. 301- 请求的网页已永久移动到新位置。当URLs发生变化时,使用301代码。搜索引擎索引中保存新的URL。  

  3. 302 -请求的网页临时移动到新位置。搜索引擎索引中保存原来的URL。  

  4. 404 - 请求的网页不存在  

  5. 503 - 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。  

  如何告知用户以及蜘蛛网站正在维护?  

  如果我们网站临时关闭,必须告知用户以及蜘蛛,让用户跟蜘蛛知道网站只是临时关闭,而不是永久关闭,这样用户跟蜘蛛就会隔断时间再次访问网站,具体做法是创建一个返回503状态的文件。  

  1. 创建一个503.php的文件,并把它放到服务器的根目录 

PHP代码

  1. <?php    

  2.   

  3.   header("HTTP/1.1 503 Service Temporarily Unavailable");    

  4.   header("Status: 503 Service Temporarily Unavailable");    

  5.   header('Retry-After: Sat, 8 Oct 2012 18:27:00 GMT");   

  6. ?>   

  7.  

  8.   <!DOCTYPE HTML>   

  9.   <html>   

  10.   <head>   

  11.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    

  12.   <title>网站名称</title>     

  13.   </head>      

  14.   <body>    

  15.   <h1>网站名称</h1>    

  16.   <p>网站维护中</p>     

  17.   <p>将于2012/10/8恢复</p>      

  18.   </body>      

  19.   </html>    

  第一二句告知搜索蜘蛛网站处理暂时关闭状态,第三句告知搜索蜘蛛,网站将于2012年10月8日18:27从新开放,注意:这里用的是格林威治标准时间。  

  但是光放一个503信息到服务器里还是不够的,蜘蛛会访问网站不同的页面,因此我们必须引导所有的蜘蛛到503.php这个页面,让蜘蛛知道,整个网站处于临时关闭中,而不是个别页面。  

  如果站长使用的是Apache/Linux服务器,我们只需在.htaccess设置一下,引导所有的蜘蛛到505.php页面,这里我们要使用302跳转,注意:在这里千万不要使用301跳转,因为301是永久的,在这种情况下会毁灭掉整个网站。  

  2.引导蜘蛛到503.php  

  将下面这段代码保存到.htaccess文件,并上传到网站根目录

XML/HTML代码

  1. Options +FollowSymLinks    

  2.   RewriteEngine On    

  3.   RewriteBase /    

  4.   RewriteCond %{REMOTE_ADDR} !^00.00.00..00    

  5.   RewriteCond %{REQUEST_URI}!^/503.php [NC]    

  6.   RewriteRule ,* /503.php [R,L]    

  最后一行的[R, 告知蜘蛛,这个是302跳转,属于暂时的。

  这样我们就完成了网站临时关闭的部署,可以放心关站了!

---EOF---

上述的方法其实会更实用一些,关于nginx,就不仔细写了nginx其实还更方便呢...


© 著作权归作者所有

共有 人打赏支持
esky001
粉丝 0
博文 2
码字总数 1592
作品 0
泉州
在发布站点前,Web开发者需要关注哪些技术细节?

问:对于一个Web开发人员来说,在发布一个站点之前,他需要处理哪些细节性的问题。假如Jeff Atwood能在站点上忽略了对HttpOnly cookies,sitemaps和cross-site request forgeries的关注,那我...

modernizr
2014/05/21
1K
5
如何处理计划中的网站关闭事件

有一段时间用户经常问我们,如果某个网站在谷歌机器人搜索时处于关闭状态,那么该网站在谷歌搜索结果中的“可见度”是否会受到负面影响。有时网站关闭是一种不可避免的事件:网站站长可能因网...

夏小八
2011/03/12
0
0
总结:WEB开发者应必须具备的6大技能

“WEB开发本身涵盖了许多领域的许多技术,那么,有哪些是WEB开发者必备的技能呢?”本文整理自Quora上开发者Ellyse Taylor对该问题的回答,希望大家能够从中学到一些东西。 By Ellyse Taylor...

zyt_1978
2016/07/03
23
0
《网络黑白》一书所抄袭的文章列表

这本书实在是垃圾,一是因为它的互联网上的文章拼凑而成的,二是因为拼凑水平太差,连表述都一模一样,还抄得前言不搭后语,三是因为内容全都是大量的科普,不涉及技术也没有干货。所以大家也...

wizardforcel0
07/02
0
0
WEB 开发者应该具备的 6 大技能?

WEB开发本身涵盖了许多领域的许多技术,那么,有哪些是WEB开发者必备的技能呢?这是一个[Quora][q]上用户提出的问题,其中Ellyse Taylor的回答获得了1900+的赞同。 可能很多人对下面这个列表...

大猛猛
2016/03/03
66
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 使用parent方式引用时 获取值属性方式默认@

采用官网提供的 引入依赖时,application.properties中的值变量,无法通过${}获取,这是由于Spring Boot 已经将字符方式调整为 <resource.delimiter>@</resource.delimiter>。故如果在,工程中...

翱翔fly
22分钟前
1
0
HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】

------------------------------------------------------------ HTTPS证书验证流程(极简化版) 1.客户端向服务端请求证书(server.crt) 2.服务端下发证书(server.crt) 3.客户端用预制的...

xiaomin0322
23分钟前
1
0
预编译sql语句和参数化sql能有效防止——sql注入攻击——

预编译和参数化处理sql原理类似: 参数化处理sql 是将参数进行了字符串化处理,把参数中的单引号,井号#,等都做了转义处理,进而在执行sql语句时不会被当做sql中的定界符和指定符来执行。 ...

fang_faye
23分钟前
1
0
springboot最全配置解释

​​​​​​​# ----------------------------------------# 核心属性# ----------------------------------------# 文件编码banner.charset= UTF-8# 文件位置banner.locati...

废柴大叔
25分钟前
82
1
(大致了解下)从单机到2000万QPS: 知乎Redis平台发展与演进之路

导读:知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能。本文作者是是该系统的负责人,文...

Ocean_K
32分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部