屏蔽SemrushBot等国外垃圾营销蜘蛛

WordPress2502阅读模式

最近做了一个搜索记录功能,用于搜集用户的喜好,结果发现经常有莫名其妙的搜索记录,每天大概有1000多次的搜索量,WordPress自带的搜索非常耗资源,打开网站日志发现,发现很来自国外的垃圾营销蜘蛛SemrushBot的搜索,在宝塔防火墙中屏蔽IP也无效,网上找了一下,现成的代码:

#禁止垃圾蜘蛛抓取
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)) { return 444;}

以宝塔为例,将上代码加到站点配置文件,最后一个”}“前面。

当这些垃圾蜘蛛访问网站,只能得到444 没有任何数据。

再加个当链接中包含/search/重定向到其它页面。

代码添加到主题函数模板中:

// 当URL包含 /search/重定向
add_action('template_redirect', 'custom_search_redirect');
function custom_search_redirect() {
	// 获取当前请求的URL
	$request_url = $_SERVER['REQUEST_URI'];    
	// 检查当前URL是否包含 /search/
	if (strpos($request_url, '/search/') !== false) {
		// 如果是,则进行重定向到其他页面
		wp_redirect('https://www.baidu.com/');
		//wp_redirect(home_url('/new-page/'), 301);
		exit();
	}
}

观察一段再说吧,估计还是不能完全拦截。

 

屏蔽SemrushBot等国外垃圾营销蜘蛛

本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  2  访客  2
    • 无不为
      无不为 4

      要是我的话,就直接将含有search的uri,在宝塔防火墙中直接禁止掉,比在wordpress中进行跳转更省流量,反应速度更快,哈哈

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    拖动滑块以完成验证