原创

新手到站长的必经之路(七)

一番周折终于搭上了google广告联盟的车,也是谷歌对自己网站的一种肯定。接入后也发现了一些,当然目前也得到了解决,记录一番,算是对往事的一种记录。

谷歌联盟申请通过

1、申请广告联盟

广告联盟申请第三次通过。

  • 第一次说是内容贫乏。(原创度不高)
  • 第二次直接说是不通过,但是无法告知原因,还让我不要邮件咨询原因
  • 第三次 好消息来了 (仔细查阅了谷歌的广告联盟网站指南)

总结起来就

  • 页面结构清晰,导航,面包屑
  • 无页面报错
  • 首页内容丰满,最好首页都是原创
  • 建站6个月以上,被搜索引擎收录
  • 其他事项尽量参考google站长指南,官网的指南肯定是最靠谱的

2、同一页面多个广告位

创建广告单元后,复制广告单元的代码到页面的指定位置

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 右下角的广告 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-xxxx"
     data-ad-slot="zzzz"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>

因为是同一个页面复制了三份,不能发现除了data-ad-slot是变量以外,其余的元素完全相同的。所以我做了一个操作把引用的js和触发触发广告绑定的代码提取到公用的部分。每个html的部分只保留 <ins 单元。

事实上google也提到adsbygoogle.js也只需要引入一次。

部署上去,发现3个广告只显示1个。

最后发现,绑定是代码是不能公用的。

<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>

3、pc与h5广告分开处理

因为h5的显示区域比较小,放置过多的广告会影响使用的体验,我肯定不想这么干的。所以我的处理思路是

  • pc可视区大,显示3个广告位
  • h5的可视区小,只显示1个

那么问题转化为:代码实现一个广告位只在pc端显示

本来想着adsbygoogle.js应该有参数可以控制这个,查询一番没有找到资料

自己实现的思路有2个:

  • js控制 广告位的初始化
<script>
            function IsPC() {
                var userAgentInfo = navigator.userAgent;
                var Agents = ["Android", "iPhone",
                    "SymbianOS", "Windows Phone",
                    "iPad", "iPod"];
                var flag = true;
                for (var v = 0; v< Agents.length; v++) {
                    if (userAgentInfo.indexOf(Agents[v])> 0) {
                        flag = false;
                        break;
                    }
                }
                return flag;
            }
            var flag=IsPC();
            if(flag){
                (adsbygoogle = window.adsbygoogle || []).push({});
            }
        </script>
  • css 控制广告位的显示

    这个违反google联盟的约定,故不作描述

4、题外话

一切就绪后发生了另外一个问题,网站中引用的http资源提示找不到,看报错是被修改成了https,起初以为是

adsbygoogle.js使的坏,最后发现确实是chrome的坑。(其他的浏览器是ok的)

2020年1月,网站HTTPS 内容页面里还包含http页面加载的情况的话,将被Chrome自动阻止显示

解决方案是:

chrome快捷方式,右键“属性”,“快捷方式”选项卡里选择“目标”,添加 --args --disable-web-security --user-data-dir=C:\MyChromeDevUserData

保证该路径/Users/yourname/下存在MyChromeDevUserData文件夹,没有文件夹MyChromeDevUserData,可以自己新建一个

正文到此结束
本文目录