어두운 배경이 싫으시다면 페이지 우측 하단에 보이는 초승달 모양의 아이콘을 클릭하면 화이트모드로 변경됩니다. 초승달 모양 버튼 : `화이트/다크 모드` 전환 |
구글 광고 애드센스를 이용하다보면 광고를 넣은 위치가 제대로 로드되지 않는 경우가 있습니다. 이렇게 광고가 제대로 로드 되지 않을때 다시 로드하는 방법에 대해서 설명하겠습니다.
1. 구글 애드센스 광고 적용하기
최근 티스토리 블로그를 운영하시는 분들이거나 오랫동안 운영을 하지 않다가 다시 블로그를 운영하시는 분들의 경우 티스토리의 광고 정책이 어떻게 변했는지 모르실 수 있습니다.
이제 티스토리에서는 구글 애드센스 광고를 자체 광고로 연동하여 광고를 노출시킵니다. 이는 광고를 연동하기만 해도 광고를 넣지 않아도(수동이든 자동이든) 자동으로 본문 상, 하단에 광고가 랜덤으로 1개 출력됩니다.
물론 구글 애드센스의 광고 단위(수동 광고) 코드를 생성해서 직접 본문이나 블로그 이곳 저곳에 넣기를 귀찮아하시는 분들에게는 차라리 자동광고 설정이 유용할 수 있습니다.
이러한 자동광고는 티스토리에서 1차로 구글 애드센스와 내 블로그 간의 계정 연동으로 광고를 무조건 1회 로드합니다. 이렇게 로드된 광고를 본문의 상단 또는 하단 한 군데에 출력하기 때문에 광고가 로드되지 않는 경우는 없습니다.
저는 구글 애드센스의 광고 단위 코드를 생성하여 직접 블로그 내부에 삽입하기 때문에 위의 광고 설정을 전부 비활성화 해놨습니다. 이렇게 모두 비활성화해도 본문의 상, 하단에 광고가 무조건 1개 생성됩니다. (이게 티스토리 구글 자체 광고)
다만 직접 수동으로 광고를 집어넣게 되면 간혹 광고가 로드되지 않을 수 있습니다. 이런 문제를 해결하기 위해 아래에서 설명하는 방법을 적용하시면 됩니다.
※ 해당 방식은 광고를 다시 로드하는 방법이지만, 그마저도 로드되는 광고에 따라서 로드가 안 되거나 실패할 수 있습니다.
2. 광고 리로드 스크립트 적용
먼저 본인의 블로그 관리자 페이지에서 '스킨 편집' - 'HTML 편집'으로 이동합니다. 그리고 아래의 스크립트를 복사하여 `</body>` 태그 위에 붙여넣기 합니다. `</body>` 태그 위에 해야만 모든 광고와 콘텐츠가 로드된 직후에 스크립트가 실행됩니다. '적용' 버튼을 눌러 마무리합니다.
<!-- 구글 애드센스 리로딩 -->
<script>
var checkAdsenseAdsFlag = true;
var checkAdsenseAdsTimer = 0;
var checkAdsenseAdsCnt = 0;
function checkAdsenseAds() {
if(checkAdsenseAdsFlag) {
if(checkAdsenseAdsTimer != 0) {
clearTimeout(checkAdsenseAdsTimer);
checkAdsenseAdsTimer = 0;
}
checkAdsenseAdsTimer = setTimeout(function() {
var insAdsbygoogle = $('ins.adsbygoogle');
if(insAdsbygoogle.length > 0) {
var cnt = 0;
for(var i=0; i<insAdsbygoogle.length; i++) {
if( !insAdsbygoogle.eq(i).attr('data-ad-client')
&& insAdsbygoogle.eq(i).attr('data-adsbygoogle-status') == 'done'
&& insAdsbygoogle.eq(i).attr('data-ad-status') == 'unfilled') {
insAdsbygoogle.eq(i).children().remove();
insAdsbygoogle.eq(i).css('display', 'block');
insAdsbygoogle.eq(i).removeAttr('data-adsbygoogle-status');
insAdsbygoogle.eq(i).removeAttr('data-ad-status');
(adsbygoogle = window.adsbygoogle || []).push({});
cnt++;
if(checkAdsenseAdsCnt > 3) insAdsbygoogle.eq(i).remove();
}
}
if(cnt == 0) checkAdsenseAdsFlag = false;
checkAdsenseAdsCnt++;
}
}, 500);
}
}
</script>
해당 스크립트로 사이트내에 출력된 구글 광고 코드를 순회하며 로드가 안 된 광고코드를 찾아서 지우고 다시 로드합니다. 이 과정은 0.5초 단위로 실행되며, 너무 자주 반복하면 구글 광고가 차단될 수 있으니 3번 정도만 반복하고 만약 3번을 로드했는데도 나오지 않는다면 그냥 제거합니다.
이렇게 로드하는 광고에는 이미지 또는 움직이는 이미지가 들어가 있을 수 있는데, 이러한 광고는 데이터량이 많기 때문에 광고 출력이 실패하거나 웹페이지의 SEO (검색 엔진 최적화)에 영향을 줄 수 있기 때문에 아래 이미지 지연 로딩 방법을 적용해서 많은 수의 이미지를 한 번에 로딩하지 않도록 방지할 수 있습니다.
🔸이미지 지연 로딩(Lazyload) 적용하기
※ 해당 스크립트를 적용하더라도 바로 광고가 잘 나오지는 않습니다. 특히 구글 광고를 연동한지 얼마 안 된 경우, 구글에서 광고를 할당하기 위해서는 충분한 시간이 걸립니다. (몇일 또는 1 ~ 2주) 그때동안은 광고 로드가 안 되더라도 이상한 것이 아니므로 시간을 가지고 기다리시면 됩니다.
구독 및 좋아요는 컨텐츠를 생산하는데 많은 도움이 됩니다. 😊
감사합니다.