知更鸟主题的作者做了一个搜索记录功能,用于搜集用户的喜好,结果作者发现经常有莫名其妙的搜索记录,每天大概有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();
}
}
作者说观察一段再说吧,估计还是不能完全拦截。