SEO·GEO 최적화

매뉴얼 · docs/seo.md

한 줄 답

AI·검색이 뽑아 가기 좋은 첫 문단

SEO는 지정한 검색어로 구글 검색 결과에 페이지가 잡히게 하는 작업이고, GEO는 같은 페이지를 AI 답변의 근거로 인용되게 하는 작업입니다. 둘 다 핵심은 한 페이지에 검색어 하나, 제목과 첫 문단에 답을 쓰고, 봇이 읽을 수 있는 HTML로 두는 것입니다.

1위를 보장하지 않습니다. 읽고 인용할 수 있는 페이지를 만드는 가이드입니다.

관련: head · FAQ · docs/seo.md

SEO와 GEO

SEO와 GEO 비교
구분 뜻 목표
SEO Search Engine Optimization 지정 검색어로 검색 결과(스니펫·상단)에 노출
GEO Generative Engine Optimization AI 오버뷰·챗봇·Perplexity 등이 이 페이지를 인용

접근성 마크업(제목 계층, alt, 랜드마크, 고유 title)이 곧 크롤링·인용에 유리합니다.

1. 검색어를 페이지에 고정

페이지마다 핵심 검색어는 하나입니다. 의도가 다른 질문은 페이지를 나눕니다.

검색어 배치
위치 규칙
<title> 앞부분에 검색어 · 페이지명 | 사이트명
페이지 제목 h1 또는 이 킷 .ptitle · 페이지당 하나
meta description 검색어 + 한 줄 답 · 비우지 말 것 (없으면 태그 삭제)
본문 첫 문단 정의·결론을 2–4문장으로. 홍보는 뒤

보조 표현은 본문에서만 쓰고, title·H1을 키워드로 채우지 않습니다.

2. SEO — 검색 결과에 잡히게

수집될 주소, 고유 제목, HTML 본문이 기본입니다.

<title>웹접근성 대체 텍스트 작성법 | 기관명</title>
<meta name="description" content="이미지 alt는 사이트명이 아니라 그림이 전하는 정보를 씁니다. 장식 이미지는 alt를 비웁니다.">
<link rel="canonical" href="https://example.go.kr/guide/alt-text">
수집·중복 방지
항목 역할
HTTPS 필수
robots.txt 공개할 경로만 허용 · 관리자/내부검색은 차단 가능
sitemap.xml 공개 URL 목록 · Search Console에 제출
rel="canonical" 같은 글의 대표 URL
본문 HTML 이미지·PDF만으로 두지 않음 · 중요 문장은 JS 실행 전 DOM에
# /robots.txt
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /search

Sitemap: https://example.go.kr/sitemap.xml

viewport에 user-scalable=no / maximum-scale 금지 — head 가이드

내부 링크 앵커는 여기를 클릭 대신 목적지 이름(검색어가 들어가도 됨)

3. 구조화 데이터 (JSON-LD)

리치결과·AI 인용의 힌트입니다. 화면에 보이는 내용과 같아야 합니다. 이 페이지 head에 샘플 TechArticle이 들어 있습니다.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "웹접근성 대체 텍스트 작성법",
  "description": "이미지 alt는 그림이 전하는 정보를 씁니다.",
  "inLanguage": "ko",
  "datePublished": "2026-03-01",
  "dateModified": "2026-09-01",
  "author": { "@type": "Organization", "name": "기관명" }
}
</script>
페이지 유형별 schema.org 타입
페이지 @type
안내·매뉴얼 Article / TechArticle
자주 묻는 질문 FAQPage (화면에 같은 Q&A 필수)
조직 홈 Organization · WebSite
위치 BreadcrumbList

검증: 리치 결과 테스트 (새 창)

4. GEO — AI 답변에 인용되게

생성형 엔진은 짧은 결론과 근거를 잘라 씁니다. 질문형 제목 + 바로 아래 답.

대체 텍스트에 ‘로고’라고만 쓰면 안 되나요?

안 됩니다. 스크린리더가 기관명을 읽지 못합니다. alt에는 사이트명을 쓰고 「로고」는 넣지 않습니다.

AI가 인용하기 쉬운 본문 형태
형태 이유
2–4문장 정의 그대로 발췌
목록 절차·조건
표 + caption 비교·수치
작성·수정일 최신성. JSON-LD와 본문에 같이
고유 수치·원문 다른 사이트에 없는 근거

FAQ를 접어 두더라도 답 텍스트는 HTML에 있어야 합니다. JS로만 넣는 답은 인용에서 빠질 수 있습니다. — FAQ 가이드

AI 크롤러(GPTBot, Google-Extended, PerplexityBot 등) 허용 여부는 기관 정책입니다. 답변에 나오려면 본문 수집이 가능해야 합니다.

# 허용 예 (정책에 맞을 때만)
User-agent: GPTBot
Allow: /
User-agent: Google-Extended
Allow: /

선택: 사이트 루트 llms.txt에 마크다운 목차. 표준은 아니나 일부 AI가 참고합니다. 형식은 docs/seo.md

5. 접근성 = SEO · GEO

접근성 항목이 검색·AI에 주는 효과
접근성 검색·AI
lang="ko" 언어 인식
고유 title 스니펫·인용 제목
제목 계층 목차
alt · 캡션 이미지 이해
nav · 본문 · footer 구역 이해
링크 텍스트 앵커 문맥
표 th · caption 데이터 추출
JS 없이도 본문 렌더 전 수집

작업 순서

  1. 검색어와 질문 핵심 검색어 1개, 이용자가 던질 질문 3–5개를 적습니다.
  2. 답부터 title · 페이지 제목 · description · 첫 문단에 답을 넣습니다.
  3. 본문 구조 H2를 질문형으로 나누고 목록·표·날짜를 넣습니다.
  4. 스키마 JSON-LD를 화면 내용과 맞춰 넣습니다.
  5. 수집 canonical · sitemap · Search Console. 내부 링크와 FAQ를 잇습니다.
  6. 확인 리치 결과 테스트 · 모바일 · 실제 검색어로 미리보기.

체크리스트

  • 페이지당 핵심 검색어 1개 · title·H1·description·첫 문단에 답이 있음
  • title · description이 다른 페이지와 겹치지 않음
  • canonical · sitemap · HTTPS
  • 본문이 HTML 텍스트로 존재 (이미지·JS만 아님)
  • JSON-LD가 화면과 일치
  • 질문형 소제목 + 바로 아래 짧은 답
  • 작성일 또는 수정일이 본문에 있음
  • AI 크롤러 허용 여부를 정책으로 정함

하지 말 것

  • 숨긴 키워드, 흰 글자, display:none 본문만으로 순위 조작
  • 클로킹(이용자와 봇에 다른 HTML)
  • 구매 백링크 · 도배성 상호링크
  • 자동 생성 글만 대량 발행 · 타 기관 글 복사
  • noindex / robots 차단 후 AI 노출을 기대