关于wordpress:WordPress禁止屏蔽特定关键字不被搜索查询的方法

2次阅读

共计 1526 个字符,预计需要花费 4 分钟才能阅读完成。

对于 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 '<textarea name="uicss_search_key"rows="10"cols="50"id="uicss_search_key"class="large-text code">' . get_option('uicss_search_key') . '</textarea>';
    }
    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 文件中。

咱们能够在 WordPress 后盾【设置】【浏览】看到上图所示,能够增加屏蔽关键字,一行一个。而后咱们在前台搜寻看看,搜寻是属于屏蔽关键字库的,就间接跳转,看不到后果。

正文完
 0