개발 slecs

AdSense 정책 위반 경고 후 광고 배치 개선

목차

AdSense 정책 위반 경고를 받고 나서야 above-the-fold 광고 배치 문제를 직접 손봤다.

왜 이게 문제였나

AdSense에는 "above-the-fold" 규정이 있다. 페이지를 처음 열었을 때 스크롤 없이 보이는 영역에 광고가 콘텐츠보다 지배적으로 배치되면 안 된다는 것. 쉽게 말해, 사용자가 페이지에 들어왔을 때 읽으려고 한 콘텐츠보다 광고가 먼저 눈에 꽉 차게 보이면 정책 위반이다.

이 규정이 생긴 배경은 명확하다. 검색 유입 사용자 입장에서 클릭해서 들어왔더니 본문 대신 광고 덩어리만 보이면 즉시 뒤로 가기를 누른다. 구글 입장에서도 그런 사이트에 트래픽을 보내는 게 검색 품질 하락이라 판단하고, AdSense 정책으로 못 박아둔 것이다. 수익보다 사용자 경험이 선행되어야 한다는 원칙을 광고 플랫폼 자체가 강제하는 셈.

변경한 것

건드린 파일은 두 개였다.

파일 역할 변경 내용
app/templates/index.html 블로그 메인/목록 페이지 상단 fold 이내 광고 제거
app/templates/post.html 개별 포스트 페이지 본문 시작 전 광고 블록 제거

index 페이지는 포스트 목록이 바로 보여야 하는데, 상단에 광고 블록이 들어가 있으면 사용자는 "이 블로그가 뭘 쓰는 곳인지" 파악하기도 전에 광고를 먼저 소비하게 된다. post 페이지는 더 직접적이다. 글을 읽으러 왔는데 제목 바로 아래에 광고가 박혀 있으면 첫 문단까지 스크롤을 내려야 한다는 얘기고, 이건 콘텐츠 소비 경험을 정면으로 방해하는 구조다.

<!-- before: post.html — 제목 직후 광고 삽입 -->
<h1>{{ post.title }}</h1>
<div class="ad-block">
  <!-- AdSense 광고 슬롯 -->
</div>
<div class="post-body">{{ post.content }}</div>

<!-- after: 광고 블록 제거, 콘텐츠 우선 -->
<h1>{{ post.title }}</h1>
<div class="post-body">{{ post.content }}</div>

구조 자체는 단순한 제거 작업이지만, 이게 "단순 삭제"처럼 보여도 템플릿 두 곳을 일관되게 정리하지 않으면 한쪽은 통과하고 한쪽은 여전히 위반 상태로 남는다. 그래서 index와 post 양쪽을 동시에 처리했다.

회고

솔직히 말하면, 처음 광고를 배치할 때 "어차피 AdSense가 자동으로 최적 위치 잡아주겠지"라는 생각이 있었다. 수동 배치를 했으면서도 정책 세부 조항을 꼼꼼하게 읽지 않았던 것. above-the-fold 규정은 AdSense 정책 문서에서 꽤 앞쪽에 나오는 내용인데, 빠르게 세팅하고 넘어가다 보니 놓쳤다.

광고 수익화를 생각할 때 흔히 "최대한 많이, 눈에 잘 띄는 곳에"를 먼저 떠올린다. 근데 AdSense 정책 구조 자체가 그 반대 방향으로 설계되어 있다. 좋은 사용자 경험이 장기적으로 더 높은 수익으로 돌아온다는 걸 플랫폼 정책이 반강제하는 구조다. 팀에서 수익화 구조 잡을 때 이 부분을 기준으로 먼저 얘기하는 게 맞겠다 싶었다.

퍼블리싱/배포 쪽을 직접 관리하다 보면 이런 외부 플랫폼 정책 변경이나 경고에 빠르게 대응하는 체계가 필요하다는 걸 다시 느꼈다. 정책 위반 경고가 실제 계정 제한으로 이어지기 전에 처리하는 게 중요하고, 템플릿 수정처럼 작은 작업이라도 영향 범위를 페이지 단위로 명확히 파악하고 양쪽 다 챙겨야 한다.

다음엔 광고 배치 시 정책 체크리스트를 먼저 만들고 들어가는 순서로 바꿀 것.

댓글 0

첫 댓글 달아줘.