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

知更鸟主题的作者做了一个搜索记录功能,用于搜集用户的喜好,结果作者发现经常有莫名其妙的搜索记录,每天大概有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();
  }
}

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

本文转自@知更鸟

© 版权声明
THE END
喜欢就支持一下吧
点赞1482 分享