본문으로 건너뛰기
← 블로그로 돌아가기
개발>웹 개발
adsensevercellighthousechaejipside-project

광고 신청 직전에 멈춘 이유: 호스팅 약관, 넥슨 IP, 얇은 페이지 10개

11분 읽기

2026년 10월 10일, 광고를 켜기 전에 점검부터 했습니다. 코드는 한 줄도 고치지 않았고, 결과만 정리했습니다.

대상은 제가 운영하는 메이플스토리 약초 채집 계산기, 채집 마스터입니다. 사이트를 연 지 3.5개월이 됐고, 이제 수익화를 시도해 볼 때라고 생각했습니다. 신청하려던 곳은 메이플스토리 파트너스, Google AdSense, 카카오 애드핏 세 곳입니다.

먼저 결론

신청처판정걸리는 것
메이플스토리 파트너스지금 신청 가능공개된 조건은 모두 충족. 휴대폰·이메일 제공과 최근 6개월 이용 제한 여부는 직접 확인 필요
Google AdSense지금은 낮음호스팅 약관, 넥슨 답변 대기, 얇은 페이지 10개
카카오 애드핏지금은 낮음위 세 가지에 더해 "게임 아이템 거래 관련 콘텐츠" 조항, 승인제 가입

항목은 차단 3, 권장 10, 선택 8개로 분류했습니다. 이 글은 그중 차단 3개와, 광고와 상관없이 나온 UX 문제를 다룹니다.

어떻게 점검했나

기준은 라이브 사이트와 로컬 빌드, 두 가지였습니다.

  • Lighthouse 12.8.2 모바일 기본값(느린 4G, CPU 4배 감속)으로 7개 페이지 측정. 홈은 3회 중앙값
  • 390×844 터치 에뮬레이션으로 16개 경로의 콘솔 오류, 실패한 요청, 가로 넘침 확인
  • 사이트맵 20개 URL의 본문 글자 수와 문장 중복 집계
  • 약관과 정책은 당일 원문을 직접 열어 확인

Lighthouse 모바일 결과

페이지성능접근성SEOLCP
/76100926.7 s
/prices96100922.6 s
/guide961001002.6 s
/codex781001005.3 s
/codex/juniper-seed871001003.9 s
/faq821001004.8 s
/about961001002.6 s

접근성과 베스트 프랙티스는 모두 100점이고 TBT는 0ms, CLS는 0.005 이하였습니다. 성능 감점은 거의 전부 LCP에서 나왔습니다.

원인은 글꼴 파일이었습니다. Pretendard를 굵기별로 따로 받아서 홈 기준 59개, 711 KiB를 내려받고 있었습니다. 페이지 전체 무게 1,076 KiB의 66%입니다. 가변 글꼴로 바꿔 같은 화면을 재 보니 16개, 421 KiB였습니다.

스로틀 없이 쟀을 때 실제 LCP가 0.160.26초라는 점이 재미있습니다. 체감 속도는 빠른데, Lighthouse가 마지막 글꼴 파일이 도착한 시점을 느린 4G로 다시 계산해서 47초로 부풀립니다. 점수와 체감이 어긋날 때는 점수가 무엇을 가정하는지부터 봐야 합니다.

차단 1: 무료 플랜에는 광고를 못 붙입니다

Vercel 공정 사용 지침은 Hobby 플랜을 개인의 비상업적 용도로만 허용합니다. 상업 이용의 예로 AdSense 같은 광고 게재를 직접 적어 두었습니다.

제 팀 플랜은 Hobby였습니다. 게시자 ID 스크립트 하나만 넣어도 상업 이용이 되고, 프로젝트가 정지될 수 있습니다. 광고를 켜는 절차를 정리해 둔 제 문서에도 이 항목은 없었습니다.

해결책은 Pro(월 20달러)로 올리거나 호스팅을 옮기는 것입니다. 지금 방문자 규모에서 광고 수익이 월 20달러를 넘을지는 솔직히 의문입니다.

차단 2: 넥슨이 허용한다는 근거가 없습니다

넥슨 게임IP 사용가이드는 영리 이용을 막습니다. 광고 수익 예외로 적힌 건 유튜브 같은 무료 콘텐츠 플랫폼뿐이고, 웹사이트 이야기는 없습니다. Open API 이용약관도 승낙 없는 영리 이용을 금지합니다.

사이트는 넥슨 이미지를 씁니다. 아이템 아이콘 18개, OG 카드 이미지 4개, 캐릭터 외형 이미지입니다. 캐릭터 조회 페이지는 레이아웃 기본값 때문에 광고를 켜면 Open API 데이터 옆에 레일 광고가 자동으로 붙는 구조였습니다.

넥슨에는 광고 허용 여부를 문의해 둔 상태이고, 답변 전에는 광고를 켜지 않습니다. 점검하면서 문의 범위도 확인 대상으로 남겼습니다. Open API 데이터를 보여 주는 페이지에 광고를 붙여도 되는지까지 묻고 있는지입니다.

차단 3: URL 20개 중 10개가 얇습니다

가장 아팠던 항목입니다. 사이트맵 URL 20개의 본문(<main> 안 텍스트에서 공백을 뺀 글자 수)을 세고, 문장이 다른 페이지에도 그대로 있는지 비교했습니다.

약초 도감 상세 페이지. 획득처와 관련 채집물 안내가 다른 도감 페이지와 같은 문장으로 채워져 있다

도감 상세 6개는 본문이 517590자인데, 다른 도감과 겹치지 않는 문장은 76135자뿐이었습니다. 문장의 74~85%가 다른 도감에도 그대로 있습니다. 획득처 문단, 관련 채집물 목록, 안내문이 템플릿에서 똑같이 나오기 때문입니다.

계산 페이지 세 곳(오일, 목표, 도구)도 완결된 문장이 130~149자였고 나머지는 숫자 위젯과 버튼입니다.

페이지본문고유 문장판정
홈3,484자2,966자충분
가이드2,129자1,716자충분
FAQ1,869자1,635자충분
오일·목표·도구574~650자257~329자얇음
도감 상세 6개517~590자76~135자얇음(템플릿)

AdSense가 흔히 거절하는 이유가 "콘텐츠 불충분"입니다. 애드핏에도 "내용이 지나치게 부족한" 사이트를 제한하는 조항이 있습니다. 고치는 길은 둘입니다. 품목마다 시세 추이, 쓰임, 판매 팁을 300~600자씩 쓰거나, 도감 상세를 한 페이지로 합치고 상세 페이지는 색인에서 빼는 것입니다. 어느 쪽이든 글을 써야 합니다.

애드핏은 조항이 하나 더 있습니다

애드핏 운영정책(2026년 9월 2일 시행)에는 "게임 아이템 거래 관련 콘텐츠"를 게재 불가로 두는 조항이 있습니다. 이 사이트의 중심은 경매장 시세입니다. 게임 안의 메소 거래지만 심사자가 이 조항으로 볼 수 있는지는 확인하지 못했습니다. 그래서 애드핏은 AdSense 다음으로 미루고, 신청 전에 카카오에 먼저 묻기로 했습니다.

광고와 상관없이 나온 UX 문제

점검은 광고 때문에 시작했는데, 390px 화면을 직접 열어 보니 광고와 무관한 문제가 더 나왔습니다.

첫 화면에 시세 입력칸이 없습니다

이 계산기의 핵심 입력은 씨앗 시세 하나입니다. 그런데 모바일 첫 화면에는 캐릭터 닉네임 입력칸이 먼저 나오고, 시세 입력칸은 한참 아래에 있습니다.

홈 390px 첫 화면. 제목과 버튼 두 개, 캐릭터 닉네임 입력칸, 계산 조건 카드 머리, 하단 결과 바가 보인다

처음 온 사람은 닉네임부터 넣어야 하는 줄 알 수 있습니다. 서비스가 무엇인지는 3초 안에 전달됩니다. 제목이 분명하고 하단 결과 바가 "하루 약 3.9억"을 바로 보여 주기 때문입니다. 다만 다음 행동으로 이어지는 입력칸이 보이지 않습니다.

닉네임 칸은 글자 크기가 15px라는 문제도 있었습니다. iOS Safari는 16px보다 작은 입력칸에 포커스하면 화면을 확대합니다. 첫 화면 안에 있는 첫 입력칸이라 가장 먼저 걸리는 곳입니다.

안내 문구와 실제 동작이 다릅니다

계산 조건 카드에는 "입력하면 바로 반영돼요"라고 적혀 있습니다. 실제로는 씨앗 시세를 입력한 뒤 [이 가격으로 계산하기] 버튼을 누르거나 Enter를 눌러야 반영됩니다.

시세 칸에 800000을 입력한 직후. 하단 결과 바는 아직 약 3.9억이다

계산하기 버튼을 누른 뒤. 결과가 약 4.2억으로 바뀌고 결과 영역으로 스크롤된다

막히지는 않습니다. 하지만 숫자를 넣었는데 결과가 그대로면 사용자는 고장이라고 생각합니다. 문구를 고치거나 입력칸에 "계산하기를 눌러 반영"이라는 안내를 넣는 쪽이 맞습니다.

링크 문구가 모두 "자세히"입니다

Lighthouse SEO 92점의 감점 원인은 두 가지가 전부였습니다. 홈의 "자세히 보기"와 /prices의 "자세히"가 둘 다 같은 /oil로 가는데 링크 문구만으로는 목적지를 알 수 없습니다. "원물 vs 오일 비교"처럼 목적지가 드러나는 글자로 바꾸면 해결됩니다.

문제없음으로 확인된 것

  • 390px에서 16개 경로 모두 콘솔 오류 0, 실패한 요청 0, 가로 넘침 0
  • HTTPS와 HSTS 적용, robots 전체 허용, 사이트맵 20개 URL 모두 200
  • canonical은 모두 자기 자신이고 title·description 중복은 0
  • 모든 페이지 푸터에 소개, 개인정보처리방침, 이용약관, 문의 메일, 비공식 팬 사이트 고지
  • 개인정보처리방침의 광고 절은 AdSense 필수 고지 3가지를 갖춰 둔 상태
  • 외부 블로그·나무위키와 12~14자 이상 일치하는 문장 0건. 사이트에 쓴 건 숫자와 게임 사실뿐
  • 현금거래, 계정거래, 매크로, 클릭 유도 문구 0건

확인하지 못한 것

점검에서 답을 못 얻은 것도 적어 둡니다.

  • 넥슨이 팬 웹사이트 광고를 허용하는지
  • 애드핏 조항이 경매장 시세 사이트에 실제로 적용되는지
  • AdSense의 최소 트래픽 기준(공식 수치가 없습니다)
  • 파트너스의 "무료 호스팅 제외" 조건에 Vercel Hobby가 들어가는지
  • Search Console 실제 등록 여부

그래서 순서를 바꿨습니다

원래 계획은 "광고 코드 켜기, 승인 기다리기"였습니다. 점검 뒤에는 이렇게 바뀌었습니다.

  1. 메이플스토리 파트너스 신청. 광고가 없는 지금이 약관상 가장 깨끗합니다.
  2. Search Console과 네이버 서치어드바이저 등록, 사이트맵 제출
  3. 얇은 페이지 보강과 쉬운 수정 묶음(글꼴, 링크 문구, 입력칸 크기, 출처 표기)
  4. 넥슨 답변 확인. 허용이면 그때 Vercel Pro로 전환
  5. 카카오 애드핏은 조항 해석을 물어본 뒤에

수익을 포트폴리오에 쓸 때의 제약도 알게 됐습니다. 애드핏은 광고 성과 공개를 제한하고, AdSense 약관은 총 지급액만 공개할 수 있게 합니다. 나중에 수익을 내더라도 클릭률이나 RPM은 적을 수 없습니다.

돌아보면 아쉬운 점

세 개 모두 제가 만든 과정에서 미리 막을 수 있었습니다.

  • 광고 켜는 절차를 문서로 정리하면서 호스팅 약관은 확인하지 않았습니다. 절차가 있다는 사실이 확인을 대신하지 못했습니다.
  • 도감 상세를 템플릿 하나로 찍어 냈습니다. 페이지 수는 늘었지만 고유한 내용은 늘지 않았고, 그 차이를 처음 측정한 게 이번 점검입니다.
  • 약관 문의는 "사이트 전체에 광고를 달아도 되는가"에서 멈추기 쉽습니다. 질문은 광고가 실제로 붙을 페이지 단위로 나눠야 한다는 걸 이번에 정리했습니다.

다음부터는 기능을 만들기 전에 그 기능이 기대는 약관부터 한 줄로 적어 둘 생각입니다. 이번 점검의 가장 큰 수확은 신청서보다 먼저 약관을 읽게 됐다는 점입니다.

이 글은 2026년 10월 10일 시점의 기록입니다. 이후 상황은 이 글에 덧붙이지 않습니다.

// RELATED

관련 포스트