·약 24분 읽기
바이브 코딩으로 블로그 만들기 시리즈 코딩을 몰라도 AI와 대화하며 ‘내 소유’ 수익형 웹사이트를 만드는 15일 여정
DAY 11에서 블로그를 세상에 공개했습니다. 도메인이 생겼고, 자물쇠(HTTPS)도 달았습니다. 이제 진짜 ‘사이트 운영자’가 됐습니다.
오늘은 수익화의 첫 관문을 넘기 위한 준비를 합니다.
수익형 블로그를 운영하는 사람들 사이에서 통하는 은어가 하나 있습니다.
‘애드고시’
구글 애드센스 승인 심사를 가리키는 말입니다. ‘고시’라는 단어가 붙은 이유는 한 번에 통과하는 사람보다 떨어지는 사람이 훨씬 많기 때문입니다. 어떤 사람은 5번, 10번을 떨어집니다. 그리고 떨어지면 다시 신청할 때까지 며칠을 기다려야 합니다.
좋은 소식: 준비만 제대로 하면 한 번에 붙을 수 있습니다.
나쁜 소식: 준비 없이 신청하면 무조건 떨어집니다.
오늘 우리가 만들 것은 애드센스 심사관이 가장 먼저 확인하는 3대 필수 페이지입니다. 직접 쓰면 며칠 걸리는 작업이지만, AI에게 시키면 30분이면 끝납니다.
구글 애드센스는 광고를 게재할 사이트를 심사할 때 단순히 ‘콘텐츠가 좋은가’만 보는 게 아닙니다. ‘이 사이트가 합법적이고 책임감 있게 운영되는가’ 를 확인합니다.
그 판단 기준이 바로 이 세 가지 페이지입니다.
| 구분 | 심사관이 보는 질문 | 요점 |
|---|---|---|
| ① 소개 (About) | ‘이 블로그는 누가, 왜 운영하는가?’ | 운영 주체의 정체성·신뢰 |
| ② 개인정보처리방침 | ‘방문자 정보를 어떻게 다루는가?’ | 법적 의무·신뢰의 핵심 |
| ③ 문의 (Contact) | ‘연락할 방법이 있는가?’ | 책임 있는 운영자 여부 |
이 세 페이지가 없으면 애드센스는 거의 100% ‘가치 없는 콘텐츠(Low value content)’ 사유로 거부합니다. 이 사유로 거부되면 콘텐츠를 아무리 잘 써도 의미가 없습니다. 3대 페이지 = 입장권입니다.
우리가 DAY 06에서 푸터를 만들 때 미리 자리만 잡아둔 그 링크들이 바로 이 페이지들입니다. 미리 준비해 둔 자리에 오늘 내용을 채워 넣거나 다듬는 것이 목표입니다.
소개 페이지는 단순한 자기소개가 아닙니다. 방문자와 애드센스 심사관 모두에게 ‘이 블로그가 신뢰할 만하다’ 는 인상을 주는 페이지입니다.
1. 블로그 이름과 한 줄 슬로건
2. 운영자 소개 (이름 또는 닉네임 + 배경)
3. 블로그를 시작한 이유
4. 다루는 주제와 카테고리
5. 독자에게 약속하는 가치
6. 콘텐츠 작성 원칙 (정확성, 출처, 업데이트)
7. 연락 방법 안내
이 모든 요소를 직접 쓰려면 막막합니다. AI에게 맡깁시다.
이 시리즈용 블로그에는 이미 app/(site)/about/page.js가 있을 수 있습니다. 처음부터 새로 만드는 경우와 기존 페이지를 채우는 경우를 구분해 AI에게 말하면 됩니다.
블로그 소개 페이지(/about)를 준비해줘.
## 이 프로젝트 구조 (Next.js App Router)
- 소개 페이지 파일: app/(site)/about/page.js (확장자는 .js 또는 .tsx)
- 이미 페이지가 있으면 레이아웃은 유지하고, 아래 블로그 정보에 맞게 문구·메타데이터·프로필 영역만 수정해줘.
## 블로그 정보
- 블로그 이름: [본인 블로그 이름]
- 주제: [본인 블로그 주제, 예: 개발/재테크/일상/요리 등]
- 운영자: [본인 닉네임]
- 운영 시작: 2026년
## 페이지 구성
다음 7개 섹션을 포함해줘. 각 섹션은 H2(##)로 구분.
1. 인사말 (블로그 이름과 한 줄 슬로건, 환영 메시지)
2. 블로그 소개
- 어떤 블로그인가
- 다루는 주제 3~5개를 bullet으로
3. 운영자 소개
- 닉네임
- 간단한 배경 (전공/직업/관심사)
- 블로그를 시작한 이유 2~3문장
4. 콘텐츠 원칙
- 정확성: 사실 확인 후 작성
- 출처: 인용 시 출처 명시
- 업데이트: 정보가 바뀌면 글도 업데이트
- AI 활용: AI 도구를 활용하지만 핵심 내용은 직접 검증
5. 카테고리 안내
- 현재 운영 중인 카테고리 목록
- 각 카테고리의 주요 주제
6. 독자에게 드리는 약속
- 광고는 콘텐츠의 가독성을 해치지 않게 배치
- 협찬/제휴 관계가 있을 시 명시
- 독자 의견을 적극 반영
7. 연락처 안내
- 문의 페이지(/contact) 링크
- 또는 이메일 주소(텍스트로 표기)
## 디자인
- 본문은 기존 스타일(prose 등)에 맞출 것
- 각 H2 위에 충분한 여백
- 페이지 상단에 H1으로 ‘소개’ 제목
본인 정보(블로그 이름, 운영자명, 주제 등)는 일단 [PLACEHOLDER]로 표시해줘.
나중에 내가 직접 채울 수 있게.
AI가 페이지를 만들면 본인 정보를 직접 채워 넣으세요.
AI가 만든 내용을 100% 그대로 쓰지 마세요. 특히 운영자 소개 부분은 본인의 진짜 이야기로 바꿔야 합니다. 애드센스 심사관과 독자 모두 ‘가짜 같은 글’을 알아챕니다. 진짜 경험과 동기를 2~3문장이라도 본인 언어로 적으세요.
개인정보처리방침은 법적 의무입니다. 한국 개인정보보호법, 유럽 GDPR, 미국 CCPA 등 거의 모든 국가의 법이 웹사이트에 이 페이지를 요구합니다. 그리고 애드센스 정책에서도 명시적으로 요구합니다.
1. 수집하는 개인정보의 종류
2. 수집 목적
3. 보관 기간
4. 제3자 제공 여부
5. 쿠키 사용 안내
6. 광고 게재 정보 (애드센스 사용 명시)
7. 이용자의 권리
8. 개인정보 보호책임자 연락처
9. 정책 변경 시 고지 방법
이걸 직접 쓰는 건 미친 짓입니다. 변호사가 아닌 이상 빠뜨리는 항목이 반드시 생깁니다. AI에게 맡깁시다.
이 블로그 템플릿은 본문을 content/privacy.md(마크다운)에 두고, app/(site)/privacy/page.js에서 렌더링하는 구조일 수 있습니다. 페이지 컴포넌트를 새로 짜기보다, 아래처럼 마크다운 초안을 채우라고 요청하는 편이 안전합니다.
블로그 개인정보처리방침을 작성해줘.
## 이 프로젝트 구조
- 본문 파일: content/privacy.md (또는 프로젝트에 맞는 마크다운 경로)
- 페이지: app/(site)/privacy/page.js 가 이 내용을 불러온다면, page 파일은 건드리지 말고 privacy.md만 작성해줘.
## 요구사항
이 블로그는 다음과 같은 환경입니다:
- 한국에서 운영하지만 전 세계 방문자가 들어옴
- 구글 애널리틱스(GA4) 사용 예정
- 구글 애드센스 광고 게재 예정
- 회원가입/로그인 기능 없음
- 댓글 기능 없음 (현재 시점)
- 이메일 수집 폼 없음
## 포함할 섹션
다음 항목을 H2로 구분해서 작성해줘.
1. 개요 (이 정책의 적용 범위)
2. 수집하는 정보
- 자동 수집 정보: IP 주소, 브라우저 종류, 방문 시각, 페이지 URL,
디바이스 정보, 쿠키
- 직접 제공 정보: 현재 수집 안 함 (이메일/이름 등)
3. 정보 수집 방법
- 쿠키와 유사 기술
- 구글 애널리틱스
- 구글 애드센스
4. 정보 사용 목적
- 웹사이트 이용 통계 분석
- 콘텐츠 개선
- 광고 게재 및 최적화
- 보안 및 사기 방지
5. 제3자 정보 제공
- 구글(애널리틱스, 애드센스)에 익명화된 통계 정보 제공
- 법적 요구가 있는 경우 외에는 제3자에게 판매하지 않음
6. 쿠키 정책
- 쿠키란 무엇인가
- 사용하는 쿠키의 종류 (기능, 분석, 광고)
- 쿠키 거부 방법 (브라우저 설정)
7. 구글 애드센스 광고 안내
- DoubleClick DART 쿠키 사용 안내
- 관심 기반 광고 옵트아웃 방법
- https://www.google.com/settings/ads 링크
8. 정보 보관 기간
- 분석 데이터: 구글 정책에 따름
- 이외 데이터: 수집하지 않음
9. 이용자의 권리
- 정보 열람, 정정, 삭제 요청 권한
- 요청 방법 (문의 페이지를 통해)
10. 정책 변경 안내
- 변경 시 페이지 상단에 공지
- 시행일 표시
11. 문의처
- 개인정보 보호 책임자: [PLACEHOLDER 닉네임]
- 연락처: 문의 페이지(/contact) 링크
## 형식
- frontmatter에 updated: YYYY-MM-DD 형식으로 갱신일을 넣어줘 (프로젝트가 이를 표시하는 경우).
- 페이지 컴포넌트가 제목 H1을 렌더링한다면 마크다운에는 H1을 중복하지 말고 본문부터 작성해줘.
- 법적 문서이지만 너무 어렵지 않게, 일반인도 이해할 수 있는 톤
- 한국어로 작성
## 중요
- 한국 개인정보보호법과 구글 애드센스 정책을 모두 만족해야 함
- 허위 정보 작성 금지 (실제로 수집하지 않는 정보를 수집한다고 쓰지 말 것)
- 이메일 주소나 전화번호 같은 개인 정보는 [PLACEHOLDER]로 표시
이 문서는 법적 효력을 가집니다. AI가 만든 초안을 그대로 쓰되, 빈 PLACEHOLDER만 채우고 거짓 내용은 절대 넣지 마세요. 예를 들어 ‘회원가입 정보를 수집한다’고 적었는데 실제로는 회원 기능이 없다면 문제가 됩니다. AI가 만든 내용을 한 번 정독하면서 본인 블로그 상황과 맞는지 확인하세요.
문의 페이지는 가장 단순하지만, 가장 자주 빠지는 페이지입니다. 그리고 이게 없으면 애드센스 심사관이 ‘운영자에게 연락할 방법이 없는 사이트’로 판단합니다.
1. 인사말 (편하게 연락 달라는 메시지)
2. 연락 가능한 채널 (이메일, SNS 등)
3. 답변 가능 시간 안내 (선택)
4. 문의 폼 (선택)
폼을 만들지, 단순히 이메일 주소만 적을지는 자유입니다. 폼을 만들면 더 전문적으로 보이지만, 폼 데이터를 받을 백엔드가 필요합니다. 처음에는 이메일 주소만 적는 것을 추천합니다.
블로그 문의 페이지(/contact)를 준비해줘.
## 이 프로젝트 구조
- 파일: app/(site)/contact/page.js
- 이미 페이지가 있으면 레이아웃은 유지하고 문구만 수정해줘.
## 페이지 구성
1. H1: ‘문의하기’
2. 인사말 섹션 (3~4문장)
- 따뜻한 톤
- 광고 제휴, 콘텐츠 오류 제보, 협업 제안 등 환영
- 최대한 빠르게 답변하겠다는 약속
3. 연락 방법 섹션
- 이메일: [PLACEHOLDER 이메일 주소] — **텍스트로만 표시** (mailto: 링크는 쓰지 말 것. 스팸 수집 완화)
- 답변 시간: 1~3일 이내 답변 (영업일 기준)
4. 자주 묻는 질문 (선택)
- ‘광고/협찬 문의를 하고 싶어요’ → 답변
- ‘블로그 글에 오류를 발견했어요’ → 답변
- ‘글을 인용/공유해도 되나요?’ → 답변
5. 연락 시 양해 부탁 사항
- 모든 문의에 답변하지만 시간이 걸릴 수 있음
- 욕설/스팸/의미 없는 메시지는 답변하지 않음
- 익명 메시지는 신중히 검토
## 디자인
- 페이지 상단 H1
- 본문은 기존 스타일(prose 등)에 맞출 것
- 본문 최대 너비는 기존 레이아웃에 맞출 것
- 너무 딱딱하지 않게, 친근한 톤
## 추가
페이지 하단에 ‘다시 메인으로’ 같은 홈 링크를 추가해줘.
이메일 주소는 새로 만드는 게 좋습니다. 본인 메인 이메일을 그대로 쓰면 스팸이 많이 옵니다. Gmail에서
myblogname.contact@gmail.com같은 별도 이메일을 새로 만들어 쓰세요. 무료로 만들 수 있고, 5분이면 됩니다.
세 페이지를 모두 만들었으면, 푸터의 링크가 정상 작동하는지 확인합니다.
DAY 06에서 푸터를 만들 때 이 세 페이지의 링크를 미리 넣어뒀습니다. 그때는 페이지가 없어서 클릭하면 404가 떴겠지만, 이제는 정상 페이지로 이동해야 합니다.
브라우저에서 확인:
1. 푸터의 ‘소개’ 클릭 → /about 페이지 정상 표시
2. 푸터의 ‘개인정보처리방침’ 클릭 → /privacy 페이지 정상 표시
3. 푸터의 ‘문의’ 클릭 → /contact 페이지 정상 표시
만약 링크가 안 맞으면 AI에게 ‘푸터의 링크 경로를 확인하고 /about, /privacy, /contact가 정확히 연결되어 있는지 점검해줘’라고 요청하세요.
이 시리즈용 블로그 템플릿에는 이미 app/components/Header.js 등에서 홈 → 소개 → 카테고리 → 문의 순으로 상단 메뉴가 잡혀 있을 수 있습니다. 그런 경우 추가 작업 없이 소개 링크만 정상인지 확인하면 됩니다.
아직 헤더에 소개가 없다면, AI에게 아래처럼 요청하세요.
AI에게 요청:
‘Header 컴포넌트에서 카테고리 네비게이션 옆에 소개 링크를 추가해줘.
/about으로 연결되도록 하고, 카테고리와 동일한 스타일로 적용해줘.
모바일 햄버거 메뉴에도 같이 표시해줘.’
개인정보처리방침과 문의는 푸터에만 두는 게 일반적입니다. 헤더가 너무 복잡해지면 안 되니까요.
DAY 09에서 sitemap.xml을 자동 생성하도록 설정했죠. 정적 페이지가 사이트맵에 반영되는지 확인합니다.
브라우저에서 localhost:3000/sitemap.xml(또는 배포 도메인 기준 /sitemap.xml)을 열어보세요.
이 블로그 템플릿은 루트의 app/sitemap.js에서 경로를 나열합니다. 예시로 /about, /contact 등이 포함되어 있을 수 있습니다. 개인정보 페이지는 검색 색인 정책에 따라 사이트맵에서 빠져 있을 수 있어도, 애드센스 심사에서는 https://본인도메인/privacy로 직접 접속해 문서가 보이면 됩니다.
예시 — 포함 여부를 보려면 실제 출력을 확인:
<url>
<loc>https://yourdomain.com/about</loc>
...
</url>
<url>
<loc>https://yourdomain.com/contact</loc>
...
</url>
누락된 정적 경로가 있다면 AI에게 요청하세요.
app/sitemap.js의 routes 배열에 /about, /contact(필요 시 /privacy)가
포함되도록 추가하거나 우선순위를 조정해줘.
오늘 만든 페이지들을 실제 사이트에 반영하려면 GitHub에 푸시해야 합니다. DAY 11에서 배운 자동 배포 마법이 작동할 차례입니다.
git add .
git commit -m "Add About, Privacy Policy, and Contact pages"
git push
푸시하고 1~2분 후, Vercel이 자동으로 재배포를 완료합니다. 실제 도메인(https://myblog.com/about 등)으로 접속하면 새 페이지가 정상 표시됩니다.
대답은 ‘아직 안 됩니다’ 입니다.
3대 필수 페이지는 만들었지만, 한 가지 결정적인 게 빠졌습니다. 콘텐츠입니다.
애드센스 승인 기준(요약):
DAY 13에서 콘텐츠를 어떻게 채울지, 그리고 구글이 좋아하는 글 vs 싫어하는 글을 다룹니다. 콘텐츠가 충분히 쌓여야 비로소 애드센스 신청 버튼을 누를 수 있습니다.
애드센스 승인의 절반을 통과했습니다. 남은 절반은 내일.
이 코너는 매 회 해당 단계에서 자주 겪는 문제와 해결법을 다룹니다.
에러 1: AI가 만든 개인정보처리방침이 너무 일반적이라 우리 블로그와 안 맞는다
→ AI에게 더 구체적인 정보를 주고 다시 요청하세요. ‘이 블로그는 OO 주제의 1인 운영 블로그이고, OO 기능은 없고 OO 기능은 있어. 이 상황에 정확히 맞게 다시 작성해줘’라고 하면 됩니다. 일반 템플릿을 그대로 쓰면 거짓 내용이 들어갈 위험이 있으니, 본인 사이트 상황을 반드시 반영해야 합니다.
에러 2: 소개 페이지에 이미지(프로필 사진)를 넣고 싶은데 어떻게 하나요
→ public/images/profile.jpg처럼 이미지를 넣고, AI에게 ‘소개 페이지(app/(site)/about/page.js)의 운영자 소개 섹션에 프로필 이미지를 추가해줘. 경로는 /images/profile.jpg, 둥근 원형, 가로 200px’라고 요청하세요. 이미지가 아직 없으면 일단 placeholder 이미지로 만들어두고 나중에 교체해도 됩니다.
에러 3: 문의 페이지에 폼을 넣고 싶다
→ 폼을 받으려면 백엔드(서버)가 필요한데, 우리 블로그는 SSG라서 서버가 없습니다. 무료 폼 서비스인 Formspree(formspree.io)나 Web3Forms(web3forms.com)를 쓰면 됩니다. AI에게 ‘Formspree를 사용해서 문의 폼을 만들어줘. 이름, 이메일, 메시지 필드 포함, Formspree 엔드포인트는 [본인 endpoint]로 설정’이라고 요청하면 됩니다. 단, 처음에는 이메일 주소 텍스트만으로도 충분합니다.
에러 4: 페이지를 만들었는데 푸터 링크를 클릭해도 404가 뜬다
→ 두 가지를 확인하세요. 첫째, App Router 그룹을 쓰는 경우 실제 파일 경로: app/(site)/about/page.js, app/(site)/privacy/page.js, app/(site)/contact/page.js. 둘째, 푸터·헤더의 링크가 /about, /privacy, /contact와 일치하는지. 둘 중 하나가 안 맞으면 404가 납니다. AI에게 ‘푸터의 링크 경로와 실제 페이지 파일 경로가 일치하는지 확인하고 수정해줘’라고 요청하세요.
에러 5: GitHub에 푸시했는데 Vercel에서 빌드 에러가 난다
→ AI가 만든 페이지에 잘못된 import나 타입 오류가 있을 수 있습니다. Vercel 대시보드의 Deployments 탭에서 실패한 빌드를 클릭 → Build Logs를 보면 정확한 에러가 나옵니다. 그 에러 메시지를 통째로 복사해서 AI에게 주고 ‘이 에러를 수정해줘’라고 요청하세요.
GitHub 푸시, Vercel 배포, vercel.app·커스텀 도메인·HTTPS, SITE_URL·metadata 갱신까지. 서버 0원으로 블로그를 인터넷에 공개하는 실전 가이드.
배포·애드센스 전 마지막 점검. 기술·SEO·UX·수익화 30항 체크리스트와 등급 판정, 부족한 항목별 AI 프롬프트 가이드까지 정리한다.
메타 태그·Open Graph·sitemap·robots로 구글이 블로그를 찾게 하는 SEO 입문. AI 프롬프트로 코딩 없이 10분 만에 끝내는 설정과 흔한 오해·에러 대응까지 정리한다.