我在一个项目中遇到一个问题,粘贴了AdSense自动广告代码后,其中一个自动放置的广告破坏了网页布局和设计。有没有一种方法可以防止特定广告在特定元素或容器内显示。以下是该广告的示例:
AdSense 自动广告实施之前的代码:
<div class="row">
<div class="col-md-4">
somecontent
</div>
<div class="col-md-4">
somecontent
</div>
<div class="col-md-4">
somecontent
</div>
AdSense 自动广告实施后的代码:
<div class="row">
<div class="col-md-4">
somecontent
</div>
<div class="google-auto-placed">
ad content
</div>
<div class="col-md-4">
somecontent
</div>
<div class="col-md-4">
somecontent
</div>
我对这个问题的解决方案只有CSS。如果我不想在特定容器中显示自动放置的谷歌广告,那么我会向该容器添加一些类,例如“无广告”。
那么我的 CSS 就很简单了:
.no-ads .google-auto-placed {
display: none !important;
}
我刚刚找到了一种更简单的方法来做到这一点。
你应该走:
在这里您可以看到谷歌如何在特定页面生成自动广告。您还可以点击广告本身上的
remove
按钮。
您可以尝试制作一个 JavaScript 文件,在 Google AdSense 脚本之后执行(重要的话)。比如:
var ad = document.querySelector(".google-auto-placed"); //Can be replaced any identifying trait depending on the actual Ad Div
ad.innerHTML="";
<html>
<body>
<div class="row">
<div class="col-md-4">
somecontent
</div>
<div class="google-auto-placed">
ad content
</div>
<div class="col-md-4">
somecontent
</div>
<div class="col-md-4">
somecontent
</div>
</body>
</html>
这会删除广告(如果在 Google AdSense 脚本之后执行)。然而,这可能是一组 AdBlocker 检测器。
本质上,它的作用是使用
google-auto-placed
选择
document.querySelector();
类,它将根据前缀选择特定元素,在本例中为类
.
。遗憾的是,这可能不适用于某些较旧的 IE 版本。如果您有多个元素,您可能需要检查
parentElement
以检查它是否是正确的广告。您可以在此处阅读相关内容。 要了解更多有关
document.querySelector()
的信息,请查看这里。
1。广告投放和竞价流程:
当 AdSense 自动广告放置在您的网站上时,广告请求会触发出价流程,广告商通过出价来展示其广告。无论广告最终是否对用户可见,都会发生此过程。如果您使用 CSS 隐藏广告(例如使用 display: none),则广告仍会投放并计为展示次数。这意味着广告空间已满,即使用户没有看到广告,您的帐户也将根据展示次数付费。
2。资源使用和性能:
即使广告被隐藏,浏览器仍然会下载所有相关资源(如图像、脚本和 iframe)。这会增加页面加载时间,消耗额外的带宽,并可能降低站点的整体性能。由于获取这些资源不会对用户体验做出贡献或产生收入,因此浪费了服务器和客户端资源。
3.对可见度和收入的影响:
可见度是广告效果的关键因素。隐藏的广告可见度为零,这可能会对您的整体广告质量得分产生负面影响。随着时间的推移,这可能会导致您的广告资源出价降低,从而减少您的潜在收入。广告商不太可能对历史上可见度指标较差的展示位置出高价。
4。政策合规问题:
Google 的 AdSense 政策要求广告可见且不得以阻止用户看到广告的方式进行操纵。使用 CSS 隐藏广告可能会被解释为试图规避这些政策,从而导致警告、减少广告投放,甚至暂停您的 AdSense 帐户。
推荐方法:
不要使用 CSS 隐藏广告,而是尝试使用 Google 的 AdSense 工具来有效管理自动广告展示位置。 Google 允许您实时预览自动广告展示位置并禁用您认为不需要的位置。