Adsense与AJAX
我读了这个,这个和这个,但我认为我的情况是不同的。 每次我进行AJAX调用时,我都不需要刷新广告。
我有一个页面称之为“mypage.php”。 当页面打开时,我将Adsense广告加载到第一个div中。 我的第二个div是空的。
在DOM完全加载后,我创建了一个AJAX文章。 并将结果放入“lower_content”div。 这是否打破了Adsense TOS?
<body>
<div id="adSense_content>
<script> adsense script </script>
</div>
<div id="lower_content">
empty in start
</div>
</body>
我的js文件:
$(document).ready(function() {
$.ajax({
type: "POST",
url: "/getit",
success: function(data) {
$("#lower_content").html(data);
}
});
}
注意:为什么我在页面打开时不加载第二个内容? 因为AJAX呼叫在6-7秒内回复。 当服务器负载很高时,甚至在10-15秒内响应。 为了不让访客用空白页面等待,甚至使页面反弹。 我在开始时向访问者展示布局,并在AJAX调用响应来临时加载内容。
编辑:将一个广告放到空白页面是再次Adsense服务条款。 但是我在加载表格数据时提到的页面是空的。 使用AJAX加载完整的表格后,页面将加载内容。 但是在加载html页面时放置了广告。
做了更多的研究..有没有简单的解决方案,您的问题。
如果您的网站对大部分内容使用AJAX,那么您可以查看执行Google Ajax-Crawling(又名Hash-Bang)规范。 这将确保Google bot和Adsense bot抓取您的AJAX内容。 这将有助于相关广告和搜索结果。 https://developers.google.com/webmasters/ajax-crawling/docs/specification
或者你必须等到AdSense的Ajax程序再次启动。 https://developers.google.com/adsense-for-ajax/
更新:更多研究后更改答案。
默认的谷歌AdSense的代码是这样的:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- banner-name -->
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-12345678901234950"
data-ad-slot="987654321"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
将代码分成3个部分,以使其可以在ajax加载的内容上工作。
在你的页面的某个地方包括谷歌脚本(例如在你的<head>中)一次。
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
将google代码放在您想要横幅的地方(ajax)内容中
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-12345678901234950"
data-ad-slot="987654321"></ins>
在通过ajax更改内容后触发此功能。 (不要忘记在页面加载时也触发此功能,以便在未通过ajax加载页面时显示广告。)
function displayGoogleAds(){
$('ins').each(function(){
(adsbygoogle = window.adsbygoogle || []).push({});
});
}
PS。 我不确定谷歌是否会允许这样做,因为你修改/更改了一些代码。 但我目前正在使用它。
不幸的是,该页面https://developers.google.com/adsense-for-ajax/表示Google不再接受AdSense for AJAX的新应用
链接地址: http://www.djcxy.com/p/73447.html上一篇: Adsense with AJAX