网站怎么彻底屏蔽拦截搜索引擎蜘蛛爬虫抓取(影响搜索引擎蜘蛛抓取的陷阱)

作者:大公子 时间:23-02-04 阅读数:196人阅读

做网站优化的站长都知道,网站上线后,网络上会有很多的搜索引擎蜘蛛爬虫会访问我们的网站。这些搜索引擎蜘蛛爬虫中既包括了百度、360、谷歌等主流搜索引擎的蜘蛛,也会有大量垃圾搜索引擎蜘蛛爬虫。




     #屏蔽垃圾蜘蛛

  if ($http_user_agent ~* (SemrushBot|python|Linespider|crawler|DingTalkBot|simplecrawler|ZoominfoBot|zoombot|Neevabot|coccocbot|Facebot|YandexBot|Adsbot|DotBot|Applebot|DataForSeoBot|MJ12bot|BLEXBot|trendictionbot0|trendictionbot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|Googlebot|bingbot|PetalBot||YisouSpider)) {

return 444;

}







这些垃圾搜索引擎蜘蛛爬虫不但不会给我们网站带来任何流量,而且还会严重增加网站服务器的压力,降低网站的打开速度。这时我们需要屏蔽某些搜索引擎蜘蛛爬虫访问。

封禁SEMRUSHBOT,AHREFSBOT,MJ12BOT等垃圾蜘蛛爬虫方法


SemrushBot,AhrefsBot,MJ12bot,是什么爬虫?能不能屏蔽。最近有一波SemrushBot,AhrefsBot,MJ12bot蜘蛛,天天访问小白的小站。搜索了下原来又是一个国外的SEO分析爬虫。如果你的站点面对的是国内客户,完全可以直接屏蔽。


互联网上有一种说法,网上大约50%的流量都是爬虫的贡献,包括所说善意的爬虫如各大搜索引擎,(其实有些搜索引擎光爬不怎么收录也让人烦),还有些恶性爬虫不会带来流量,还因为大量的抓取请求,造成主机的CPU和带宽资源浪费,所以需要对其屏蔽。


下面来看看怎么样屏蔽那些无用的垃圾蜘蛛爬虫。

1:使用robots.txt屏蔽垃圾蜘蛛

将下面代码复制到网站根目录下的robot.txt文件里,这样可以屏蔽掉以上的垃圾蜘蛛对于网站的抓取。

User-agent: AhrefsBot

Disallow: /
User-agent: DotBot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: Uptimebot
Disallow: /
User-agent: MJ12bot
Disallow: /
User-agent: MegaIndex.ru
Disallow: /
User-agent: ZoominfoBot
Disallow: /
User-agent: Mail.Ru
Disallow: /
User-agent: SeznamBot
Disallow: /
User-agent: BLEXBot
Disallow: /
User-agent: ExtLinksBot
Disallow: /
User-agent: aiHitBot
Disallow: /
User-agent: Researchscan
Disallow: /
User-agent: DnyzBot
Disallow: /
User-agent: spbot
Disallow: /
User-agent: YandexBot
Disallow: /

robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的蜘蛛,此网站中的哪些内容是不应被搜索引擎的蜘蛛获取的,哪些是可以被蜘蛛获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的蜘蛛访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。

robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。

2:你是 linux nginx 服务器配置,可以在nginx配置文件里面加个客户端判定。以BT宝塔为例, 宝塔面板可以在 网站配置里加上屏蔽 这些垃圾蜘蛛在来的时候 只能得到444 没有任何数据 然后就不会再来了


if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
return 444;
}

微信图片_20210717104517.png

不影响正常蜘蛛抓取


2c64a3c69f3df8dc1acc57ccda11728b46102823.png

这样 谷歌蜘蛛,百度蜘蛛,搜狗蜘蛛,头条蜘蛛都是 显示正常抓取。正常发送数据

常用的屏蔽搜索搜索引擎的方法是通过 ROBOTS 文件来屏蔽。如下:

  1. User-agent: SemrushBot
  2. Disallow: /

这种屏蔽方法只能屏蔽那些遵守协议的搜索引擎,有些是不遵守就对它们无效了。下面介绍一种彻底屏蔽某些搜索引擎蜘蛛爬虫访问的方法。

找到自己主机根目录下的规则文件.htaccess(如果没有,可以手工创建.htaccess 文件到站点根目录)

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. #Block spider
  4. RewriteCond %{HTTP_USER_AGENT} "SemrushBot|Webdup|AcoonBot|AhrefsBot|Ezooms|EdisterBot|EC2LinkFinder|jikespider|Purebot|MJ12bot|WangIDSpider|WBSearchBot|Wotbox|xbfMozilla|Yottaa|YandexBot|Jorgee|SWEBot|spbot|TurnitinBot-Agent|mail.RU|curl|perl|Python|Wget|Xenu|ZmEu" [NC]
  5. RewriteRule !(^robots\.txt$) - [F]
  6. </IfModule>

如果不想某些蜘蛛抓取就将这些蜘蛛名称写进去即可。

注:规则中默认屏蔽部分不明蜘蛛,要屏蔽其他蜘蛛按规则添加即可

附各大蜘蛛名字:

  • google 蜘蛛:googlebot

  • 百度蜘蛛:baiduspider

  • 百度手机蜘蛛:baiduboxapp

  • yahoo 蜘蛛:slurp

  • alexa 蜘蛛:ia_archiver

  • msn 蜘蛛:msnbot

  • bing 蜘蛛:bingbot

  • altavista 蜘蛛:scooter

  • lycos 蜘蛛:lycos_spider_(t-rex)

  • alltheweb 蜘蛛:fast-webcrawler

  • inktomi 蜘蛛:slurp

  • 有道蜘蛛:YodaoBot 和 OutfoxBot

  • 热土蜘蛛:Adminrtspider

  • 搜狗蜘蛛:sogou spider

  • SOSO 蜘蛛:sosospider

  • 360 搜蜘蛛:360spider