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