Nginx如何屏蔽一些垃圾搜索引擎/seo工具的爬虫的图文教程

    在香港沙田的服务器上有几个站点。大家都知道,香港沙田的CN2线路的vps带宽都比较小,通常是2Mbps左右,用的也是2Mbps的机器。

     前两天突然发现网站打开的速度比较慢,需要延迟3~5秒才能打开网站,这是不正常的情况。

     经过排查Nginx日志,发现网站被一些垃圾搜索引擎/seo工具的爬虫不停爬取,消耗了网站的带宽,造成网站访问困难。

     对付这种垃圾的蜘蛛,最好的方法就是禁止其访问,那么我们应该怎么做呢?

     下面给大家做个演示。

一:找到垃圾蜘蛛的UA特征

     我使用的是宝塔面板。通过宝塔面板上的网站监控报表,可以看到对应网站的nginx日志。如果你使用的不是宝塔面板,你可以将网站的日志下载下来。用notepad++或者其他代码编辑软件打开。

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

    上图这个UA是semrush的爬虫UA,对SEO没有作用,针对这个UA可以做屏蔽。提取这个UA的特征 semrush

    上图这个UA带上了所有热门浏览器的特征,明显是恶意UA,提取这个UA的特征 HUAWEIEML-AL00

二:针对特定UA进行屏蔽

    屏蔽UA功能,是写在对应网站的nginx的配置文件中的。

    如果你使用的是宝塔面板。配置路径如下:

    红框中的代码,即为屏蔽的代码。下面将我使用的代码贴出。大家可以复制使用。

    放到server后面的大括号后面即可!

#禁止指定UA及UA为空的访问
if ($http_user_agent ~ "semrush|opensiteexplorer|OPPO A33 Build|HUAWEIFRD-AL00|Dorado|^$" )
{
  return 403;
}

     刚才提到的semrush、HUAWEIFRD-AL00均进行了屏蔽。我同时对一些其他UA进行了屏蔽,大家可以按需填写使用!

赞 (0)