Summary

블로그를 검색 엔진에 노출시키기 위한 완벽 가이드다. Google Search Console 등록, robots.txt 설정, sitemap 제출, 그리고 개별 포스트의 검색 노출 방법까지 단계별로 설명한다.


1단계: Google Search Console 등록

Google Console에 등록하기

  1. Google Search Console 접속

  2. URL 접두어 방식으로 블로그 URL 입력

    도메인 vs URL 접두어 속성의 차이점:

  3. 소유권 확인 방법 선택

    다음과 같은 화면이 나타나면 여러 확인 방법 중 하나를 선택한다:

    Important

    소유권 확인은 필수 단계다. 아래 방법 중 가장 쉬운 것을 선택하자.

방법 1: HTML 파일 업로드 (추천)

가장 쉬운 방법

Quartz 프로젝트에서는 이 방법이 가장 간단하다.

  1. Google에서 제공하는 HTML 파일 다운로드
  2. 파일을 content/ 폴더 루트에 복사
  3. 사이트 빌드 후 배포
  4. Google Search Console에서 “확인” 클릭

방법 2: HTML 태그 추가

테마 수정 필요

Quartz 테마 파일을 직접 수정해야 한다.

  1. Google Search Console에서 제공하는 메타 태그 복사
  2. quartz/components/Head.tsx 파일을 열고 </head> 태그 직전에 추가:
    {/* Google Search Console verification */}
    <meta name="google-site-verification" content="YOUR_VERIFICATION_CODE_HERE" />
  3. 사이트 빌드 후 배포

방법 3: Google Analytics 연결 (추천)

가장 간단한 해결책

Google Analytics가 이미 설정되어 있다면 자동으로 확인된다.

현재 quartz.config.ts에 Google Analytics가 설정되어 있으므로 이 방법을 사용하자:

analytics: {
  provider: "google",
  tagId: "G-XZB0EYZF1G",
}

Google Analytics 방법 사용하기

  1. Google Search Console → 소유권 확인 페이지
  2. “Google Analytics” 방법 선택
  3. 자동으로 확인됨 (같은 Google 계정 사용 시)
  1. 등록 완료 확인

    소유권 확인이 완료되면 다음과 같은 화면을 볼 수 있다:

    등록 완료!

    이제 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에서 정상 작동하는지 확인해야 한다:

  1. Google Search Console → 설정 → **robots.txt
  2. 상태 확인:
    • Status: Fetched
    • Checked on: 5/24/25, 3:12 PM
    • File: https://syshin0116.github.io/robots.txt

robots.txt 성공적으로 설정됨!

Google이 robots.txt 파일을 정상적으로 가져오고 있다. 이제 검색 엔진이 사이트 크롤링 규칙을 올바르게 인식한다.

Sitemap 제출

  1. Google Search Console → 색인 → Sitemaps
  2. 새 사이트맵 추가: https://syshin0116.github.io/sitemap.xml
  3. 제출 후 상태 확인

3단계: 개별 포스트 검색 노출 해결

주요 문제

블로그는 검색되지만 개별 글들이 검색되지 않는 경우

문제 원인 분석

  1. 메타데이터 부족: 제목, 설명, 태그 누락
  2. URL 인덱싱 지연: 새 글의 크롤링 대기 상태
  3. 내부 링크 부족: 다른 글들과의 연결성 부족
  4. 콘텐츠 품질: 검색 엔진이 가치 있다고 판단하지 않는 내용

해결 방법

A. 메타데이터 최적화

각 포스트의 프론트매터에 다음 정보를 포함한다:

---
title: "구체적이고 검색 가능한 제목"
date: 2025-01-15
tags:
  - 주요키워드1
  - 주요키워드2
  - 관련키워드
draft: false
description: "150자 이내의 명확한 설명으로 검색 결과에서 보여질 내용"
---

B. URL 수동 검사 및 색인 요청

  1. Google Search Console → URL 검사
  2. 검색되지 않는 포스트 URL 입력
  3. “색인 생성 요청” 클릭

C. 내부 링크 구조 개선

  • 관련 포스트 간 상호 링크
  • 카테고리/태그 페이지 활용
  • 사이트맵에 모든 포스트 포함 확인

4단계: 검색 성능 모니터링

성과 추적 방법

  1. Google Search Console

    • 실적 → 검색 결과
    • 클릭수, 노출수, CTR, 평균 게재순위 확인

    Info

    위 예시에서는 166번의 클릭과 8개의 인덱싱된 페이지를 확인할 수 있다. 55개의 페이지가 아직 인덱싱되지 않은 상태이므로 개별 URL 검사를 통해 색인 생성을 요청해보자.

  2. 개별 URL 상태 확인

    • 색인 생성 → 페이지
    • 각 페이지의 색인 상태 모니터링
  3. 검색 쿼리 분석

    • 어떤 키워드로 노출되는지 확인
    • 성과 좋은 키워드 중심으로 콘텐츠 최적화

5단계: 추가 최적화 팁

콘텐츠 SEO

  • 제목: H1 태그에 주요 키워드 포함
  • 본문: 자연스럽게 관련 키워드 분산
  • 이미지: alt 텍스트 설정
  • 내부 링크: 관련 포스트 연결

기술적 SEO

  • 페이지 로딩 속도 최적화
  • 모바일 친화성 확인
  • URL 구조 명확하게 설정
  • 메타 태그 완성도 높이기

검색 노출 시간

새로운 포스트가 검색에 노출되기까지는 보통 1-4주 정도 소요된다. 인내심을 갖고 꾸준히 양질의 콘텐츠를 발행하는 것이 중요하다.

관련 문서