如何禁止搜索引擎收录?


很多站长都认为有搜索引擎收录是一件好事,首先是自己的网站得到了承认,通过搜索引擎也能带来一定的流量。其实并不完全准确,某些比较不知 名的搜索引擎,即便收录了许多网页,并且天天更新,却不能带来实在的利益,反而浪费了服务器带宽(国内的主机一般宣称不限流量,但国外的 Dreamhost这样的主机都是限制流量的),这样的搜索引擎,收不收录也是无所谓的。本文说说如何禁止某些搜索引擎的抓取及收录。

首先谈谈哪些搜索引擎是一定有用的,Google,百度,我认为这两个搜索引擎是必须的。国内网站的90%以上的搜索引擎流量来自于Google和 百度,其中百度七成,Google三成左右。Google是搜索引擎的权威(强龙),而百度就是中文搜索的领袖(地头蛇)。除此之外,我认为其他的搜索引 擎都可以屏蔽。雅虎中国、Live中文、以及国内的搜狗、搜搜、有道之辈均是无足轻重的搜索引擎。

禁止搜索引擎收录的方法大概有3种。

方法一:服务器禁止访问。

这需要服务器配备有cPanel这样的后台管理软件,设定某个搜索引擎所在的IP段禁止访问。如要封锁Google的蜘蛛,先通过域名对应IP查询 得www.google.com的IP地址,如74.125.19.99,再通过IP WHOIS查询查到IP段 74.125.0.0 – 74.125.255.255 的所有人均是Google公司,把这个IP段填入IP黑名单中。(具体的方法根据不同的管理软件有所不同,可能是 74.125.0.0-74.125.255.255或74.125.*.*)

这个方法比较好的地方在于直接禁止搜索引擎的访问,除了HTTP请求头,几乎不耗费流量,一般情况下这点流量也不会计算在你的消耗的流量当中。这是 禁止搜索引擎收录的最好方法。但麻烦在于你不可能得到Google的所有IP段,这个就得靠收集了。

方法二:robots.txt禁止

robots.txt(小写)是放置在网站根目录下的搜索引擎权限控制文件。搜索引擎一般遵守robots.txt协议。通过编辑 robots.txt协议,可以禁止某些搜索引擎的访问、禁止某个文件、文件夹被搜索引擎收录,适合用于保护私有文件。搜索引擎通过读取 robots.txt,判断自己是否在被禁止搜索引擎之列,如果被禁止,一般不会对该网站进行抓取,除了百度这变态

robots.txt的简单用法:

1.禁止百度收录(想和淘宝一样抵制百度就这么做 :)

  1. User-agent: *
  2. Disallow:
  3.  
  4. User-agent: baiduspider
  5. Disallow: /

首先是User-agent,每个搜索引擎都有自己的User-agent,比如Google的为 Googlebot,百度的为 baiduspider ,可能区分大小写,其他相对应的应该到搜索引擎的帮助页面去查询一下。 * 是一个通配符,通配所有的搜索引擎,Disallow: 项目表示禁止访问的位置,第一个Disallow:后面为空,表示没有禁止访问的项目,也就是允许所有的搜索引擎收录。但如果要添加例外,还可以添加一行 User-agent: baiduspider,表示下面的规则仅适合百度蜘蛛,百度蜘蛛的规则是Disallow: / ,也就意味着禁止收录该域名下所有的网页。

在特殊情况下,我们可能希望部分不被所有的搜索引擎收录,比如Wordpress的wp-admin/目录是后台管理的目录,wp-content /是存放主题、插件的目录,这个不需要被搜索引擎收录,可以编辑robots.txt为

  1. User-agent: *
  2. Disallow: /wp-admin/
  3. Disallow: /wp-content/

2.仅允许百度以及Google收录(推荐)

  1. User-agent: Googlebot
  2. Disallow:
  3.  
  4. User-agent: baiduspider
  5. Disallow:
  6.  
  7. User-agent: *
  8. Disallow:/

使用robots.txt需要注意的是,并非所有的搜索引擎都遵守该协议,而且就算遵守该协议不代表蜘蛛不对网站进行抓取,可能是抓取后不发布出来 而已,流量是要样要耗费的。

方法三:脚本判断,禁 止

这里写一下PHP的方法,其他ASP等方法也是类似的。
检测来访的访客的User-agent(UA),如果是搜索引擎的蜘蛛则立即禁止访问,提示出错信息。

  1. if ( preg_match ( " /(google|baidu)/i " , $_SERVER [ ' HTTP_USER_AGENT ' ])){
  2.     header ( ' HTTP/1.1 403 Forbidden ' ) ;
  3.     exit ;
  4. }

该代码当来访的访客的UA中包含google或baidu字样即返回403禁止信息并退出脚本。

  1. //禁止UA中含有bot /crawl/spider字样的用户
  2. //但允许百度和Google
  3. if ( preg_match ( " /(bot|crawl|spider)/i " , $_SERVER [ ' HTTP_USER_AGENT ' ]) && ! preg_match ( " /(google|baidu)/i " , $_SERVER [ ' HTTP_USER_AGENT ' ])){
  4.     header ( ' HTTP/1.1 403 Forbidden ' ) ;
  5.     exit ;
  6. }

用脚本的方法禁止搜索引擎的访问比较方便快捷,特别是WordPress这样的程序,只要加一个插件即可(过些天做一个发布出来)。用这个方法对服 务器流量的消耗也不大,可以接受。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值