您好,欢迎来到分类目录网!本站专注网站分类收录,打造方便快捷的好站大全,分享精品网站导航展示,是深受广大网友喜爱与支持的网站收录与提交入口!
广告联系QQ:158925126当前位置:分类目录网 » 站长资讯 » SEO优化 » 文章详细 订阅RssFeed

网站SEO基础:如何阻止垃圾蜘蛛的抓取

来源:本站原创 浏览:475次 时间:2018-12-27

  作为一个网站的SEO负责人,你是否有关注过IIS日志的信息详情?如果没有,我敢肯定你网站的不少带宽都被所谓的蜘蛛占去了,即使你的带宽很猛,不在乎那么点流量,但是从优化到极致来说,这都是远远不达标的。

  蜘蛛分为真假蜘蛛,一般大型搜索引擎的蜘蛛,如百度、谷歌的蜘蛛,假蜘蛛一般归总为垃圾搜索引擎和恶意抓取程序。其中百度蜘蛛的真假分析,你可以通过语法“ nslookup ip”,查看来源是否是百度的子站点,如果不是,那么就是伪装的百度蜘蛛。如果仔细分析,你会发现一些国内或国外的蜘蛛,例如 EasouSpider、AhrefsBot等,这些蜘蛛都是没有什么用的,如果你面向的市场是国内的,百度 BaiduSpider,谷歌 Googlebot,360 360Spider,soso Sosospider,搜狗Sogou+web+spider,保留这几个蜘蛛的抓取就足够了,其他的蜘蛛一律屏蔽掉就行了,还有把你的静态资源,如Image和JS、CSS的路径也屏蔽掉,这些资源都是不需要蜘蛛抓取的,因为没有展现的价值;

  一般来说,屏蔽蜘蛛的爬取有三种方法:

  Robots 禁封

  UA 禁封

  IP 禁封

  一、Robots 禁封

  Robots 协议(也称为爬虫协议、机器人协议等)的全称是 “网络爬虫排除标准”(Robots Exclusion Protocol),用来告诉搜索引擎、爬虫哪些页面可以抓取,哪些页面不能抓取。

  Robots 协议在网站中体现在根目录下的 robots.txt 文件,一般格式入下:

  User-agent: YisouSpider

  Disallow: /

  User-agent: EasouSpider

  Disallow: /

  User-agent: *

  Disallow: /admin/

  正规 Robot 在爬取网站前都会先读取该文件,根据 robots.txt 指示爬取:

  蜘蛛爬行记录图 1:ROBOTS TXT

  但是由于 Robots 协议并不是一个规范,而是约定俗成的,所以只能引导正规蜘蛛爬取,并不能阻止垃圾蜘蛛,因此要屏蔽流氓垃圾蜘蛛还需要其他更严格的措施来配合。

  二、UA 禁封

  UA(User Agent)中文名为用户代理,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等,大多数蜘蛛都有携带此信息,如谷歌 Chrome 浏览器 Windows 版本 UA 是:

  Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36

  针对指定 UA 的访问,返回预先设定好的异常页面(如 403,500)或跳转到其他页面的情况,即为 UA 禁封。

  Nginx 下,可以单独创建一个配置文件,如 deny-robots.conf,并将文件添加到 nginx.conf 或网站配置中,然后重新加载 Nginx 即可。

  例如 deny-robots.conf 在 /etc/nginx/conf/ 文件夹下,deny-robots.conf 内容:

  if ($http_user_agent ~ "InetURL|Pcore-HTTP|PocketParser|Wotbox|SEMrushBot|newspaper|DnyzBot|Mechanize|redback|ips-agent|Sogou Pic Spider|python-requests|PiplBot|SMTBot|WinHTTP|Auto Spider 1.0|GrabNet|TurnitinBot|Go-Ahead-Got-It|Download Demon|Go!Zilla|GetWeb!|GetRight|libwww-perl|Cliqzbot|MailChimp|SMTBot|Dataprovider|XoviBot|linkdexbot|feedreader|SeznamBot|Qwantify|spbot|evc-batch|zgrab|Go-http-client|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|LinkpadBot|Ezooms|^$")

  {

  return 444;

  }

  然后在网站nginx配置中添加:

  server {

  ......

  include deny-robots.conf

  ......

  }

  最后service nginx reload 即可生效,Apache 等其他软件操作类似。

  解释一下,这个配置的意思是 判断访问者 UA 是否包含引号中的字符串,若为真,则返回错误码 444,其中错误码 444 是 nginx 独有的错误码,表示服务器不返回任何数据,直接丢弃。

错误码 444 是 nginx 独有的错误码


图 2:RESPONSE EMPTY

  根据访问日志,我也整理了一份清单上传到 GitHub,链接:vircloud/bots,可以作为参考。

  由于 UA 禁封是由 Nginx 或 Apache 等已经到应用层才处理,因此即使已经禁止爬取访问,蜘蛛仍然会先与服务器创建连接,浪费资源,为此,针对特别流氓的蜘蛛,可以通过防火墙在底层拒绝连接。

  三、IP 禁封

  IP 禁封是指利用系统自带防火墙,拒绝蜘蛛 IP 连接,此措施最为严格,且针对有特定 IP 蜘蛛,如果 IP 是随机变动的, IP 禁封意义也不大。

  举例, 有 UA 为 ”WF search/Nutch-1.12“ 的蜘蛛,通过 IP 183.94.118.76 与服务器产生大量连接访问,影响到正常运行,则通过以下命令禁止连接(CentOS7):


FIREWALLD DENY

图 3:FIREWALLD DENY

  生效后此 IP 将无法再与服务器产生连接:


网站无法访问

图 4:FIREWALLD DENY 2

  同样的,我也整理了一份清单上传到 GitHub,链接:vircloud/ips,可以作为参考。

  当然了,思想有多远,就有多少方法去屏蔽垃圾蜘蛛爬取,并不局限于上述三个方法,大家都可以去试试。

阿里云服务器5折起
360广告招商

推荐站点

  • 人民论坛网人民论坛网

    人民论坛网为国家一类新闻网站、中央重点思想理论门户网站、中央网信办新闻信息稿源单位、全国行业新闻网站传播力10强网站。人民论坛网由人民日报社主管、人民论坛杂志社主办,坚持四个自信,弘扬中国精神,引领思想潮流,开创了“互联网+智库”的新型发展模式,获得国家首批数字转型示范单位等系列荣誉,作为中国思想理论网站的排头兵,被视为观察中国思想动态走向的“晴雨表”。

    www.rmlt.com.cn
  • 央广网央广网

    央广网由中央人民广播电台主办,是中央重点新闻网站,以独家、快速原创报道闻名,以音频收听为特色,将打造为新闻门户,成为优势突出、特色鲜明的多媒体集群网站

    www.cnr.cn
  • AcFun弹幕视频网AcFun弹幕视频网

    AcFun弹幕视频网隶属于北京弹幕网络科技有限公司,是中国最具影响力的弹幕视频平台,也是全球最早上线的弹幕视频网站之一。“AcFun”原取意于“Anime Comic Fun”。自2007年6月6日成立以来,AcFun历经几年努力,从最初单一的视频站发展为现在的综合性弹幕视频网站,目前已是国内弹幕视频行业的领军品牌。

    www.acfun.cn
  • 橙家装修橙家装修

    广东橙家科技有限公司创立于2015年,作为碧桂园核心联盟企业,是2亿新中产信赖的互联网家装品牌。我们致力于为业主提供高质价比、健康环保的整体家装服务,涵盖硬装,软装,整装,智能家居和生活零售在内的五大板块。目前橙家门店已覆盖全国核心城市,我们正通过线上线下无缝链接的新零售方式,打造前所未有的“快好省”装修体验,为千家万户装点美好生活。

    www.o-home.com
  • 银川甲醛检测银川甲醛检测

    专业的银川除甲醛公司,提供银川甲醛检测,银川甲醛清除,银川甲醛治理,银川除甲醛。建元天地,青奥会除甲醛服务商和世界500强甲醛治理清除 http://www.jytdnx.com/

    www.jytdnx.com