WordPress禁止/屏蔽特定關鍵字不被搜索查詢的方法

對於WordPress程序比較瞭解的站長朋友知道,這款開源程序確實是當前比較好用的我的網站建站系統,可是惟獨的問題就是隨着使用時間的推移若是咱們不加以技術處理會使得佔用資源比較嚴重,並且可能出現各類超負載的問題。好比最近有網友就遇到一個問題,他的網站訪問量比較大,固然用戶經過站內搜索的頻率就比較大,因而在前面咱們老部落也有分享到一款【Search Limiter & Blocker】這款插件能夠設置搜索頻率。php

可是這裏又出現一個問題,有些搜索行爲並不是用戶搜索而是軟件搜索,或者有些行爲是用戶惡意行爲致使搜索結果出現違禁內容以後被惡意舉報,固然實際上這樣的舉報成功率比較低,即使有關鍵字也沒有實質的內容。可是基於這樣的佔用網站負載的行爲咱們如何處理呢?css

第1、設置搜索頁面讀取行爲

<?php
$host = $_SERVER['HTTP_REFERER'];
if (substr($host, 0, 16) != 'https://www.laobuluo.com/') {
header("location:http://跳轉的其餘頁面或者網站");
exit;
} //判斷是否是本身頁面進入的
get_header();
?>

Select Code網站

Copyui

這裏能夠判斷搜索行爲是否是在本身網站搜索過去的,若是是外部行爲直接跳轉。spa

第2、自定義屏蔽關鍵字

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後臺【設置】【閱讀】看到上圖所示,能夠添加屏蔽關鍵字,一行一個。而後咱們在前臺搜索看看,搜索是屬於屏蔽關鍵字庫的,就直接跳轉,看不到結果。code

相關文章
相關標籤/搜索