相信在网站上放置了Google广告的朋友会遇到这样一个问题,Google广告在加载的时候会影响到页面的加载,有时候需要等到广告加载完毕才能显示整个页面,而且在加载过程中,广告区域会显示一片空白,严重影响了页面的美观性.所以有必要对Google广告的加载速度进行优化,让广告在页面内容全部加载完毕后才开始加载并显示广告.另外,如果网站上有多个Google广告,把所有的广告代码放在页面上维护起来就比较麻烦了,所以把Google广告代码放到单独的一个JS文件里显然会是一个比较好的主意.
另外,Dream提供的这方法能兼容Firefox/IE,其它浏览器没测试过,应该也没问题吧.
第一步:把Google广告代码写进独立的JS文件里,并把HTML代码转换成JS代码具体步骤:
-1,替换所有”为\
-2,替换所有/为\/
-3,在每一行前面加上document.writeln(”
-4,在每一行末尾加上”);
-5,把该JS文件保存命名为GoogleAD.js
第二步:在需要放置Google广告的地方加上:
<div id=”googleAD_content” style=”display:none;”></div>
第三步:在页面<body>标签的末尾(即body标签结束前)加上:
<div id=”googleAD_script” style=”display:none;”><script language=”JavaScript” src=”GoogleAD.js” type=”text/javascript”></script></div>
第四步:在页面的末尾加上JS代码,以wordpress为例,加在footer文件的末尾部分,以确保页面所有内容加载完毕才开始加载并显示广告
<script language=”javascript”>
if(document.getElementById(“googleAD_content”) != null)
{
document.getElementById(“googleAD_content”).innerHTML=document.getElementById(“googleAD_script”).innerHTML;
document.getElementById(“googleAD_content”).style.display=””;
}
</script>
这方法适合所有Google广告,包括AdSense 内容广告,AdSense搜索广告,Google搜索联盟广告.同样也适合其它的广告…
今天发现了这样做其实有一个弊端,需要解决,就是一个页面最多可以能放置的广告数量.先看看Google是怎么说的:
根据我们的政策,一个页面最多可以投放:
3个 AdSense for Centent 广告单元,并且对广告单元的格式没有特殊要求,您可以投放相同尺寸的广告单元。
2个AdSense for Search 搜索框
3个链接单元
3个推介单元
这样,问题就出来了,如果把所有的广告单元都放在一个页面,即使你不让它显示出来,Google还是会认为你这个页面已经放置了这么多广告.所以很容易就超出单个页面能放置的广告数量了.
解决办法很简单:就Dream的小站来说,其实不是每个页面都有广告,而且页面所放置的广告类型都不一样的.比如,在文章页面就不会放置右侧边栏广告,那么我就需要做个判断,如果当前页面不是文章页面的话,才显示右侧边栏广告.
<?php if(!is_single()): ?>
<div id=”ggadcode_sidebar” style=”display:none;” >
<script language=”JavaScript” src=”GoogleAD.js(这里我们假设”GoogleAD.js”就是我们放置右侧边栏广告的JS文件)” type=”text/javascript”></script>
</div>
<?php endif; ?>
OK,问题解决,其它的依此类推.
收藏了。
好喜欢
…万恶的编辑器在文章发布的时候把英文符号都转换成中文的了~_~!!
…你说“”这个?
是的..不过现在我已经搞定,不会自动转换中文符号了.
收藏了。
收藏。。。