彻底禁止百度等搜索引擎收录的有效方法

博主:镜子里的欧巴镜子里的欧巴 1年前 ( 2020-04-23 ) 640 0条评论
摘要: 虽然建设网站的目的大部分是为了优化搜索引擎排名,实现互联网营销,但特殊情况下,仍会遇到“不希望搜索引擎收录”的需求,这里给出终极、有效的禁止百度等搜索引擎收录的解决方案。一、Rob...

虽然建设网站的目的大部分是为了优化搜索引擎排名,实现互联网营销,但特殊情况下,仍会遇到“不希望搜索引擎收录”的需求,这里给出终极、有效的禁止百度等搜索引擎收录的解决方案。

一、Robots.txt只能禁止抓取,无法禁止收录

很多人认为rohots.txt也已禁止百度收录,这是严重的误解,robots.txt文件可以告诉搜索引擎哪些目录和文件可以抓取,哪些不可以。经过实践发现,即使禁止搜索引擎抓取根目录,robots文件也并不能实现禁止百度等搜索引擎收录。如果一个网站的外链较多,基本上无法通过正常手段禁止百度收录,淘宝便是一个典型的案例(淘宝的robots.txt设置为禁止抓取根目录,但首页依然被收录)。关于robots.txt的作用、文件格式、使用方法,可参考百度站长平台的说明。

二、如何只禁止百度搜索引擎收录抓取网页

1、编辑robots.txt文件,设计标记为:

User-agent: Baiduspider  Disallow: /

以上robots文件将实现禁止所有来自百度的抓取。

这里说一下百度的user-agent,Baiduspider的user-agent是什么?

百度各个产品使用不同的user-agent:

产品名称 对应user-agent

无线搜索 Baiduspider

图片搜索 Baiduspider-image

视频搜索 Baiduspider-video

新闻搜索 Baiduspider-news

百度搜藏 Baiduspider-favo

百度联盟 Baiduspider-cpro

商务搜索 Baiduspider-ads

网页以及其他搜索 Baiduspider

你可以根据各产品不同的user-agent设置不同的抓取规则,以下robots实现禁止所有来自百度的抓取但允许图片搜索抓取/image/目录:

User-agent: Baiduspider  Disallow: /  User-agent: Baiduspider-image  Allow: /image/

请注意:Baiduspider-cpro和Baiduspider-ads抓取的网页并不会建入索引,只是执行与客户约定的操作,所以不遵守robots协议,这个就需要和百度的人联系才能解决了。

如何只禁止Google搜索引擎收录抓取网页,如下:

编辑robots.txt文件,设计标记为:

User-agent: googlebot  Disallow: /

在网站首页代码<head>与</head>之间,加入<meta name="robots" content="noarchive">代码,此标记禁止搜索引擎抓取网站并显示网页快照。

在网站首页代码<head>与</head>之间,加入<meta name="Baiduspider" content="noarchive">即可禁止百度搜索引擎抓取网站并显示网页快照。

在网站首页代码<head>与</head>之间,加入<meta name="googlebot" content="noarchive">即可禁止谷歌搜索引擎抓取网站并显示网页快照。 

另外当我们的需求很怪异的时候,比如下面这几种情况:

1.网站已经加了robots.txt,还能在百度搜索出来?

因为搜索引擎索引数据库的更新需要时间。虽然Baiduspider已经停止访问您网站上的网页,但百度搜索引擎数据库中已经建立的网页索引信息, 可能需要数月时间才会清除。另外也请检查您的robots配置是否正确。如果您的拒绝被收录需求非常急迫,也可以通过投诉平台反馈请求处理。

2.希望网站内容被百度索引但不被保存快照,我该怎么做?

Baiduspider 遵守互联网meta robots协议。您可以利用网页meta的设置,使百度显示只对该网页建索引,但并不在搜索结果中显示该网页的快照。和robots的更新一样,因为搜 索引擎索引数据库的更新需要时间,所以虽然您已经在网页中通过meta禁止了百度在搜索结果中显示该网页的快照,但百度搜索引擎数据库中如果已经建立了网 页索引信息,可能需要二至四周才会在线上生效。

3.希望被百度索引,但是不保存网站快照,如下代码解决:

<meta name="Baiduspider" content="noarchive">

如果要禁止所有的搜索引擎保存你网页的快照,那么代码就是下面的:

<meta name="robots" content="noarchive">

常用的一些代码组合:

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">:可以抓取本页,而且可以顺着本页继续索引别的链接

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">:不许抓取本页,但是可以顺着本页抓取索引别的链接

<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">:可以抓取本页,但是不许顺着本页抓取索引别的链接

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">:不许抓取本页,也不许顺着本页抓取索引别的链接

三、通过Nginx判断user_agent禁止百度等搜索引擎访问,实现禁止收录

既然不能直接禁止抓取,那就干脆禁止百度蜘蛛等搜索引擎访问,思路是:判断user_agent,如果是百度蜘蛛、谷歌机器人等搜索引擎的user_agent,就返回403或者404,这样百度等搜索引擎就会认为这个网站无法打开或者不存在,自然也就不会收录了。

Nginx的配置代码如下:

if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot")          {                  return 403;          }

通过curl模拟搜索引擎抓取,测试以上代码有效,并在多次项目实践中验证了此方法的可行性,实现了彻底禁止百度收录!

赞(0
分享