如何判断是不是搜索引擎蜘蛛访问

2023-07-24 14:59:36 浏览数 (1)

第一种:

代码语言:javascript复制
var r = document.referrer;
r = r.toLowerCase();
var aSites = new Array('google.','baidu.','sm.','soso.','so.','360.','yahoo.','youdao.','sogou.','gougou.');
var b = false;for (i in aSites){
if (r.indexOf(aSites[i]) > 0){
 b = true;
 break;
 }
}
if(b){
 //是蜘蛛访问
}

第二种

代码语言:javascript复制
var regexp=/.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(.[a-z0-9-] ){1,2}//ig;
var where =document.referrer;
if(regexp.test(where)){
  //是蜘蛛访问
}

以上两个方法是Javascript判断是否蜘蛛访问的核心,在具体使用中可以有不同的版本,但都是根据document.referrer来判断的。方法大家都知道了,但众所周知,搜索引擎蜘蛛并不识别Javascript内容,如果你想要根据js判断来进行跳转或者输出内容就不可取了,那么到底应该怎么用呢?举例如下:

一、给蜘蛛看而不是给用户看的内容

比如,黑链……当然,还有其他应用,这里就以黑链为例。应用原理其实很简单,针对用户让其不可见(display:none)即可。如下:

代码语言:javascript复制
<div id="blackLinks">
    <a href="http://www.pianyong.com">偏用</a>
    <a href="http://www.jd-cloud.cn">筋斗云</a>
</div>
<script>
    var regexp=/.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(.[a-z0-9-] ){1,2}//ig;
    var where =document.referrer;
        if(!regexp.test(where)){
            $('#blackLinks').hide();
        }
</script>

就是这样啦~

seo

0 人点赞