文档章节

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

esky001
 esky001
发布于 2015/04/22 09:41
字数 1301
阅读 1
收藏 0
点赞 0
评论 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
WEB 开发者应该具备的 6 大技能?

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

大猛猛
2016/03/03
66
0
如何使用robots.txt及其详解

在国内,网站管理者似乎对robots.txt并没有引起多大重视,应一些朋友之请求,今天想通过这篇文章来简单谈一下robots.txt的写作。 robots.txt基本介绍 robots.txt是一个纯文本文件,在这个文件...

yunwei001
06/27
0
0
《网络黑白》一书所抄袭的文章列表

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

wizardforcel0
07/02
0
0
Web架构的演变-2016

1 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 2阶...

啊莫
2016/03/04
409
0
dySE:一个 Java 搜索引擎的实现,第 1 部分: 网络爬虫

自己动手写一个搜索引擎,想想这有多 cool:在界面上输入关键词,点击搜索,得到自己想要的结果;那么它还可以做什么呢?也许是自己的网站需要一个站内搜索功能,抑或是对于硬盘中文档的搜索...

yaraja
2012/02/02
0
2
SEO培训: 《搜索引擎优化知识完全手册》

(SEM:Search Engine Marketing)在网络营销中的举足轻重的作用,决定了搜索引擎优化(SEO:Search Engine Optimazation)在网络营销实战中的重要意义。一个 商业网站以其核心关键词在主流搜...

晨曦之光
2012/03/09
0
0
20个最好的wordpress搜索引擎优化插件

全球互联网博客的数量已经超过1亿2000万,人们如何才能在浩瀚的互联网上找到你的博客呢?社会化媒体营销是一个方法,当然你需要付出大量的时间和精力。也许你对社会化网络没有什么兴趣,你只想...

老枪
2009/03/28
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Sparkstreaming and Kafka

简介 Kafka 0.10的Spark Streaming集成设计与0.8 Direct Stream方法类似。 它提供了简单的并行性,Kafka分区和Spark分区之间的1:1对应关系,以及对偏移量和元数据的访问。 但是,由于较新的...

舒运
6分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
34分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
39分钟前
1
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
0
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
1
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0
CentoOS6.6安装netcat

CentOS下安装netcat 使用zookeeper过程中,需要监控集群状态。在使用四字命令时(echo conf | nc localhost 2181),报出如下错误:-bash: netcat: command not found。 我的系统是CentOS 6....

ghou-靠墙哭
今天
0
0
es6之解构赋值巧用

ES6 允许按照一定模式,从数组、对象等中提取值,对变量进行赋值,这被称为解构赋值。 如何进行解构赋值我这里就不赘述,本篇文章主要是将解构赋值的巧妙使用之处。 1、交互变量的值 常用交互...

秋季长青
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部