애드센스 광고 최적화, 수동 광고 설정 시 반드시 확인할 핵심 포인트

애드센스 광고 최적화, 수동 광고 설정 시 반드시 확인할 핵심 포인트

티스토리 블로그를 운영하면서 애드센스를 수동으로 적용해본 분이라면, 한 번쯤은 “광고 코드를 분명히 제대로 넣었는데 왜 광고가 안 뜨지?”라는 답답한 경험을 해보셨을 겁니다. 특히 메인 페이지나 카테고리 페이지에서 애드센스 광고가 노출되지 않는 문제, 그리고 adsbygoogle.js의 중복 로딩 또는 누락 현상은 블로그의 수익 저하로 이어지는 아주 치명적인 원인 중 하나입니다.

보통 “글만 잘 쓰면 방문자가 늘고, 수익도 자연스럽게 따라올 거야”라고 막연하게 기대하곤 하죠. 하지만 현실은 그리 간단하지 않다는 걸 운영 기간이 길어질수록 뼈저리게 깨닫게 됩니다. 이번 글은 애드센스 광고 문제의 응용편으로, 수동 광고 설정 시 발생하는 스크립트 누락 문제를 뿌리 뽑을 수 있는 조건부 스크립트 적용법을 소개해 드릴게요.

이번 가이드는 이전 글에서 다뤘던 최적화 작업 중 발생하는 돌발 상황에 대한 해결책입니다. 즉, JS 중복 로딩을 막으려고 광고 코드에서 스크립트 부분을 제거했는데, 정작 메인이나 카테고리 페이지에서 광고가 실종되는 이유와 그 해결 방법을 집중적으로 파헤쳐 보겠습니다.

1. 티스토리와 애드센스의 조금 특이한 관계

일반적인 웹사이트는 운영자가 script src="adsbygoogle.js" 코드를 직접 넣어야 광고가 뜹니다. 하지만 티스토리는 조금 구조가 달라요. 티스토리는 자체적으로 애드센스와 제휴하여 광고를 운영하기 때문에, 우리가 손대지 않아도 내부적으로 스크립트가 이미 로드되는 경우가 많습니다. 바로 이 점 때문에 수동 광고 설정 시 로직이 꼬이게 되는 것이죠.

2. 수동 광고 삽입 시 발생하는 빈번한 오류

메인 및 카테고리 페이지의 광고 실종 사건

수동으로 정성껏 광고 코드를 넣었는데, 유독 블로그 메인이나 /category/ 주소가 포함된 페이지에서 광고가 안 나오는 경우가 있습니다. 이유는 의외로 간단해요.

  • 이런 페이지들은 티스토리 자체 광고가 노출되지 않는 설정인 경우가 많습니다.
  • 그러다 보니 애드센스 JS 파일 자체가 아예 로딩되지 않는 현상이 발생하죠.
  • 결국 중복 로딩을 피하려고 스크립트를 뺐는데, 정작 필요한 페이지에서 로딩이 안 되어 광고가 텅 비어버리는 것입니다.
티스토리 카테고리 페이지에서 애드센스 광고 스크립트 누락 현상 분석

JS 코드를 안 넣어도 발생하는 중복 로딩

반대로 운영자가 코드를 넣지 않았음에도 간헐적으로 스크립트가 여러 번 호출되는 경우도 있습니다. 이런 불안정한 로딩 환경은 광고 단위의 응답 속도를 늦추고 수익에 악영향을 줍니다.

3. 스마트한 조건부 스크립트 활용법

메인 페이지나 카테고리 페이지에서 스크립트가 누락되는 상황을 자동으로 감지해서, 필요한 순간에만 adsbygoogle.js를 쏙 넣어주는 스마트한 방법이 있습니다. 바로 아래의 조건부 스크립트를 적용하는 것이죠.

실전 적용 방법

  • 코드 안의 ca-pub-XXXXXXX 부분을 본인의 애드센스 퍼블리셔 ID로 꼭 변경해 주세요.
  • 메인페이지변경.tistory.com 부분도 자신의 블로그 주소에 맞게 수정합니다.
  • 이 코드를 티스토리 [스킨 편집] – [HTML 편집] 메뉴에서 </body> 태그 바로 위에 삽입하면 끝입니다!

<script>
(function () {
  const url = location.href;
  const isMain = url === 'https://yourblog.tistory.com/'; // 본인 블로그 주소로 수정
  const isCategory = url.includes('/category');

  if (isMain || isCategory) {
    const existingScripts = [...document.querySelectorAll('script[src*="adsbygoogle.js"]')];
    const validScript = existingScripts.find(el => el.src.includes('client=ca-pub-XXXXXXX')); // 본인 ID로 수정

    if (!validScript) {
      // 기존에 잘못 섞여있는 스크립트가 있다면 깔끔하게 제거
      existingScripts.forEach(el => el.remove());

      // 본인의 ID가 포함된 깨끗한 스크립트를 새로 삽입
      const s = document.createElement('script');
      s.async = true;
      s.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXX"; 
      s.crossOrigin = "anonymous";
      document.head.appendChild(s);
    }
  }
})();
</script>

이 코드의 장점은 무엇인가요?

  • 자동 감지 시스템: 오직 메인과 카테고리 페이지에서만 작동하여 리소스를 아낍니다.
  • 중복 방지: 기존에 꼬여있던 스크립트를 정리하고 본인의 정식 스크립트만 남깁니다.
  • 수익 최적화: 광고가 누락될 틈을 주지 않아 수동 광고 운영자에게 필수적입니다.

티스토리는 플랫폼 특유의 광고 로직이 애드센스와 복잡하게 얽혀 있습니다. 단순히 코드를 복사해서 붙여넣는 것만으로는 100% 성능을 내기 어렵죠. 오늘 소개해 드린 페이지별 조건부 로딩 처리를 통해 광고가 어디서든 안정적으로 노출되도록 최적화해 보세요.

작업을 마치신 후에는 크롬 브라우저의 F12(개발자 도구) – Network 탭에서 adsbygoogle을 검색해 스크립트가 깔끔하게 하나만 로드되는지 확인해 보시기 바랍니다.

댓글 남기기