AdSense 심사를 위해 기존 광고 슬롯을 임시 비활성화
목차
AdSense 심사를 앞두고 기존 광고 슬롯 컴포넌트를 일시 비활성화했다.
왜 비활성화가 필요했나
AdSense 심사는 생각보다 까다롭다. 구글 정책상 심사 진행 중인 사이트에 다른 광고 네트워크의 코드가 함께 렌더링되는 걸 권장하지 않는다. 정확히는 "금지"라고 명시된 경우도 있고, 명시되지 않더라도 심사 결과에 영향을 줄 수 있다는 게 운영자들 사이에서의 일반적인 경험담이다. 그래서 MobonSlot 컴포넌트의 렌더링을 심사 기간 동안만 꺼두는 작업을 진행했다.
MobonSlot은 Mobon 네트워크 기반의 광고 슬롯을 출력하는 Astro 컴포넌트다. 이게 페이지에 마운트되면 외부 스크립트가 실행되고, 심사 봇 입장에서는 구글 이외의 광고 코드가 페이지에 살아있는 걸 볼 수 있다. 그 상태에서 AdSense 심사를 넣으면 리젝 리스크가 올라간다.
작업 내용
변경은 src/components/MobonSlot.astro 한 파일에 국한된 핀포인트 수정이다. 통계가 명시되지 않았지만, 파일 하나에 렌더링만 끈 것이니 diff는 아마 몇 줄 수준일 것이다.
처리 방식은 크게 두 가지를 고려했다.
| 방식 | 장점 | 단점 |
|---|---|---|
| 컴포넌트 호출부에서 조건부 렌더링 | 재활성화 시 여러 곳 수정 필요 없음 | 호출부가 여러 곳이면 누락 위험 |
| 컴포넌트 내부에서 early return | 변경 포인트 단일화, 복구도 한 곳 | 컴포넌트 자체가 "살아있는 척" 함 |
이번에는 MobonSlot.astro 자체에서 처리했다. 아마 내부적으로 아무것도 렌더링하지 않도록 막았거나, 외부 스크립트 삽입 부분을 주석 처리하거나 플래그로 감쌌을 것이다. Astro 컴포넌트 구조상 대략 이런 패턴이다:
---
const DISABLED = true;
---
{!DISABLED && (
<div class="mobon-slot">
<script>/* 외부 광고 스크립트 */</script>
</div>
)}
혹은 더 단순하게 전체를 주석 처리하는 방식도 있다. 어느 쪽이든 핵심은 광고 관련 외부 스크립트가 실행되지 않는 것이다.
회고
이런 작업은 "chore"로 분류하는 게 맞다. 기능 변경이 아니고, 심사라는 외부 프로세스 대응을 위한 임시 조치다. 근데 임시 조치일수록 나중에 까먹기 쉽다. 심사 통과 후 다시 켜는 것도 일이고, 그 타이밍을 놓치면 광고 수익에 직접 영향이 간다.
그래서 이런 커밋에는 TODO 주석이나 이슈 티켓 링크를 같이 남겨두는 습관이 중요하다.
---
// TODO: AdSense 심사 완료 후 DISABLED → false 로 되돌릴 것
// 참고: 심사 요청일 2026-05-26
const DISABLED = true;
---
팀이 있는 환경이라면 PR 본문에 "심사 완료 후 revert 필요" 한 줄이라도 명시해두는 게 낫다. 혼자 운영하는 블로그 수준이라도 마찬가지다. 미래의 나는 현재의 나를 기억 못 한다.
커밋 메시지에 disable이라는 단어를 쓴 건 좋은 선택이다. remove나 delete가 아니라 disable이어야 나중에 검색했을 때 "아 이게 켜고 끄는 개념이구나"라는 의도가 드러난다. 작은 어휘 선택 하나가 히스토리 추적에서 꽤 차이를 만든다.
다음은 심사 통과 후 enable 커밋이 올 차례다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.