Summary
블로그를 검색 엔진에 노출시키기 위한 완벽 가이드다. Google Search Console 등록, robots.txt 설정, sitemap 제출, 그리고 개별 포스트의 검색 노출 방법까지 단계별로 설명한다.
1단계: Google Search Console 등록
Google Console에 등록하기
-
URL 접두어 방식으로 블로그 URL 입력
도메인 vs URL 접두어 속성의 차이점:
-
소유권 확인 방법 선택
다음과 같은 화면이 나타나면 여러 확인 방법 중 하나를 선택한다:
Important
소유권 확인은 필수 단계다. 아래 방법 중 가장 쉬운 것을 선택하자.
방법 1: HTML 파일 업로드 (추천)
가장 쉬운 방법
Quartz 프로젝트에서는 이 방법이 가장 간단하다.
- Google에서 제공하는 HTML 파일 다운로드
- 파일을
content/
폴더 루트에 복사 - 사이트 빌드 후 배포
- Google Search Console에서 “확인” 클릭
방법 2: HTML 태그 추가
테마 수정 필요
Quartz 테마 파일을 직접 수정해야 한다.
- Google Search Console에서 제공하는 메타 태그 복사
quartz/components/Head.tsx
파일을 열고</head>
태그 직전에 추가:{/* Google Search Console verification */} <meta name="google-site-verification" content="YOUR_VERIFICATION_CODE_HERE" />
- 사이트 빌드 후 배포
방법 3: Google Analytics 연결 (추천)
가장 간단한 해결책
Google Analytics가 이미 설정되어 있다면 자동으로 확인된다.
현재 quartz.config.ts
에 Google Analytics가 설정되어 있으므로 이 방법을 사용하자:
analytics: {
provider: "google",
tagId: "G-XZB0EYZF1G",
}
Google Analytics 방법 사용하기
- Google Search Console → 소유권 확인 페이지
- “Google Analytics” 방법 선택
- 자동으로 확인됨 (같은 Google 계정 사용 시)
-
등록 완료 확인
소유권 확인이 완료되면 다음과 같은 화면을 볼 수 있다:
등록 완료!
이제 Google Search Console 대시보드에 접근할 수 있다.
소유권 확인 성공!
HTML 태그 방법으로 소유권 확인이 완료되었다.
<meta name="google-site-verification" content="YOUR_VERIFICATION_CODE_HERE" />
주의사항: 소유권을 유지하려면 메타 태그를 삭제하지 말자. 여러 확인 방법을 추가해두는 것도 좋다.
2단계: 기본 SEO 설정
robots.txt 설정
Quartz에서 robots.txt 설정
Quartz에서는 정적 파일을
content/
폴더 루트에 넣어야 한다. 이렇게 하면 사이트 루트(/)에 자동으로 복사된다.
content/robots.txt
파일을 생성한다:
User-agent: *
Allow: /
# Sitemap location
Sitemap: https://syshin0116.github.io/sitemap.xml
# Block directories that shouldn't be crawled
Disallow: /private/
Disallow: /.obsidian/
Disallow: /.git/
Disallow: /.github/
Disallow: /node_modules/
Disallow: /.quartz-cache/
Disallow: /templates/
Disallow: /.cursor/
Disallow: /quartz/
Disallow: /static/fonts/
Disallow: /static/js/
Disallow: /static/css/
robots.txt 설정 완료
파일을
content/
폴더에 생성했다. 배포 후https://syshin0116.github.io/robots.txt
에서 확인할 수 있다.
robots.txt 확인사항
설정 후 Google Search Console에서 정상 작동하는지 확인해야 한다:
- Google Search Console → 설정 → **robots.txt
- 상태 확인:
- Status: Fetched
- Checked on: 5/24/25, 3:12 PM
- File:
https://syshin0116.github.io/robots.txt
robots.txt 성공적으로 설정됨!
Google이 robots.txt 파일을 정상적으로 가져오고 있다. 이제 검색 엔진이 사이트 크롤링 규칙을 올바르게 인식한다.
Sitemap 제출
- Google Search Console → 색인 → Sitemaps
- 새 사이트맵 추가:
https://syshin0116.github.io/sitemap.xml
- 제출 후 상태 확인
3단계: 개별 포스트 검색 노출 해결
주요 문제
블로그는 검색되지만 개별 글들이 검색되지 않는 경우
문제 원인 분석
- 메타데이터 부족: 제목, 설명, 태그 누락
- URL 인덱싱 지연: 새 글의 크롤링 대기 상태
- 내부 링크 부족: 다른 글들과의 연결성 부족
- 콘텐츠 품질: 검색 엔진이 가치 있다고 판단하지 않는 내용
해결 방법
A. 메타데이터 최적화
각 포스트의 프론트매터에 다음 정보를 포함한다:
---
title: "구체적이고 검색 가능한 제목"
date: 2025-01-15
tags:
- 주요키워드1
- 주요키워드2
- 관련키워드
draft: false
description: "150자 이내의 명확한 설명으로 검색 결과에서 보여질 내용"
---
B. URL 수동 검사 및 색인 요청
- Google Search Console → URL 검사
- 검색되지 않는 포스트 URL 입력
- “색인 생성 요청” 클릭
C. 내부 링크 구조 개선
- 관련 포스트 간 상호 링크
- 카테고리/태그 페이지 활용
- 사이트맵에 모든 포스트 포함 확인
4단계: 검색 성능 모니터링
성과 추적 방법
-
Google Search Console
- 실적 → 검색 결과
- 클릭수, 노출수, CTR, 평균 게재순위 확인
Info
위 예시에서는 166번의 클릭과 8개의 인덱싱된 페이지를 확인할 수 있다. 55개의 페이지가 아직 인덱싱되지 않은 상태이므로 개별 URL 검사를 통해 색인 생성을 요청해보자.
-
개별 URL 상태 확인
- 색인 생성 → 페이지
- 각 페이지의 색인 상태 모니터링
-
검색 쿼리 분석
- 어떤 키워드로 노출되는지 확인
- 성과 좋은 키워드 중심으로 콘텐츠 최적화
5단계: 추가 최적화 팁
콘텐츠 SEO
- 제목: H1 태그에 주요 키워드 포함
- 본문: 자연스럽게 관련 키워드 분산
- 이미지: alt 텍스트 설정
- 내부 링크: 관련 포스트 연결
기술적 SEO
- 페이지 로딩 속도 최적화
- 모바일 친화성 확인
- URL 구조 명확하게 설정
- 메타 태그 완성도 높이기
검색 노출 시간
새로운 포스트가 검색에 노출되기까지는 보통 1-4주 정도 소요된다. 인내심을 갖고 꾸준히 양질의 콘텐츠를 발행하는 것이 중요하다.