GitHub Pages 블로그 운영 필수 도구 완벽 정리 — 구글 서치 콘솔, 애널리틱스, 애드센스 역할과 연동 가이드

4 분 소요

GitHub Pages(Jekyll)로 개인 블로그를 처음 구축하고 나면 가장 먼저 마주하는 고민이 있습니다.

  • “열심히 글을 썼는데 왜 구글이나 네이버 검색에 안 나올까?”
  • “하루에 내 블로그에 몇 명이나 들어오는지 어떻게 알 수 있을까?”
  • “내 블로그에도 애드센스 광고를 달 수 있을까?”

이 세 가지 질문에 답하는 구글의 핵심 도구가 바로 구글 서치 콘솔(Google Search Console), 구글 애널리틱스(Google Analytics, GA4), 구글 애드센스(Google AdSense)입니다.

이름이 비슷해 처음에는 왜 세 가지를 따로 가입하고 관리해야 하는지 헷갈리기 쉽습니다. 이번 글에서는 세 도구의 명확한 역할 차이와 Jekyll(minimal-mistakes 테마 기준) 블로그에 적용하는 실전 방법, 그리고 자주 겪는 오류 해결법까지 한 번에 정리해 보겠습니다.


1. 서치 콘솔 vs 애널리틱스 vs 애드센스: 무엇이 다른가?

오프라인 매장을 운영하는 상황에 비유하면 세 도구의 역할이 한눈에 구분됩니다.

  • Google Search Console (서치 콘솔) = “길거리 이정표와 전단지 관리”
    • 손님이 매장을 찾아오기 전(검색창)의 과정을 다룹니다. 구글 검색엔진에 내 블로그의 존재를 알리고(색인), 사람들이 어떤 검색어를 치고 내 글이 몇 번째에 노출되었는지 보여줍니다.
  • Google Analytics (애널리틱스 / GA4) = “매장 내 출입 기록부와 동선 카메라”
    • 손님이 매장에 들어온 후(사이트 접속)의 행동을 분석합니다. 하루 방문자 수, 유입 경로(구글/네이버/직접 접속), 어떤 글을 오래 읽었는지(체류 시간), 어느 지역·기기에서 접속했는지를 추적합니다.
  • Google AdSense (애드센스) = “매장 벽면 광고판과 정산소”
    • 블로그 공간에 맞춤형 광고 배너를 띄우고, 방문자가 광고를 보거나 클릭했을 때 발생하는 광고 수익을 정산해 주는 수익화 플랫폼입니다.

한눈에 보는 비교표

구분 Google Search Console Google Analytics (GA4) Google AdSense
핵심 목적 검색 노출(SEO) 및 색인 관리 방문자 트래픽 및 행동 분석 광고 게재 및 수익 창출
관찰 시점 사이트 접속 전 (검색 결과 화면) 사이트 접속 후 (페이지 이동·체류) 사이트 체류 중 광고 노출·클릭
주요 지표 노출수, 클릭수, 평균 게재순위, 검색어 활성 사용자 수, 세션수, 페이지뷰, 이탈률 페이지 RPM, 노출수, 클릭률(CTR), 예상 수입
필요 파일/설정 소유권 메타태그, sitemap.xml, robots.txt 측정 ID (G-XXXXXXXXXX) 애드센스 스크립트(ca-pub-XXXX), ads.txt
평상시 관리 새 글 빠른 색인 요청 시에만 사용 방문자 통계 확인 사이트 승인 후 수익 확인 외 관리 불필요

2. Google Search Console 연동하기 (검색 노출의 시작)

GitHub Pages는 티스토리나 네이버 블로그와 달리, 가만히 두면 검색 로봇이 내 블로그를 찾지 못합니다. 서치 콘솔에 직접 사이트를 등록하고 사이트맵을 제출해야 구글 검색 결과에 글이 노출됩니다.

① 소유권 확인 코드 등록 (_config.yml)

  1. Google Search Console에 접속해 URL 접두어 방식으로 블로그 주소(https://<username>.github.io)를 등록합니다.
  2. 소유권 확인 방법에서 HTML 태그를 선택하고 content="..." 내부의 문자열만 복사합니다.
  3. Jekyll의 _config.yml 파일에 아래와 같이 입력합니다.
# _config.yml
# SEO Related
google_site_verification: "발급받은_고유_코드_입력"

② robots.txt 생성

블로그 루트 경로(/robots.txt)에 검색 로봇의 접근을 허용하고 사이트맵 위치를 알려주는 파일을 생성합니다.

User-agent: *
Allow: /

Sitemap: https://<username>.github.io/sitemap.xml

③ 사이트맵(sitemap.xml) 제출과 트러블슈팅

_config.yml의 plugins에 jekyll-sitemap이 포함되어 있다면 빌드 시 자동으로 /sitemap.xml이 생성됩니다. 서치 콘솔 좌측 Sitemaps 메뉴에 sitemap.xml을 입력해 제출합니다.

💡 주의: ‘사이트맵을 읽을 수 없음(Couldn’t fetch)’ 오류가 뜰 때
브라우저에서 https://<username>.github.io/sitemap.xml이 정상적으로 열리는데도 서치 콘솔에서 '사이트맵을 읽을 수 없음'이라고 뜨는 경우가 매우 흔합니다.
이는 파일 오류가 아니라 구글 크롤러의 일시적인 대기열 지연 현상입니다. 기존 제출 항목을 삭제 후 재제출하거나, 1~2일 정도 기다리면 자동으로 성공 상태로 전환됩니다. 급하게 노출할 글은 상단 URL 검사창에 주소를 직접 입력해 [색인 생성 요청]을 누르면 우선 수집됩니다.


3. Google Analytics (GA4) 연동하기 (방문자 분석)

  1. Google Analytics에서 계정과 속성을 생성하고 웹 데이터 스트림을 만들면 G-로 시작하는 측정 ID가 발급됩니다.
  2. _config.yml의 analytics 항목을 아래와 같이 설정합니다.
# _config.yml
analytics:
  provider: "google-gtag"
  google:
    tracking_id: "G-XXXXXXXXXX"
    anonymize_ip: false

4. Google AdSense 연동하기 (블로그 수익화)

GitHub Pages(정적 사이트)에도 구글 애드센스를 문제없이 연결할 수 있습니다. 초기에는 레이아웃을 일일이 수정해야 하는 수동 광고보다, 구글 AI가 여백과 본문 흐름에 맞춰 최적의 위치에 배너를 배치해 주는 자동 광고(Auto Ads)로 시작하는 것이 편리합니다.

① <head>에 애드센스 스크립트 삽입

minimal-mistakes 테마에서는 _includes/head/custom.html에 스크립트를 넣으면 모든 페이지의 <head> 영역에 자동으로 포함됩니다.

<!-- _includes/head/custom.html -->
<!-- start custom head snippets -->

<!-- Google AdSense -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXXXXX"
     crossorigin="anonymous"></script>

<!-- end custom head snippets -->

② 루트 경로에 ads.txt 추가

애드센스 대시보드에서 발생하는 '수익 손실 위험 - ads.txt 문제를 해결해야 합니다' 경고를 방지하고 광고 수익 권한을 인증하기 위해, 블로그 최상위 루트 경로(/ads.txt)에 파일을 만들고 본인의 게시자 ID를 기입합니다.

google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0

🔒 보안 팁: GitHub 공개(Public) 저장소에 pub-XXXX ID가 노출되어도 괜찮을까?
전혀 문제없습니다. 애드센스 스크립트와 ads.txt는 브라우저에서 소스 보기(F12)나 /ads.txt 접속을 통해 원래 전 세계 누구나 볼 수 있도록 설계된 공개 수취인 식별자입니다. 비밀번호나 비공개 API 키가 아니므로 퍼블릭 저장소에 그대로 커밋·푸시해도 안전합니다.


5. 보너스: 네이버 서치어드바이저 연동 및 RSS 오류 해결

한국어로 작성된 기술·인문학 포스트는 네이버 검색 유입 비중도 높으므로 네이버 서치어드바이저도 함께 등록해 두는 것이 좋습니다.

① 네이버 소유확인 코드 등록 (_config.yml)

# _config.yml
naver_site_verification: "네이버에서_발급받은_코드"

② '사이트맵/RSS 형식이 올바르지 않습니다' 오류 해결 (rss.xml 추가)

네이버 서치어드바이저의 RSS 제출 메뉴에 Jekyll 기본 피드인 feed.xml을 제출하면 형식 오류가 발생합니다.

  • 원인: jekyll-feed 플러그인이 생성하는 feed.xml은 Atom 1.0 규격(<feed>)인 반면, 네이버 서치어드바이저는 오직 RSS 2.0 규격(<rss version="2.0">)만 허용하기 때문입니다.
  • 해결: 루트 경로에 RSS 2.0 규격을 따르는 /rss.xml 파일을 생성하여 배포한 뒤, 네이버 서치어드바이저에 https://<username>.github.io/rss.xml을 제출하면 정상 등록됩니다.

6. 마무리: 세 가지 도구를 하나로 묶어 관리하는 팁

처음 세팅할 때는 서치 콘솔, 애널리틱스, 애드센스를 각각 설정해야 하지만, 설정이 끝난 뒤에는 Google Analytics(GA4)의 [관리] > [제품 링크] 메뉴에서 Search Console 링크와 AdSense 링크를 연결해 두세요.

이렇게 연동해 두면 매번 세 사이트를 돌아다닐 필요 없이, 애널리틱스 대시보드 한곳에서 “어떤 검색어로 들어와서(서치 콘솔) → 어떤 글을 읽고(애널리틱스) → 얼마의 수익을 냈는지(애드센스)” 통합하여 확인할 수 있습니다.

댓글남기기