Adsense с AJAX
я прочитала этой, этой и этой, но я думаю, что моя ситуация иная. Мне не нужно обновлять рекламу каждый раз, когда я делаю вызов AJAX.
у меня есть страница, называемая " mypage.РНР." Я загружаю рекламу Adsense в первый div, когда открывается страница. Мой второй div пуст.
после того, как DOM полностью загружен, я делаю сообщение AJAX. И поместите результат в div" lower_content". Это нарушает Adsense ТОС?
<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 секунд. Чтобы не заставлять посетителя ждать с пустой страницы, или даже отскакивать от страницы. Я показываю макет посетителю в start и загружаю контент, когда пришел ответ на вызов AJAX.
edit: размещение объявления на пустой странице-это снова Adsense TOS. Но страница, которую я упомянутый пуст при загрузке данных таблицы. После загрузки полной таблицы с помощью AJAX страница загружается содержимым. Но объявление ставится при загрузке HTML-страницы.
3 ответов
сделал еще несколько исследований .. нет простого решения вашей проблемы.
Если ваш сайт использует AJAX для большинства контента, вы можете посмотреть на реализацию спецификаций Google Ajax-Crawling (он же Hash-Bang). Это гарантирует, что бот Google и бот Adsense будут сканировать содержимое AJAX. Это поможет как с релевантными объявлениями, так и с результатами поиска. https://developers.google.com/webmasters/ajax-crawling/docs/specification
или вы должны подождите, пока программа Adsense для Ajax не запустится снова. https://developers.google.com/adsense-for-ajax/
обновление: изменить ответ после дополнительных исследований.
код google 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.
включите скрипт google где-нибудь на своей странице (например, в вашей ) только один раз.
<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. Я не уверен, что google позволит это, так как ваше изменение / изменение кода немного. Но сейчас я использую его таким образом.
к сожалению страница https://developers.google.com/adsense-for-ajax/ говорит, что Google больше не принимает новые приложения для AdSense для AJAX