如何彻底禁止百度等搜索引擎收录

时间:2024-02-19 15:39:53

说明:虽然建设网站的目的大部分是为了优化搜索引擎排名,实现互联网营销,但特殊情况下,仍会遇到“不希望搜索引擎收录”的需求,例如因为一些原因做了一个内容与主站几乎相同的二级站,但因为内容高度相似,百度关键词排名一部分给了二级站,影响了主站点的排名,这个时候就有这个必要斩断百度的收录。这里给出一个能有效禁止百度等搜索引擎收录的解决方案。

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

很多人认为在robots.txt中禁止百度蜘蛛爬取就等于禁止收录,这是严重的误解。

 

 

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

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

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

其实之前也写过类似的文章《Apache/Nginx/PHP 屏蔽垃圾 UA 爬虫的方法》可以参考一下

这里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模拟搜索引擎抓取,测试以上代码有效,并在多次项目实践中验证了此方法的可行性,实现了彻底禁止百度收录!

#模拟百度搜索引擎
curl --user-agent "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" http://**.**.com

#模拟谷歌
curl --user-agent "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" http://**.**.com