개발 slecs

개인 사이트에 AdSense 광고 연동

목차

개인 포트폴리오 사이트의 호스팅 비용과 유지보수 리소스를 조금이라도 상쇄하기 위해 이번엔 AdSense 광고를 추가했다. side 프로젝트라고 해서 완전히 자선 사업처럼 운영할 필요는 없다는 생각에서였다.

개인 프로젝트도 수익화의 대상

보통 개인 사이트라고 하면 순수 포트폴리오나 기술 블로그로만 생각하기 쉬운데, 어느 정도 꾸준한 트래픽이 오는 사이트라면 광고 수익화를 고려할 만하다. 호스팅 비용이 월 몇 만 원 정도면 큰 부담은 아니지만, 계속 누적되면 무시할 수 없는 비용이다. 특히 개인이 운영하는 여러 개 사이트가 있다면 더욱 그렇다.

AdSense 같은 광고 네트워크의 장점은 진입 장벽이 낮다는 점이다. 복잡한 영업 과정이나 고객 발굴 없이, 기본적인 정책만 지키면서 스크립트 한두 줄만 추가하면 된다. 내 경우도 기존 사이트 구조를 거의 건드리지 않고 필요한 부분에만 로더 스크립트를 심을 수 있었다.

템플릿 구조에 맞춰 광고 스크립트 배치하기

변경한 파일들을 보면, 크게 두 가지 카테고리로 나뉜다. 첫째는 app/templates/base.html 같은 기본 템플릿이고, 둘째는 portfolio/ 디렉토리 아래의 각 언어별 페이지들이다. 이런 구조는 다국어 포트폴리오를 운영할 때 흔한 패턴인데, 광고를 일관되게 로드하려면 전역 템플릿 레벨에서 처리하는 게 가장 깔끔하다.

파일 역할 수정 내용
app/templates/base.html 모든 페이지의 기본 구조 AdSense 로더 스크립트 추가
portfolio/index.html 한국어 포트폴리오 홈 헤드 섹션에 스크립트 포함
portfolio/en/index.html 영어 포트폴리오 홈 헤드 섹션에 스크립트 포함
portfolio/privacy.html 한국어 개인정보 정책 헤드 섹션에 스크립트 포함
portfolio/en/privacy.html 영어 개인정보 정책 헤드 섹션에 스크립트 포함

AdSense 로더 스크립트는 보통 <head> 섹션에 들어가야 한다. 페이지가 로드될 때 광고 슬롯을 미리 준비하기 위함이다. 나는 base.html 에 공통으로 넣되, 필요한 경우 개별 페이지에서도 추가할 수 있도록 열어뒀다. 이렇게 하면 나중에 특정 페이지에서만 광고를 비활성화하거나, 광고 밀도를 조정하는 것이 쉬워진다.

기술적 고민과 배운 점들

이런 작업을 하면서 몇 가지 생각해볼 점들이 있었다.

첫째, 스크립트 로드 방식의 성능 영향. AdSense 로더 스크립트는 외부 리소스이므로, 로드되는 동안 페이지 렌더링이 잠시 멈출 수 있다. 보통 async 속성을 사용해서 비동기로 로드하거나, defer 속성으로 DOM 파싱 이후에 실행되도록 한다. 내 경우 <head> 에 넣되 async 방식으로 처리해서 페이지 로딩 성능에 최대한 영향을 안 주려고 했다.

둘째, 개인정보 정책과의 관계. 광고 네트워크를 사용하면 자동으로 개인 사용자 정보(쿠키, 로컬 스토리지 등)가 수집될 수 있다. 때문에 privacy.html 같은 개인정보 정책 페이지도 함께 수정해야 했다. 광고 스크립트 추가 자체는 기술적인 변경이지만, 법적·윤리적 책임이 함께 따르는 셈이다.

<!-- AdSense 로더 스크립트 예시 -->
<script async 
  src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
</script>
<script>
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-...",
    enable_page_level_ads: true
  });
</script>

셋째, 다국어 사이트에서의 광고 설정. 한국어 페이지와 영어 페이지가 따로 있으니, 각 언어 사용자의 지역과 관심사에 맞는 광고가 노출되도록 설정하는 게 중요하다. AdSense는 자동으로 이를 감지하지만, 명시적으로 언어나 타겟 지역을 지정할 수도 있다. 내 경우 기본 설정에 의존하되, 나중에 필요하면 커스터마이징할 여지를 남겨뒀다.

넷째, 개인 프로젝트 운영 철학. 광고를 추가하면서 "이게 정말 필요한가?" 하는 자문을 계속했다. 과도한 광고는 사용자 경험을 해친다. 포트폴리오 사이트는 직무 능력을 보여주는 공간인데, 너무 많은 광고가 보이면 오히려 부정적인 인상을 줄 수 있다. 그래서 나는 '적당한' 수준의 광고만 넣기로 결정했고, 필요시 특정 페이지(예: 프라이버시 정책)에서는 광고를 빼는 방식을 고려 중이다.

개인 사이트 수익화는 큰 기대보다는 "무언가 하지 않는 것보다는 낫다" 정도의 실용성으로 접근하는 게 맞다고 본다. 성장시키고 싶은 마음도 있지만, 사이트의 본래 목적을 잃어선 안 된다는 뜻이다. 이번 작업을 통해 기술과 비즈니스, 사용자 경험 사이의 균형을 어떻게 잡을지 한 번 더 생각해보는 계기가 됐다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.