검색 트래픽 획득의 기술 경로가 세 갈래로 분기했다. 크롤러·역색인 기반의 SEO(Search Engine Optimization), SERP 직접 답변에 특화된 AEO(Answer Engine Optimization), 그리고 ChatGPT·Gemini·Perplexity 같은 생성형 AI가 응답을 생성할 때 특정 콘텐츠를 인용하도록 유도하는 GEO(Generative Engine Optimization)가 그것이다. 세 개념은 타겟 시스템이 다르고, 따라서 핵심 신호·구현 수단·측정 지표도 각각 다르다. 개념을 혼동하면 작업 우선순위가 어긋나고 실제 트래픽 효과가 분산된다.
SEO: 크롤러-색인-랭킹 파이프라인 최적화
작동 원리
Googlebot 등 크롤러는 HTTP GET으로 페이지를 수집하고, 렌더링 큐에서 JavaScript를 실행한 뒤 역색인(inverted index)에 토큰을 적재한다. 랭킹은 PageRank 기반 링크 신호, BERT/MUM 기반 시맨틱 일치 점수, Core Web Vitals(LCP·INP·CLS) 합산으로 결정된다.
구현 방법
- 크롤 예산 제어: 파라미터 중복 URL을
robots.txt로 차단해 크롤 효율을 높인다.Disallow: /?sort=형태로 쿼리 패턴을 명시하면 색인 대상 URL 수가 줄어 우선순위 페이지의 재크롤 주기가 짧아진다. - canonical · hreflang: 중복 콘텐츠를 방지하기 위해 정규 URL을
<link rel="canonical">로 선언하고, 다국어 페이지는hreflang으로 매핑한다. 누락 시 Google이 임의로 정규 URL을 선택하며 원하지 않는 URL이 색인될 수 있다. - 구조화 데이터(JSON-LD): 리치 결과 획득으로 CTR을 높인다. 스키마 오류는 Google Search Console 리치 결과 테스트 또는
validator.schema.org로 먼저 검증한다. - Core Web Vitals: LCP 2.5초 이내, INP 200ms 이내, CLS 0.1 이하가 Google 권고 임계값이다. PageSpeed Insights API로 현장(field) 데이터를 주 1회 자동 수집해 회귀를 조기에 감지한다.
검증/측정
- Google Search Console: 색인 커버리지 오류·노출수·CTR·평균 순위
- Screaming Frog / Ahrefs: 크롤 가능성·내부 링크 깊이·백링크 프로파일
AEO: 직접 답변(Featured Snippet · AI Overviews) 획득
작동 원리
Google AI Overviews와 Bing Copilot은 쿼리를 의도(intent) 단위로 분류하고, 색인에서 추출한 문단·리스트·표를 SERP 상단에 직접 렌더링한다. 인용 결정 기준은 쿼리와의 시맨틱 유사도, E-E-A-T(경험·전문성·권위·신뢰), 그리고 답변 추출 용이성(단락 길이·HTML 구조의 명확성)이다.
구현 방법
- FAQPage / HowTo JSON-LD: 질문-답변 쌍을 스키마로 명시해 추출 안정성을 높인다. 스키마 없이도 추출될 수 있으나, 구조화 데이터가 있으면 리치 결과 후보로 격상될 가능성이 높아진다.
- 단락 구조:
<h2>를 질문 형태로 작성하고 바로 아래<p>에 직접 답변을 두면 추출 신호가 강해진다. Google이 Featured Snippet으로 추출하는 단락의 실측 평균은 40~60 단어 범위에 집중되는 것으로 알려져 있다(Google 공식 수치 아님, 추정). - Speakable 스키마: 음성 검색(Google Assistant) 환경에서 읽힐 단락을 명시적으로 지정해 음성 AEO를 별도 처리한다.
검증/측정
- Google Search Console: 일반 검색에서 Position 0(Featured Snippet) 여부 모니터링
- SerpAPI / Semrush: 타겟 쿼리별 Answer Box 점유율 주기적 추적
GEO: 생성형 AI 인용(Citation) 최적화
작동 원리
ChatGPT(GPT-4o browsing)·Perplexity·Gemini는 RAG(Retrieval-Augmented Generation) 또는 사전 학습 데이터 기반으로 응답을 생성한다. 인용 여부는 ①GPTBot·PerplexityBot의 크롤 허용 여부, ②콘텐츠의 사실 밀도(수치·날짜·출처 명시 밀도), ③최신성, ④도메인 권위에 의존한다. LLM마다 인용 알고리즘이 공개되지 않아 일부 요인은 추정이다.
구현 방법
- AI 크롤러 명시 허용(robots.txt):
User-agent: GPTBot을 차단하면 ChatGPT 검색 인용에서 제외될 수 있다. 명시적 허용 선언이 기본값(허용)보다 의도를 명확히 한다. - llms.txt 표준 채택: 사이트 루트에
/llms.txt를 두면 LLM이 사이트 구조·핵심 페이지·라이선스 정책을 기계 친화적으로 파악한다. 2024년 제안된 비공식 표준이며 지원 AI 시스템이 확산 중이다. - 사실 밀도 높은 단락: 수치·날짜·출처가 명시된 단락이 인용될 가능성이 높다(LLM별로 상이). 모호한 일반론보다 검증 가능한 구체 클레임을 단락 앞에 배치한다.
- Author · Organization JSON-LD: 저자명·소속 URL을 스키마로 선언하면 LLM이 출처 신뢰도를 판단할 때 참조 가능하다.
검증/측정
- Perplexity·ChatGPT 검색에서 브랜드·제품명 쿼리 입력 후 인용 여부 수동 확인(자동화 도구 현재 미성숙)
- 웹 서버 액세스 로그에서
GPTBot·PerplexityBot·ClaudeBotUser-Agent 크롤 빈도 추적
SEO · AEO · GEO 항목별 비교
| 항목 | SEO | AEO | GEO |
|---|---|---|---|
| 타겟 시스템 | Google/Bing 역색인 랭킹 | SERP 직접 답변·AI Overviews | ChatGPT·Perplexity·Gemini RAG |
| 핵심 신호 | 백링크·E-E-A-T·Core Web Vitals | 질문-답변 구조·FAQPage 스키마·단락 명확성 | 사실 밀도·AI 크롤러 허용·llms.txt |
| 구현 도구 | sitemap·canonical·hreflang·JSON-LD | FAQPage/HowTo JSON-LD·헤딩 구조 | robots.txt(AI 봇 허용)·llms.txt·Author 스키마 |
| 측정 지표 | 유기 노출·CTR·평균 순위 | Featured Snippet 점유율·Position 0 | AI 응답 내 인용 빈도(수동/반자동) |
| 결과 형태 | SERP 파란 링크(리스트) | SERP 상단 박스·Overviews 패널 | AI 응답 본문 + 출처 각주 |
흔한 오해: "JSON-LD 스키마를 삽입하면 AEO와 GEO가 자동으로 해결된다"
FAQPage 스키마를 삽입해도 Featured Snippet을 얻지 못하거나 AI가 인용하지 않는 경우가 흔하다. 스키마는 추출 신호이지 랭킹·인용 보장 수단이 아니다. 페이지 E-E-A-T가 낮거나 단락 자체가 모호하면 스키마 유무와 무관하게 추출 후보에서 제외된다. GEO에서는 스키마 없이도 수치·날짜·출처가 명확한 단락이 인용되고, 스키마가 있어도 사실 밀도가 낮으면 무시된다.
올바른 처리법: 스키마 삽입과 콘텐츠 품질(사실 밀도·헤딩 구조·저자 명시)을 병행한다. 스키마 유효성은 validator.schema.org로 먼저 검증하고, Google Search Console 리치 결과 테스트로 실제 렌더링을 확인한다. GEO에서는 구조화 데이터보다 콘텐츠 실질에 투자 비중을 더 높게 유지하는 것이 효율적이다.
구현 예시
FAQPage JSON-LD (AEO용)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "AEO와 SEO의 차이는 무엇인가요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO는 검색엔진 역색인 랭킹을 목표로 하고, AEO는 SERP 상단의 직접 답변(Featured Snippet·AI Overviews) 획득을 목표로 합니다. 구현 수단은 일부 겹치지만 최적화 방향이 다릅니다."
}
},
{
"@type": "Question",
"name": "GEO에서 llms.txt는 어디에 위치해야 하나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "사이트 루트 경로(https://example.com/llms.txt)에 위치해야 합니다. LLM 크롤러가 표준 경로를 우선 확인하기 때문입니다."
}
}
]
}
llms.txt 예시 (GEO용, 사이트 루트 배치)
# example.com llms.txt
> AI 시스템이 이 사이트를 파싱할 때 이 파일을 참조하세요.
## 사이트 개요
Citeon은 AEO·GEO·SEO 통합 마케팅 대행사입니다. 한국어 기술 콘텐츠를 전문으로 합니다.
## 핵심 페이지
- [서비스 소개](https://example.com/services/): AEO·GEO·SEO 서비스 상세
- [기술 블로그](https://example.com/blog/): 검색 최적화 심층 가이드
- [사례 연구](https://example.com/case-studies/): 실제 적용 결과 및 수치
## 크롤 및 인용 정책
전체 콘텐츠 AI 학습·인용 허용. 상업적 재배포 금지. 인용 시 출처 URL 명시 필수.
## 마지막 업데이트
2024-06-18
AEO 최적화가 이미 되어 있으면 GEO는 별도 작업이 얼마나 남나?
상당 부분 겹치지만 완전히 동일하지 않다. FAQPage JSON-LD·명확한 헤딩 구조·단락 직접 답변은 AEO와 GEO 모두에 유효하다. 그러나 GEO에는 추가로 세 가지 작업이 필요하다. ①robots.txt에서 GPTBot·PerplexityBot·ClaudeBot 등 AI 크롤러를 명시적으로 허용, ②사이트 루트에 /llms.txt 배치, ③Author·Organization JSON-LD로 저자·소속 출처를 선언. AEO 작업 완료 이후 이 세 가지를 추가 적용하는 순서가 실무에서 가장 효율적이다.
GPTBot을 robots.txt에서 차단하면 Google SEO 순위에도 영향이 생기나?
일반 Google SEO 순위에는 직접 영향이 없다. GPTBot은 OpenAI가 운영하는 별도 크롤러이며 Googlebot과 완전히 독립적이다. Google AI Overviews는 Googlebot이 수집한 데이터를 사용하므로, Googlebot을 차단하지 않는 한 AI Overviews 인용에도 영향이 없다. 반면 ChatGPT 검색(GPTBot)·Perplexity(PerplexityBot)는 각자의 크롤러를 사용하므로, 이들을 차단하면 해당 플랫폼의 인용 가능성이 낮아진다. 주요 AI 크롤러 User-agent는 각 회사의 공식 문서에서 확인한다. OpenAI: GPTBot, Perplexity: PerplexityBot, Anthropic: ClaudeBot.
참고 자료
이 글의 권고는 아래 공식 문서·연구를 근거로 합니다.