猫贝博客头像

猫贝博客

我愿奔赴大海

  • 文章4737
  • 阅读2413819

人生倒计时

  • 今日已经过去小时
  • 这周已经过去
  • 本月已经过去
  • 今年已经过去个月
首页 zblog教程 正文内容

关于如何判断蜘蛛访问

猫贝 zblog教程 2022-03-04 10:26:10 984

判断蜘蛛访问

先做个记录吧。。

第一种:

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){
 //是蜘蛛访问
}

第二种

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)即可。如下:

<div id="blackLinks">
    <a href="http://www.gake.com.cn">致远建站</a>
    <a href="http://www.dingci8.com">定窑瓷器</a>
    <a href="http://www.yuhaids.com">雕塑</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>

就是这样啦~

广告
文章目录
    搜索