• Q&A
  • 회원가입
  • 로그인

[money] JS - 애드센스 로드 빠르게 (= 애드센스 로딩 속도 개선) ★

1,188  

그누보드5 기준으로 설명. (참고로, 저는 방법2 사용 중)

방법1, 방법2 둘 다 원리는 동일. 단, 로드 이벤트 적용 방식만 다를 뿐.

즉, 

adsbygoogle.js 외부 스크립트는 한번만 상단에 추가.

adsbygoogle = window ... 코드는 배너 개수만큼 하단에 추가. 

 

 

방법1

 

1. 

비동기식 애드센스 코드에서 파란색 코드만 남기고 빨간색 <script> 코드는 삭제 후 추가


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

<ins class="adsbygoogle"

   style="display:inline-block;width:336px;height:280px"

   data-ad-client="ca-pub-"

   data-ad-slot="○"></ins>

<script>

(adsbygoogle = window.adsbygoogle || []).push({});

</script>

 

 

2.

head.sub.php 파일안의 </head> 태그 바로 위에 아래 파란색코드 추가

방법1 - 애드센스 원본 코드 사용

 

<!--애드센스 로드2 - 홈짱 -->

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



방법2 - 애드센스 로드 지연 코드 사용

<!--애드센스 로드2 - 홈짱 -->

<script type='text/javascript'>

//<![CDATA[

// Lazy Load AdSense

var lazyadsense=!1;window.addEventListener("scroll",function(){(0!=document.documentElement.scrollTop&&!1===lazyadsense||0!=document.body.scrollTop&&!1===lazyadsense)&&(!function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(e,a)}(),lazyadsense=!0)},!0);

//]]>

</script>


 

3.

head.sub.php 파일안의 <body> 태그 안에 아래 파란색코드 추가

 

<body<?php echo isset($g5['body_script']) ? $g5['body_script'] : ''; ?> onLoad="initialize_page();"><!--애드센스 로드3 - 홈짱 -->

 

 

4.

tail.sub.php 파일 </body> 바로 위쪽에 아래 코드 추가

 

<!--애드센스 로드4 - 홈짱 -->

<script>

function initialize_page() {

    var ad_cnt = $('.adsbygoogle').length;

    if (ad_cnt > 0) {

        for(var i=0; i<ad_cnt ; i++) {

            (adsbygoogle = window.adsbygoogle || []).push({});

        }

    }

}

</script>

 

※ 한 페이지에 노출되는 구글배너 개수만큼 각 라인 추가

정보출처: https://technosmarter.com/js/google-ads-load-after-page-has-loaded.php


 

 

방법2 (저는 이 방법 적용)

 

1. 

비동기식 애드센스 코드에서 파란색 코드만 남기고 빨간색 <script> 코드는 삭제 후 추가


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

<ins class="adsbygoogle"

   style="display:inline-block;width:336px;height:280px"

   data-ad-client="ca-pub-"

   data-ad-slot="○"></ins>

<script>

(adsbygoogle = window.adsbygoogle || []).push({});

</script>

 

PS. 별도의 파일로 만든 후, 인클루드 형태로 사용 가능.

 

2.

사용 중인 head.sub.php  파일 상단 <head> 태그 안에 아래 코드 추가.

 

방법1 - 애드센스 원본 코드 사용

 

<!--애드센스 로드2 - 홈짱 -->

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



방법2 - 애드센스 로드 지연 코드 사용

<!--애드센스 로드2 - 홈짱 -->

<script type='text/javascript'>

//<![CDATA[

// Lazy Load AdSense

var lazyadsense=!1;window.addEventListener("scroll",function(){(0!=document.documentElement.scrollTop&&!1===lazyadsense||0!=document.body.scrollTop&&!1===lazyadsense)&&(!function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(e,a)}(),lazyadsense=!0)},!0);

//]]>

</script>

 

 

3.

 

tail.sub.php 파일 </body> 바로 위쪽에 아래 코드 추가.

 

<!-- 애드센스 로드3 - 홈짱 -->

<script>

$(window).load( function() {

    var ad_cnt = $('.adsbygoogle').length;

    if (ad_cnt > 0) {

        for(var i=0; i<ad_cnt ; i++) {

            (adsbygoogle = window.adsbygoogle || []).push({});

        }

    }

});

</script>



 

PS.

그누보드5 <head> 태그 위치

 

① 테마 사용 X : /head.sub.php

② 테마 사용 O : /theme/사용테마/head.sub.php

 


그누보드5 </body> 태그 위치

 

① 테마 사용 X : /tail.sub.php
② 테마 사용 O : /theme/사용테마/tail.sub.php

 



방문자 수

오늘 210
어제 1,248
최대 2,418
이달 44,898
전체 1,049,725
찾아주셔서 감사합니다. Since 2012