百度联盟广告显示错误和解决百度广告影响网站打开速度的方法
草根站长开个人博客,虽说多数不为赚钱而来,不过撇开浪费大量的时间精力,最起码也得让博客赚点微博的收入来勉强维持一下一年的主机和域名续费的开销吧。总不能让自己往里面倒贴钱吧。
于是放广告赚广告费成为了草根博客网赚的主要生存方式。像免费资源部落就是这样,目前放了Google Adsense、百度联盟的固定广告,但是根据我的经验,每个月的收入不仅少得可怜,单价更是低吓死人。
既然放了广告,那肯定要拼命地获得高单价的广告了,况且google和百度都鼓励广大站长们在合理范围内对联盟广告进行优化, 以提高转化率,提高站长的收入。这些方法有:
- 1、影响Google Adsense广告单价高低的因素分析获取更高的收入(英文单价要比中文单价高几倍)
- 2、Google AdSense团队给出的9个广告优化与投放的问题答案(广告优化还得在一定合理范围内)
- 3、向QQ.COM学习Google Adsense投放技巧位置设置提高用户体验(广告放得好才是王道)
话又说回来了,一个网站的广告不能放太多,否则会适得其反,广告收入还会大不如从前。以前部落每个页面都会放三个Google Adsense,后来发现Google广告太多会影响了网页的加载速度,于是就调整为一个了。
再后来成功申请了百度联盟广告,又用了百度广告管家,现在每个页面都会有两三个百度广告。当初之所以要选择百度广告管家,原因是看重了百度广告比谷歌广告更快的加载速度(因为百度不受干扰)。
但是事与愿违,在大部分时间百度联盟广告和百度广告管家的加载速度是很快,但也有一些时候,百度广告会严重影响网页的打开速度,有的时候甚至会直接卡在那里,令人相当无语。这次网赚分享就来研究如果加快百度广告的加载速度。
百度联盟广告显示错误和解决百度广告影响网站打开速度的方法
1、话说不少人也遇到了百度广告影响页面打开速度的问题,于是到百度广告管家贴吧去投诉,得到的回答好像大部分要自己检查一下自身的服务器的问题,与百度服务器无关。
2、所以这次我就抓到了百度联盟广告的低级错误,截个图,证明是百度技术的问题。就在前几天我在所有的放百度联盟广告的网页中都遇到了JS错误,这个错误在Firefox会显示:
c is undefined
...ue},get:"default",set:"default"},rssl1:{custParamName:"tl",modifier:"dynamic",de...c.js (第 1 行)
3、如下图:
4、在IE则会直接报错,错误代码如下:
网页错误详细信息
用户d: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; QQDownload 716; .NET CLR 2.0.50727)
时间戳: Sun, 1 Jul 2012 04:11:15 UTC
消息: 'addEventListener' 为空或不是对象
行: 1
字符: 5275
代码: 0
URI: https://cpro.baidu.com/cpro/ui/c.js
5、截图显示如下:
6、另外就是百度广告有时会导致网页卡住无法打开,显示一直等待cb.baidu.com响应,如下图:
1、广告位异步加载来自百度管家官方,这个方法同样可以应用到Google Adsense加载中。原理是利用JS来控制广告代码的加载顺序,一般是将广告的JS放在网页加载完成后才加载。
2、先找到原来的百度广告代码,用一个特别的div包住你自己的自定义代码,替换掉百度的广告代码。内容如下:
- <div id="boxad">
<p>正在读取中...</p>
<img src="loading.gif"/>
</div>
3、说明文字可以自由更新,图片地址请自行修改,当然你也可以只放一段文字,省了图片速度更快。
4、然后在博客的footer.php或者其它的文件中,添加以下代码JS代码,这段JS代码就是找到你刚才指定的DIV位置,将百度JS代码插入进去,从而实现加载。
- <script type="text/javascript" src="https://cbjs.baidu.com/js/m.js"></script>
- <!--异步加载开始-->
- <script type="text/javascript">
- BAIDU_CLB_fillSlotAsync('12345','boxad');//12345是广告编号,boxad是您要投放广告的位置
- </script>
- <!--异步加载结束 –>
5、注意上面的boxad就是DIV广告位置,请自行修改成自己的。
6、如果你有多个广告要加载,那么只需要在JS里面添加编号和广告位置就行了。如下图:
1、上面的方法专门针对百度广告,使用其它的广告可以用下面这个通过的广告位异步加载JS代码。
2、首先还是指定广告位置。
- <div id="freehao123">广告载入中...</div>
3、然后在页面最下方加入以下JS,实现最后加载广告代码。
- <div id="freehao123_hide">用你的JS代码替换这里</div> <script>freehao123.innerHTML=freehao123_hide.innerHTML; freehao123_hide.innerHTML=""; </script>
1、这个方法的优势会在页面有多个百度广告中显现出来,百度广告两段式JS代码高级接口通过BAIDU_CLB_preloadSlots函数,可以将页面上多个广告位的广告请求合并为1次请求,大幅降低js请求次数,有效减少页面渲染被阻塞的情况,提升广告加载速度。
2、请把下列代码放在你的</head>前。
- <script type=’text/javascript’ src=’https://cbjs.baidu.com/js/m.js’></script>
<script type=”text/javascript”>
BAIDU_CLB_preloadSlots(“198554″,”62353″,”67107″,”70494″,”92531″,”107243″);
</script>
3、代码中的数字是你的百度广告的代码,如下图:
1、注意iframe调用已经明令禁止在Google Adsense和百度联盟广告中使用,不过鉴于iframe调用广告代码对加载网页加载速度有着巨大的作用,我们可以将这个方法应用到百度广告管家和其它的固定广告投放中。
2、请将以下代码保存为html文件,文件名参考:guanggao.html。嫌麻烦的朋友,请直接下载我制作了html文件:iframe调用html下载地址。
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- </head>
- <body style="margin:0">
- <script type="text/javascript" src="https://cbjs.baidu.com/js/m.js"></script>
- <script type="text/javascript">
- <!-- 读取url中的参数“id”并绘制广告 -->
- (function() {
- var match = location.href.match(/(\?|&)id=([^&]+)(&|$)/);
- if (match) {
- var slotId = parseInt(match[2], 10);
- if (slotId) {
- BAIDU_CLB_fillSlot(match[2]);
- }
- }
- })();
- </script>
- </body>
- </html>
3、然后将以下代码放在你的广告位置中,就会显示出广告了。
- <iframe src="guanggao.html?id=123456" width="180" height="150" scrolling="no" frameborder="0" style="display:block;margin:0"></iframe>
4、其中,src、width、height属性需要手工修改。src修改为html文件地址,并附加“id=广告位id”的参数;width和height分别为广告位的宽度和高度。
5、当然上面的方法是一个集中处理多个百度广告的方法,你也可以直接一个一个地用iframe调用,这样管理起来可能会比较吃力些。
- <iframe marginheight="0" marginwidth="0" frameborder="0" width="336" height="280" scrolling="no" src="你的广告代码的html"></iframe>
6、相关的参数属性如下:
- marginheight:调用右侧预留宽度,单位pix;
- marginwidth:调用顶部预留高度,单位pix;
- frameborder:是否显示边框,1为是,0为否;
- width:宽度,单位pix;
- height:高度,单位pix;
- scrolling:是否显示滚动条,yes为显示,no为不显示,auto为自动;
- src:调用广告页的相对位置或绝对路径
7、照着上面百度的html代码,自己做一个Html广告文件,参考如下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- </head>
- <body style="margin:0">
- 这里放置广告代码
- </body>
- </html>
1、广告位异步加载最值得推荐,但是如果你的页面广告过多,浏览器在最后可能会一次加载执行多个广告JS,最坏的结果是浏览器会卡几下,尤其是在IE6这种过时的浏览器上。
2、百度广告两段式JS代码,根据我的使用经验,没有什么作用,该卡的还是卡,虽然会减少广告的JS请求次数,但是没有加载广告的传输速度,也是白搭。
3、iframe调用请不要运用在Google Adsense和百度联盟广告中,制作的Html的charset请根据不同的网站决定对应网站的编码(如:GB2312、utf-8等)。
文章出自:免费资源部落 / 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
您或许对下面这些文章有兴趣: 本月吐槽辛苦排行榜
-
(手机回帖真麻烦)其实,如果把百度联盟的广告代码写到window.onload里面的话,代码会在页面加载完后工作,这样更加方便,避免页面没有加载完就用innnerhtml属性导致ie8及以下版本弹出“无法打开该网页。”具体方法是,window.onload=(function(){document.getelementbyid(\”addiv\”.innetHTML=广告代码)})
手机回复,手写代码很乱,有可能出错,此处仅提供思路。[回复] -
现在baidu都不允许用iframe。
[回复] -
上次所有的百度联盟广告都出现了JS错误,据贴吧里的人说是正在调整代码才导致的。好多人都反应了这个事情。
[回复] -
iframe调用百度广告以前不是支持,怎么现在突然禁止了呢。
[回复] -
最好的加载网页打开速度就是减少广告。
[回复] -
百度的弹窗广告最让人无语了,有几次导致我的IE卡死。
[回复] -
360浏览器上表示没有压力,我直接反百度广告和谷歌广告屏蔽了。
[回复] -
前几天在调试代码,出现了JS错误,开始我以为是自己修改导致了,最后查到是百度广告的JS错误。
[回复] -
万变不离广告。
[回复] -
工作了没时间搞,纯支持了,顶 @qi
[回复] -
新人一枚,还有好多东西要学,谢谢站长分享了这么多好资源=v=
[回复] -
qi…..你不知道百度联盟不允许异步加载广告么?百度联盟官方明确规定了的,…你这是要封号的前奏啊
[回复] -
主机不给力的最好别用同步,要不网站卡的很
[回复]