相信每个站长都非常关心自己网站的收录情况,最近在每日的检测网站状况时发现,以前每天都会收录的文章,已经有4天没有收录了,我意识到了不同寻常。于是在百度站长平台与熊掌号中找到了原因所在,一切都是谷歌广告引起的。

u=2720477314,822031121&fm=26&gp=0.jpg

核心通过UA判断蜘蛛

将下面的代码加入到主题下的module.PHP文件中,以便后面调用。里面的蜘蛛UA,可以自由添加,修改。 

<?PHPfunction sl_crawler() {	$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);	$spiders = array(	  'Googlebot', // Google蜘蛛	  'Baiduspider', //百度蜘蛛	  '360Spider',//360蜘蛛	  'Sogou News Spider',//搜狗蜘蛛	  'bingbot',//必应蜘蛛	  'Sosospider',//搜搜蜘蛛	  	);	if(!empty($userAgent)){		foreach ($spiders as $spider) {			$spider = strtolower($spider);			if (strpos($userAgent, $spider) !== false) {			  return true;			}		  }	}	return false;}?>

然后在广告代码的地方加上判断,如下代码:

<?phpif(!sl_crawler()){//如果不是蜘蛛   echo '广告代码'; //这里换成你自己的广告代码}?>


使用说明

如果你的广告代码在文章列表循环中,不要使用上面的判断,在循环之外用变量存放是不是蜘蛛的判断结果,再在循环中判断那个变量即可。否则在在循环中执行太多判断影响代码的执行效率,大家注意了。最后的效果就是,百度站长平台落地页体检已经查不出来了,全是符合规范。


注意事项

判断输出代码不能带有参数,因为调用的钩子已经是参数了!会代码冲突,只能是html广告代码。也就是带有模板设置广告位的代码衔接必须去除!手动添加广告位,带参数会网站白屏!