2012-05-31 14 views
12

Leo this, this y this, pero creo que mi situación es diferente. No necesito actualizar los Anuncios cada vez que hago una llamada AJAX.Adsense con AJAX

Tengo una página llamada "mypage.php". Cargo el anuncio de Adsense en el primer div, cuando se abre la página. Mi segundo div está vacío.

Después de que DOM esté completamente cargado, hago una publicación de AJAX. Y coloque el resultado en div "lower_content". ¿Esto rompe Adsense TOS?

<body> 
    <div id="adSense_content> 
    <script> adsense script </script> 
    </div> 

    <div id="lower_content"> 
    empty in start 
    </div> 
</body> 

Mi archivo JS:

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

Nota: ¿Por qué no se cargan segundo contenido de la página cuando se está abriendo? Porque la llamada AJAX responde en 6-7 segundos. Cuando la carga del servidor es alta, la respuesta llega incluso en 10-15 segundos. Para no hacer que el visitante espere con la página en blanco, o incluso rebote desde la página. Muestro el diseño al visitante en el inicio y cargo el contenido cuando llega la respuesta de la llamada AJAX.

editar: Poner un anuncio en una página vacía es otra vez TDS de Adsense. Pero la página que mencioné está vacía mientras se cargan los datos de la tabla. Después de cargar la tabla completa con AJAX, la página se carga con contenido. Pero el anuncio se coloca mientras se carga la página html.

Respuesta

5

Investigué un poco más ... no hay una solución fácil a su problema.

Si su sitio usa AJAX para la mayoría del contenido, entonces puede ver la implementación de las especificaciones de Google Ajax-Crawling (aka Hash-Bang). Esto asegurará que el bot de Google y el bot de Adsense rastreen tu contenido AJAX. Esto ayudará con anuncios relevantes y resultados de búsqueda. https://developers.google.com/webmasters/ajax-crawling/docs/specification

O tiene que esperar hasta que el programa Adsense para Ajax vuelva a comenzar. https://developers.google.com/adsense-for-ajax/

Actualización: Se ha cambiado la respuesta después de más investigación.

+0

Hmm punto interesante ... Pero hago una llamada AJAX después del documento. Listo, porque a veces se convierte en 10-15 segundos cuando se responde a la solicitud AJAX. (Debido a la carga del servidor, etc.) Por lo tanto, para no hacer que el visitante espere o incluso rebote de la página, le muestro el boceto de la página al visitante y llene las partes de los datos después de la respuesta de AJAX. – trante

+0

Respuesta modificada después de más investigaciones. –

+1

AdSense para AJAX ha sido descontinuado. –

5

El código de AdSense de Google por defecto es algo como esto:

<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-123456789" 
    data-ad-slot="987654321"></ins> 
<script> 
(adsbygoogle = window.adsbygoogle || []).push({}); 
</script> 

Spit el código hasta en 3 partes para que sea trabajar en contenido cargado de ajax.

Incluya el script de google en alguna parte de su página (en su cabecera < > por ejemplo) una sola vez.

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> 

Coloque el código de Google en su contenido (Ajax) donde desea que el banner (s)

<ins class="adsbygoogle" 
    style="display:inline-block;width:728px;height:90px" 
    data-ad-client="ca-pub-123456789" 
    data-ad-slot="987654321"></ins> 

gatillo esta función después de que su contenido ha cambiado a través de AJAX. (No se olvide de activar este al cargar la página también, para mostrar anuncios cuando las páginas no se carga a través de AJAX.)

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

Sal.No estoy seguro de si Google permitirá esto, ya que modificará/cambiará un poco el código. Pero actualmente lo estoy usando de esta manera.

+0

Muchas gracias ... Estoy usando su solución actual pero a veces responde con "mala solicitud" alguna idea? – UrielUVD

+0

@UrielUVD eliminar la parte 'async' del

  • 11. AJAX con Spring MVC
  • 12. Reverse Ajax con JSF?
  • 13. $ .ajax con DELETE pierde parámetros
  • 14. ContentResult vs JsonResult con ajax
  • 15. jquery validación con llamada ajax
  • 16. Actualizar MYSQL con jQuery/AJAX
  • 17. Uso de Ajax con cookies
  • 18. ASP.NET MVC AJAX con jQuery
  • 19. sondeando el servidor con ajax
  • 20. Levante - Autocompletar con Ajax Envío
  • 21. Llamada Jquery/Ajax con temporizador
  • 22. usando SetTimeout con llamadas Ajax
  • 23. AJAX y jQuery con MVC
  • 24. presentando múltiples formularios con AJAX
  • 25. jQuery AJAX con dos dominios
  • 26. Solicitud JSON con JQuery/Ajax con Spring
  • 27. Cómo hacer que la carga de Google Adsense dure después del resto de la página
  • 28. Fuga de memoria con solicitudes AJAX + jQuery
  • 29. ASP.Net MVC formulario Ajax con validación jQuery
  • 30. Anula la solicitud JEAP ajax con jQuery