与AJAX的Adsense

我读了这个 , 这个和这个 ,但我认为我的情况不同。 每次进行AJAX调用时,我都不需要刷新广告。

我有一个页面叫它“mypage.php”。 当页面打开时,我将Adsense广告加载到第一个div中。 我的第二个空是空的。

在DOM完全加载后,我做了一个AJAXpost。 并将结果放入“lower_content”div中。 这是否打破了Adsense TOS?

 
adsense script
empty in start

我的js文件:

 $(document).ready(function() { $.ajax({ type: "POST", url: "/getit", success: function(data) { $("#lower_content").html(data); } }); } 

注意:为什么我在页面打开时不加载第二个内容? 因为AJAX呼叫在6-7秒内回复。 当服务器负载很高时,甚至在10-15秒内响应。 不要让访问者等待空白页面,甚至从页面反弹。 我在开始时向访客显示布局,并在AJAX呼叫的响应到来时加载内容。

编辑:将广告投放到空白页面是Adsense TOS。 但是我加载表格数据时提到的页面是空的。 使用AJAX加载完整表后,页面将加载内容。 但广告是在加载html页面时放置的。

做了一些更多的研究……没有简单的解决方案来解决你的问题。

如果您的网站对大部分内容使用AJAX,那么您可以查看实施Google Ajax-Crawling(aka Hash-Bang)规范。 这将确保Google bot和Adsense bot抓取您的AJAX内容。 这有助于相关广告和搜索结果。 https://developers.google.com/webmasters/ajax-crawling/docs/specification

或者你必须等到Adsense for Ajax程序重新开始。 https://developers.google.com/adsense-for-ajax/

更新:经过更多研究后更改了答案。

默认的谷歌adsense代码是这样的:

     

将代码分为3个部分,使其适用于加载ajax的内容。

在页面中的某个位置(例如,在中)包含Google脚本一次。

  

将Google代码放在您的(ajax)内容中,无论您想要横幅广告

  

通过ajax更改内容后触发此function。 (不要忘记在页面加载时触发此操作,以便在未通过ajax加载页面时显示广告。)

 function displayGoogleAds(){ $('ins').each(function(){ (adsbygoogle = window.adsbygoogle || []).push({}); }); } 

PS。 我不确定谷歌是否允许这样做,因为你修改/更改了代码。 但我现在正以这种方式使用它。

不幸的是,网页https://developers.google.com/adsense-for-ajax/表示Google不再接受AdSense for AJAX的新应用程序