当前位置

在网站中一部分页面禁止投放联盟广告

James Qi 在 2016年7月22日 - 15:25 提交
内容摘要:今天收到过来自Google AdSense的警告信,某系列网站中有部分违规页面,我查看了一下,批量导入的内容中确实有一些不适合放置AdSense广告,查了一下以前遇到类似情况,一般都是删除Google......

  今天收到过来自Google AdSense的警告信,某系列网站中有部分违规页面,我查看了一下,批量导入的内容中确实有一些不适合放置AdSense广告,查了一下以前遇到类似情况,一般都是删除Google信中指定的页面,但这次类似页面很多,有几百个吧,只删除一个不行,都删除起来比较麻烦,于是就想办法来让这一批页面都不显示Google提供的广告。

  以前在MediaWiki网站中也做过类似工作,因为广告代码是通过LocalSettings.php文件来加入,所以是修改LocalSettings.php来实现,对$_SERVER['REQUEST_URI']进行判断,符合某些条件就不投放广告。

  这次涉及到的是Drupal网站,广告代码是通过网页模板page.tpl.php和node.tpl.php分别投放的,于是就需要修改这两个模板文件,代码示范如下:

  page.tpl.php中加入:

<?php
    $allow_ad = TRUE;//默认允许广告投放
    if (isset($node->field_sic['und'][0]['value'])) {//是否有要判断的字段
        $field_sic = $node->field_sic['und'][0]['value'];
        if ($field_sic == '123 - XXX') {//该字段是否符合屏蔽条件
            $allow_ad = FALSE;//符合则不允许投放广告
        }
    }
?>

...其它显示内容代码...

<?php
if ($allow_ad) {//如果允许投放广告才加入广告代码,否则无广告代码
    print '
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
...广告代码...
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
';
}
?>

  node.tpl.php中加入:

<?php
$allow_ad = TRUE;//默认允许投放广告
if (isset($field_sic[0]['value'])) {//是否有要判断的字段
  $sic=$field_sic[0]['value'];
  if ($sic == '123 - XXX') {//该字段是否符合屏蔽条件
    $allow_ad = FALSE;//符合则不允许投放广告
  }
} else {
  $sic=NULL;
}
?>

...其它显示内容代码...

<?php 
if ($allow_ad) {//如果允许投放广告才加入广告代码
$ad = ' 
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
...广告代码...
(adsbygoogle = window.adsbygoogle || []).push({}); </script> 
';
} else {//否则广告代码为空
$ad = ''; 
}
print $ad;//显示广告代码
?>

  如果是html.tpl.php或者其它什么页面、其它什么模板中有广告代码,也都是去这些地方加判断来决定是否投放广告。


  补充一个在MediaWiki中屏蔽不存在页面的例子:

  收到Google警告邮件:

您需要采取行动,确保您的 AdSense 帐户符合 AdSense 合作规范。请在三个工作日之内对以上网站作出更改。我们可能会在此期限后再次抽检该网站。在完成必要的更改后,请点击下面的“标记为已解决”按钮,并填写随后显示的简表。请注意,如果您不进行更改以使网站符合要求,我们可能会针对以上所列网站停止广告投放服务。了解详情

示例网址:  http://...

为了确保提供高质量的用户体验和恰当定位的广告,Google 广告只能展示在便于用户导航且信息丰富的原创内容上。

广告不应成为网页的主要焦点,也/或不应比内容本身更醒目。此处所指的网页包括用户访问后可能会退出某个域的网页(即“退出页”或“非常感谢”页)、404 错误页以及一些登录页面。由于我们的广告是根据内容定位的,因此包含文字很少的图库也不是展示广告的最佳位置。

网站应该拥有合理的结构,可让用户轻松点击转到您的网页,找到他们所需的信息。我们建议网站建立清晰的层次并提供文字链接,以便能从至少一个静态文字链接到达每个网页。

有关详情,请参阅以下资源:

关于制作高质量网站的提示(第 1 部分)
关于制作高质量网站的提示(第 2 部分)
网站站长质量指南
AdSense 合作规范

  检查发现是MediaWiki中有一些红色的链接,是为了让用户更方便创建还不存在的词条,可以找出规律:网址中都带有&action=edit&redlink=1,所以可以把网址是否包含redlink这个词来作为判断,存在这个词就禁止投放广告代码,我以在LocalSettings.php中投放广告代码为示范,具体程序如下:

$request_uri = $_SERVER['REQUEST_URI'];
if (strpos($request_uri,'redlink') != FALSE) {
  $ad_code = '';
} else {
  $ad_code = '
    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    ...广告代码...
    (adsbygoogle = window.adsbygoogle || []).push({}); </script>
  ';
}

  这样就可以屏蔽红色链接页面中的广告了。

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。
验证码
本问题用于测试您是否为人类访问者,避免自动垃圾发贴。
图形验证
键入显示在图片中的字符