搜索指定网站内容(【SearchLimiterampamp;Blocker】占用网站负载的行为)

优采云 发布时间: 2021-11-23 02:06

  搜索指定网站内容(【SearchLimiterampamp;Blocker】占用网站负载的行为)

  熟悉WordPress程序的站长朋友都知道,这个开源程序确实是一个比较好用的个人网站建站系统,但唯一的问题是随着时间的推移,如果我们技术上不去处理,会导致资源占用更加严重,可能会出现各种过载问题。比如最近有个网友遇到了一个问题。他的网站访问量比较大。当然,用户通过网站搜索的频率是比较大的,所以我们老部落也在前面分享了一个【搜索限制&拦截】。这个插件可以设置搜索频率。

  但是这里还有一个问题。有些搜索行为不是用户搜索而是软件搜索,或者是用户的恶意行为导致搜索结果中出现禁止内容后恶意举报的行为。当然,此类举报的成功率相对较低,即使有关键的话也没有实质内容。但是我们如何处理这种占用网站负载的行为呢?

  一、 设置搜索页面的读取行为

  选择代码

  复制

  这里可以自己判断搜索行为是否是过去的网站,如果是外部行为,直接跳转。

  二、 自定义屏蔽关键字 add_action('admin_init','uicss_search_ban_key');

  函数 uicss_search_ban_key() {

  add_settings_field('uicss_search_key','Search关键词Shield','uicss_search_key_callback_function','reading');

  register_setting('阅读','uicss_search_key');

  }

  函数 uicss_search_key_callback_function() {

  回声''。get_option('uicss_search_key').'';

  }

  add_action('template_redirect','uicss_search_ban');

  函数 uicss_search_ban() {

  如果(is_search()){

  全局 $wp_query;

  $uicss_search_key = get_option('uicss_search_key');

  如果($uicss_search_key){

  $uicss_search_key = str_replace("\r\n", "|", $uicss_search_key);

  $BanKey =explode('|', $uicss_search_key);

  $S_Key = $wp_query->query_vars;

  foreach ($BanKey 作为 $Key) {

  如果 (stristr($S_Key['s'], $Key) != false) {

  wp_die('请不要搜索非法关键词');

  //header("位置:");

  }

  }

  }

  }

  }

  将我们的函数代码添加到 网站Functions.php 文件中。

  

  我们可以在WordPress后台【设置】【阅读】中看到如上图所示,可以添加屏蔽关键字,每行一个。然后我们在前台搜索,发现搜索属于被屏蔽的关键词库,所以直接跳转,看不到结果。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线