虽然建设网站的目的大部分是为了优化搜索引擎排名,实现互联网营销,但特殊情况下,仍会遇到“不希望搜索引擎收录”的需求,这里给出终极、有效的禁止百度等搜索引擎收录的解决方案。
一、Robots.txt只能禁止抓取,无法禁止收录
很多人认为rohots.txt也已禁止百度收录,这是严重的误解,robots.txt文件可以告诉搜索引擎哪些目录和文件可以抓取,哪些不可以。经过实践发现,即使禁止搜索引擎抓取根目录,robots文件也并不能实现禁止百度等搜索引擎收录。如果一个网站的外链较多,基本上无法通过正常手段禁止百度收录,淘宝便是一个典型的案例(淘宝的robots.txt设置为禁止抓取根目录,但首页依然被收录)。关于robots.txt的作用、文件格式、使用方法,可参考百度站长平台的说明。
二、通过Nginx判断user_agent禁止百度等搜索引擎访问,实现禁止收录
既然不能直接禁止抓取,那就干脆禁止百度蜘蛛等搜索引擎访问,思路是:判断user_agent,如果是百度蜘蛛、谷歌机器人等搜索引擎的user_agent,就返回403或者404,这样百度等搜索引擎就会认为这个网站无法打开或者不存在,自然也就不会收录了。
Nginx的配置代码如下:
1 2 3 4 | 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模拟搜索引擎抓取,测试以上代码有效,并在多次项目实践中验证了此方法的可行性,实现了彻底禁止百度收录!
发表评论