前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何判断是不是搜索引擎蜘蛛访问

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

原创
作者头像
用户1539053
发布2023-07-24 14:59:36
5330
发布2023-07-24 14:59:36
举报
文章被收录于专栏:百妖乐

第一种:

代码语言: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>

就是这样啦~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档