php屏蔽搜索指定内容,WordPress禁止/屏蔽特定关键字不被搜索查询的方法

对于WordPress程序比较了解的站长朋友知道,这款开源程序确实是当前比较好用的个人网站建站系统,但是唯独的问题就是随着使用时间的推移如果我们不加以技术处理会使得占用资源比较严重,而且可能出现各种超负载的问题。比如最近有网友就遇到一个问题,他的网站访问量比较大,当然用户通过站内搜索的频率就比较大,于是在前面我们老部落也有分享到一款【Search Limiter & Blocker】这款插件可以设置搜索频率。

但是这里又出现一个问题,有些搜索行为并非用户搜索而是软件搜索,或者有些行为是用户恶意行为导致搜索结果出现违禁内容之后被恶意举报,当然实际上这样的举报成功率比较低,即便有关键字也没有实质的内容。但是基于这样的占用网站负载的行为我们如何处理呢?

第一、设置搜索页面读取行为<?php

$host = $_SERVER['HTTP_REFERER'];

if (substr($host, 0, 16) != 'https://www.laobuluo.com/') {

header("location:http://跳转的其他页面或者网站");

exit;

} //判断是不是自己页面进入的

get_header();

?>

Select Code

Copy

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

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

function uicss_search_ban_key() {

add_settings_field('uicss_search_key', '搜索关键词屏蔽', 'uicss_search_key_callback_function', 'reading');

register_setting('reading', 'uicss_search_key');

}

function uicss_search_key_callback_function() {

echo '' . get_option('uicss_search_key') . '';

}

add_action('template_redirect', 'uicss_search_ban');

function uicss_search_ban() {

if (is_search()) {

global $wp_query;

$uicss_search_key = get_option('uicss_search_key');

if ($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 as $Key) {

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

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

//header("location:https://www.laobuluo.com");

}

}

}

}

}

将我们功能代码添加到网站Functions.php文件中。

1460000023492032

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值