欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

wordpress教程

WordPress禁止SemrushBot蜘蛛爬取网站

wordpress教程 我的站长站 2023-12-11 共39人阅读

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

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