巅峰霸主 > 运营推广 > SEO优化 >

使用nginx禁止搜索引擎抓取和收录方法

时间:2020-07-27 15:56:17  来源:巅峰霸主网  作者:烈火大地 点击:
摘要:通过nginx服务器设置禁止搜索引擎抓取和收录网站页面,在不使用robots文件屏蔽的情况下,nginx也可以是可用实现同样功能的,不过需要注意语法的正确……

有时候我们会遇到这样的需求:不要让这个网站被收录。禁止收录?好像并没有那么简单,尤其是当网站内容优质时,搜索引擎很难“收”下留情。我最先想到的办法是通过<meta>标签禁止搜索引擎索引,或是robots.txt更精确的规定搜索引擎索引内容。

通过<meta>标签实现禁止搜索引擎索引:

<meta name="robots" content="noindex"> //禁止所有搜索引擎索引
<meta name="googlebot" content="noindex"> //禁止google索引
<meta name="BaiduSpider" content="noindex"> //禁止百度索引

通过robots.txt实现禁止搜索引擎索引:

User-agent: *
Disallow: /

事情并没有这么简单,经过观察和测试发现,百度好像并不遵从这种标准,依然会收录,所以还是不要把希望寄托在别人身上,想办法屏蔽百度蜘蛛便万事大吉了。最终,我通过nginx禁止搜索引擎的蜘蛛访问实现了这一需求,从根本上解决问题。

通过nginx禁止搜索引擎的UA访问:

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;
	}

我基本上整理齐全了所有搜索引擎的UA,可以根据需求删减或增加。return 403当然可以返回404甚至444,也可以使用deny all或者其他更骚的方法。通过curl模拟百度user agent,nginx返回403。

模拟百度蜘蛛爬取测试

模拟百度蜘蛛爬取测试


经过观察后得出结论:百度蜘蛛发现网站无法访问后,会停止收录并逐渐停止爬取。如果中间件是Apache,在htaccess入口文件中配置指令,同理但不同语法。


(责任编辑:陆柏熺)
评价:
用户名: 验证码: 看不清?点击更换


关注站长自媒体 获取更多优质内容

  • 百家号
    百家号
  • 头条号
    头条号
  • 企鹅号
    企鹅号

2019-2021 ©巅峰霸主网 京ICP备12023415号-2
返回
顶部