Perplexity AI와 ChatGPT Search는 모두 RAG(Retrieval-Augmented Generation) 파이프라인으로 작동한다. 쿼리를 받으면 검색 인덱스에서 후보 문서를 추출하고, 재순위화 단계를 거쳐 LLM 컨텍스트 창에 삽입한 뒤 응답을 생성하면서 출처를 선택한다. 이 흐름에서 인용을 결정하는 신호는 전통 PageRank 기반 SEO와 구조적으로 다르다. 크롤 허용 정책, 콘텐츠 시맨틱 밀도, 사실적 정밀도, 사전학습 코퍼스 노출 빈도가 복합 작용하며, 이 구조를 이해하지 않으면 SEO 상위 도메인이 AI 응답에서 배제되는 역설이 발생한다.
인용 파이프라인의 3단계 구조
1단계: 검색 인덱스 진입
- PerplexityBot 허용 여부 — robots.txt에서 차단하면 Perplexity 자체 인덱스에서 제외된다. Bing 인덱스 경유 쿼리도 처리하지만, 자체 크롤 문서가 더 높은 재현율을 보이는 경향이 있다(추정).
어떻게:User-agent: PerplexityBot / Allow: /를 robots.txt에 명시한다. - OAI-SearchBot 분리 처리 — ChatGPT Search가 실시간 검색에 사용하는 크롤러다. 학습용 GPTBot과 별개로 동작하므로 정책을 구분해야 한다.
왜: GPTBot은 학습 데이터 수집용이고 OAI-SearchBot은 응답 생성 시 실시간 retrieval용이므로 허용 범위가 다를 수 있다. - BingBot 크롤 가능성 확보 — Perplexity와 ChatGPT 모두 Bing Search API를 보조 레이어로 활용한다. BingBot이 차단되어 있으면 AI 도달 범위 자체가 좁아진다.
2단계: 재순위화(Re-ranking)
- 쿼리-문서 시맨틱 유사도 — 임베딩 벡터 간 코사인 유사도로 스코어링한다. PageRank가 아니라 콘텐츠의 주제 밀도가 직접 기준이 된다.
왜: dense retriever(bi-encoder 계열)는 링크 그래프를 참조하지 않는다. - 사실적 밀도(Factual Density) — GEO 논문(Aggarwal et al., arXiv:2311.09735)에서 구체적 수치와 통계를 포함한 콘텐츠가 그렇지 않은 콘텐츠 대비 생성엔진 인용 빈도에서 유의미하게 높은 점수를 보였다.
어떻게: "약", "대략" 같은 모호한 수식어를 출처 있는 구체 수치로 교체한다. - 콘텐츠 신선도 — JSON-LD
dateModified필드가 크롤러에게 명시적 신호를 전달한다. 발행일만 있고 수정일이 없는 페이지는 오래된 문서로 간주될 수 있다.
어떻게:<meta name="last-modified">와 JSON-LDdateModified를 함께 기입한다.
3단계: LLM 생성 시 어텐션
- 사전학습 코퍼스 노출 빈도 — LLM은 학습 데이터에 많이 등장한 도메인을 생성 시 더 자주 참조하는 경향이 있다. 신규 도메인이 구조적으로 불리한 근본 이유다.
어떻게: llms.txt와 명확한 JSON-LD로 콘텐츠 범위를 기계 가독 형태로 제공하면 인덱스 품질 개선을 기대할 수 있다. - 독립 인용 가능한 문장 구조 — "X는 Y다"처럼 단독으로 추출해도 의미가 완결되는 명제형 문장이 긴 서사체보다 어텐션 가중치를 높게 받는 경향이 있다(실험적 관측, 공식 논문 미확정).
robots.txt와 llms.txt 구현
# robots.txt — AI 크롤러 분리 처리 예시
# Perplexity 자체 인용 인덱스 크롤러
User-agent: PerplexityBot
Allow: /
Crawl-delay: 2
# ChatGPT Search 실시간 검색 크롤러 (인용용)
User-agent: OAI-SearchBot
Allow: /
# ChatGPT 학습 데이터 크롤러 (별도 정책 적용 가능)
User-agent: GPTBot
Disallow: /internal/
Disallow: /drafts/
Allow: /
# Anthropic Claude
User-agent: ClaudeBot
Allow: /
# Google AI Overviews는 Googlebot으로 통합 처리됨 (별도 선언 불필요)
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
# /llms.txt — 사이트 루트에 배치
# LLM 크롤러에게 콘텐츠 목적과 범위를 선언하는 텍스트 파일
# Site: example.com
# Owner: Example Corp
# Language: ko
## Core content
- /blog/ : 엔지니어 대상 SEO/AEO/GEO 기술 분석, 주 1회 발행
- /docs/ : API 문서 및 구현 가이드
- /research/ : 자체 데이터 분석 보고서
## Topics
answer-engine-optimization, generative-engine-optimization,
structured-data, RAG-pipeline, LLM-citation
## Preferred citation format
저자명, "글 제목", example.com/blog/slug, YYYY-MM-DD
## Update cadence
blog: weekly | docs: on-release | research: monthly
JSON-LD 스키마: TechArticle 인용 신호 최적화
author·dateModified·about·citation 필드를 갖춘 TechArticle 스키마가 재순위화 단계에서 가장 직접적인 구조 신호로 작동한다.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "LLM 검색엔진 인용 패턴 분석",
"abstract": "Perplexity·ChatGPT Search의 RAG 파이프라인에서 인용 도메인이 결정되는 3단계 메커니즘과 구현 최적화 방법을 정리한다.",
"author": {
"@type": "Person",
"name": "박도현",
"jobTitle": "AEO Researcher",
"affiliation": {
"@type": "Organization",
"name": "Citeon",
"url": "https://citeon.co.kr"
}
},
"datePublished": "2026-06-18",
"dateModified": "2026-06-18",
"about": [
{"@type": "Thing", "name": "Answer Engine Optimization"},
{"@type": "Thing", "name": "Generative Engine Optimization"},
{"@type": "Thing", "name": "RAG pipeline"}
],
"citation": [
{
"@type": "ScholarlyArticle",
"name": "GEO: Generative Engine Optimization",
"url": "https://arxiv.org/abs/2311.09735",
"author": "Aggarwal et al.",
"datePublished": "2023"
}
],
"inLanguage": "ko",
"wordCount": "1500"
}
</script>
플랫폼별 인용 신호 비교
| 신호 | 전통 SEO (Google) | Perplexity AI | ChatGPT Search | Google AI Overviews |
|---|---|---|---|---|
| 링크 권위(PageRank) | 핵심 랭킹 신호 | 간접 반영 (Bing 레이어) | 간접 반영 (Bing 기반) | 반영 (Google 인덱스) |
| 콘텐츠 시맨틱 밀도 | 보조 신호 | 핵심 신호 (임베딩) | 핵심 신호 (임베딩) | 핵심 신호 |
| JSON-LD 구조화 데이터 | 리치 스니펫 활용 | 직접 신호 | 직접 신호 | 직접 신호 |
| 콘텐츠 신선도 | 뉴스 쿼리에서 중요 | 중요 (실시간 우선) | 중요 (실시간 우선) | 쿼리 유형별 상이 |
| AI 전용 크롤러 허용 | 해당 없음 | PerplexityBot 필수 | OAI-SearchBot 필수 | Googlebot으로 통합 |
| llms.txt 선언 | 무관 | 지원 추정 | 지원 추정 | 공식 미지원 |
| 사전학습 코퍼스 노출 | 무관 | 간접 영향 | 직접 영향 | 간접 영향 |
흔한 오해: "DA(Domain Authority)가 높으면 AI도 자동으로 인용한다"
Moz DA 또는 Ahrefs DR이 높은 도메인이 AI 인용에서도 자동으로 우선된다는 가정은 틀렸다. 전통 SEO의 링크 권위 지표는 Google PageRank 알고리즘을 근사한 것이며, Perplexity와 ChatGPT Search의 재순위화 모델은 링크 그래프를 직접 참조하지 않는다. Semrush의 2024년 AI Overviews 인용 분석에서 AI 인용 URL과 Google 검색 상위 10위 URL 간 중복률이 평균 38%대에 그쳤다는 보고가 있다. 즉 DA와 무관하게 선택된 인용이 다수를 차지한다.
올바른 접근: DA 제고를 목표로 자원을 집중하는 대신 (1) 쿼리와 직결된 사실 밀도 높은 콘텐츠 작성, (2) AI 크롤러 robots.txt 명시적 허용, (3) JSON-LD dateModified·author·about 필드 완비, (4) llms.txt 콘텐츠 범위 선언 — 이 네 가지가 AI 인용에 대한 직접 개입 경로다.
FAQ 1. PerplexityBot을 robots.txt에서 차단하면 Perplexity 인용이 완전히 막히나요?
완전히 막히지는 않는다. Perplexity는 자체 크롤러 외에 Bing Search API를 보조 레이어로 병용하므로, Bing 인덱스에 이미 수집된 페이지는 Bing 경유로 인용될 수 있다. 다만 자체 크롤 우선 처리 콘텐츠(최신 페이지, Bing 미수집 페이지)에서는 인용 기회가 사라진다. Bing 인덱스 업데이트 주기가 자체 크롤보다 느릴 수 있으므로, 실시간 정보성 콘텐츠를 다루는 사이트일수록 PerplexityBot 허용의 영향이 크다.
FAQ 2. JSON-LD와 llms.txt를 추가하면 얼마나 지나야 인용 변화가 측정되나요?
크롤 반영 시점은 플랫폼마다 다르다. Perplexity의 크롤 주기는 공개되어 있지 않으나 활성 사이트 기준 수일~수 주 단위로 추정된다. JSON-LD는 재순위화와 신선도 신호에 기여하는 것이지 인용을 직접 보장하지 않으므로, 측정 주기를 2~4주 단위로 잡는 것이 현실적이다. 측정 방법: Perplexity에서 브랜드명 또는 핵심 기술 용어로 동일 쿼리를 반복 실행하고, 인용에 자사 URL이 포함되는 빈도를 기록한다. API가 없으므로 현재는 수동 샘플링 또는 모니터링 서비스(예: Semrush AI Overview Tracker) 의존이 불가피하다.
참고 자료
이 글의 권고는 아래 공식 문서·연구를 근거로 합니다.