Discuz判断搜索引擎蜘蛛访问教程

overme7个月前 (10-17)网页设计767
Discuz系统中原生集中了判断搜索引擎蜘蛛爬虫访问的函数checkrobot(),方法定义在文件:\source\function\function_core.php


checkrobot()具体代码如下:

function checkrobot($useragent = ”) {
        static $kw_spiders = array(‘bot’, ‘crawl’, ‘spider’ ,’slurp’, ‘sohu-search’, ‘lycos’, ‘robozilla’);
        static $kw_browsers = array(‘msie’, ‘netscape’, ‘opera’, ‘konqueror’, ‘mozilla’);
        $useragent = strtolower(empty($useragent) ? $_SERVER[‘HTTP_USER_AGENT’] : $useragent);
        if(strpos($useragent, ‘http://’) === false && dstrpos($useragent, $kw_browsers)) return false;
        if(dstrpos($useragent, $kw_spiders)) return true;
        return false;
}

函数功能说明:
checkrobot()函数声明了一些常见的蜘蛛爬虫UserAgent,分析全局变量$_SERVER中的$_SERVER『’HTTP_USER_AGENT]根据$useragent关键词判断该访问是否是搜索引擎蜘蛛爬虫。

由于只是爬虫关键词匹配,可能会有一定的误判,有兴趣的DZ站长可以对此函数进行优化。

使用方法举例:
if(checkrobot()){
//访客是蜘蛛爬虫的情况,执行的流程
}
else{
//访客是自然访客情况下的执行流程
}

相关文章


		Discuz版块下方显示最新主题设置方法

Discuz版块下方显示最新主题设置方法

小编网站首页版块开始显示效果是这样的:版块下显示的是最后发表时间,没有标题内容 需要的显示效果如图: 版块下显示最新发帖的设置方法: 1、 显示效果都是模板控制的,修改对应的discuz论坛首页...


		Discuz 手动安装bshare分享按钮

Discuz 手动安装bshare分享按钮

replyreload += ',' + 330;之前百度网页分享按钮未停用前,很多站都使用的百度网页分享,本站也是。 现在百度网页分享功能停用了,小编就转而使用bshare网页分享工具。 在此分...

Discuz使用电脑访问discuz手机版或触屏版教程

一、discuz电脑无法访问标准手机版的方法: 现在需要修改2个文件,即可用电脑浏览discuz的手机版本: 1、文件./source/function/function_core.php 查找...

Discuz密码错误15分钟后登陆解决方法

使用Discuz建网站时,会遇到这样的问题,就是当用户密码输错5次之后,Discuz就会提示“密码错误次数过多,请15分钟后登陆”。怎么解决这样的问题呢? 下面介绍一下Discuz“密码错误次数过...

discuz帖子列表页 帖子预览 相关模板

帖子列表页的帖子预览展示用的模板是/template/default/forum/viewthread_preview.htm,展示出来的楼层模板是同目录的viewthread_preview_n...


		Discuz 模板文件中JS引入{VERHASH}讲解

Discuz 模板文件中JS引入{VERHASH}讲解

如下图所示,discuz手机touch版header模板文件,引入JS时地址末端有如下标记{VERHASH} {VERHASH} 是 Discuz 代码中的常量,根据名字中的“hash”就可以...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。