php实现屏蔽掉黑帽SEO的搜索关键字

相信很多站长遇到过这种情况:网站内的搜索功能被不良分子利用,通过在站内搜索框中不断搜索敏感关键词,产生一大批TITLE上带有敏感关键词的垃圾搜索结果页(如下图)。由于Baiduspider对每个站点的抓取额是有限定的,所以这些垃圾搜索结果页被百度收录,会导致其它有意义的页面因配额问题不被收录,同时可能因百度处理垃圾页面而影响网站正常排名。  

具体的参考百度官方的页面http://zhanzhang.baidu.com/college/articleinfo?id=117

我给大家一个方法 我的思路

思路就是这样的  那些大佬们想做这个东西大部分还是要留QQ或者电话号码

那么我就匹配里面的规则 找出搜索里面的数字 然后判断数字字符串的长度 进而去判断 是否为垃圾搜索

奉上代码:

<?php
 
//@功能 屏蔽掉黑帽SEO的搜索关键字
//@By 阳兄 
 
function findNum($str=''){ //取出字符串里面的所有数字
    $str=trim($str);
    if(empty($str)){return '';}
    $result='';
    for($i=0;$i<strlen($str);$i++){
        if(is_numeric($str[$i])){
            $result.=$str[$i];
        }
    }
    return $result;
}
$the_lnum=strlen(findNum($q));//获取数字字符串长度
if($the_lnum>6){ //判断长度是否超过6 超过则直接301到搜索页面
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://".$_SERVER['HTTP_HOST']."/search.php");
    exit();
}
?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关推荐