如果 Adsense 广告单元的名称中包含非 Latin 字符,比如汉字,就会造成网页中部署的 Adsense 广告无法显示。解决的办法很简单,从广告代码中删除关于广告单元名字的注释,或者使用英文及数字作为广告单元的名称。
这种情况在中文网站中很普遍。表现为广告区域显示空白,没有广告,或者根本不显示广告区块。
因为很多人使用中文 Adsense 管理后台,在添加广告单元的时候,Adsense 管理后台会自动替你生成一个带有中文字符的广告单元名称,或者你自己使用了中文字符。如下图所示:
带中文字符的 Adsense 广告单元名称会造成广告无法显示
这时候,点击获取代码的话,得到的广告单元代码将会如下所示:
<script type="text/javascript"><!--
google_ad_client = "ca-pub-4902986045244904";
/* 200x200, 创建于 10-7-21 */
google_ad_slot = "1645629932";
google_ad_width = 200;
google_ad_height = 200;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
代码中标记为红色的部分显示了该广告单元的名称,其中的中文字符就会导致部署在网页中的广告无法显示。删除红色标记的部分即可解决问题。这是帮一个网友排查问题的时候发现的,可参考 Google+ 上关于此问题的对话。
当然,不显示广告还可能有以下原因:
-
广告代码没有正确添加到网站代码中。如果您没有按照正确方法 添加广告代码,广告就可能不显示。
-
您的浏览器没有开启 JavaScript。要在网站上查看 Google 广告,需要在浏览器上启用 JavaScript。
-
您可能安装了具有广告拦截功能的个人防火墙软件或任何其他广告拦截软件。 个人防火墙软件或广告拦截软件会使 Google 广告无法展示,或使广告的某些部分无法显示。
-
除了以上因素,如果还不显示广告,可以到 Adsense 管理后台看看是不是有什么问题。比如 Adsense 要求在半年内验证您的地址,但是你没有按照要求进行验证等,都会导致 Google 停止在您的网站上显示 Adsense 广告。但是这类问题都会在 Adsense 后台显示错误提示(红色背景)。©