让代码更简单

WordPress对百度蜘蛛屏蔽广告避免影响落地页体验

重要:本文最后更新于2018-12-13 09:04:59,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

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

WordPress百度蜘蛛屏蔽广告避免影响落地页体验

WordPress百度蜘蛛屏蔽广告避免影响落地页体验

如上图所示,在百度站长平台我最近几乎都能看到落地页检测不合格,然后在熊掌号的资源提交处,看到每日不收录的原因详情都是落地页体验不佳,页面可能存在样式问题、广告问题或悬浮问题。难道真的必须去掉广告?去掉广告让我们这个草根站长怎么生存下去?为此,我做了如下优化,让百度看不见我加的广告。

PHP通过UA判断蜘蛛

将下面的方法加入到主题下的functions.php文件中,以便后面调用。里面的蜘蛛UA,可以自由添加,修改。

复制
function is_crawler() { 
	$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); 
	$spiders = array( 
	  'Googlebot', // Google 爬虫 
	  'Baiduspider' // 百度爬虫 
	); 
	if(!empty($userAgent)){
		foreach ($spiders as $spider) { 
			$spider = strtolower($spider); 
			if (strpos($userAgent, $spider) !== false) { 
			  return true; 
			} 
		  } 
	}	
	return false; 
  }

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

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

需要注意的是,如果你的广告代码在文章列表循环中,不要使用上面的判断,在循环之外用变量存放是不是蜘蛛的判断结果,再在循环中判断那个变量即可。否则在在循环中执行太多判断影响代码的执行效率,大家注意了。

最后的效果就是,百度站长平台落地页体检已经查不出来了,全是符合规范

WordPress百度蜘蛛屏蔽广告避免影响落地页体验

WordPress百度蜘蛛屏蔽广告避免影响落地页体验

上图是今天被检测出不符合的页面,我优化广告后的检测效果,目前看来效果不错。下图是接下来三天的百度收录截图,从图中可以看到,连续4天百度基本上已经恢复对代码狗博客的收录,至于为什么是1天前,因为我这是第二天查的。

WordPress百度蜘蛛屏蔽广告避免影响落地页体验

WordPress百度蜘蛛屏蔽广告避免影响落地页体验

感觉很棒!可以赞赏支持我哟~

6 打赏

评论 (2)

登录后评论
收藏了~
有没有可以在html文件中用的呢
QQ咨询 邮件咨询 狗哥推荐