---
id: wiki-2026-0508-ai-answer-engine-optimization
title: AI Answer Engine Optimization (AEO)
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [AEO, GEO, generative engine optimization, AI search SEO, citation optimization]
duplicate_of: none
source_trust_level: B
confidence_score: 0.85
verification_status: conceptual
tags: [aeo, geo, seo, llm-search, structured-data, ssr, json-ld, content-strategy]
raw_sources: []
last_reinforced: 2026-05-09
github_commit: pending
inferred_by: Claude Opus 4.7 (manual cleanup 2026-05-09)
tech_stack:
  language: HTML / JSON-LD
  framework: Next.js / Astro / SSR
---

# AI Answer Engine Optimization (AEO)

## 📌 한 줄 통찰
> **"Search 의 click → AI answer 의 citation"**. ChatGPT / Perplexity / Google AI Overviews 의 매 brand 의 source 의 selection. **SSR + JSON-LD + semantic HTML + Q&A format**.

## 📖 핵심

### 매 search engine 의 evolution
- **옛 SEO**: keyword + ranking → click.
- **AEO**: AI 의 answer 의 citation source.
- **GEO** (Generative Engine Optimization): same idea.

### 매 AI bot 의 behavior
- **GPTBot, Claude-Web, PerplexityBot**: crawl + summarize.
- **JS execution X**: cost. 매 SSR / SSG 의 essential.
- **Cite recent sources**: freshness.
- **Trust signal**: domain authority, structured data.

### Core technique

#### 1. SSR / SSG (JS Execution Wall 제거)
- 매 SPA 의 JS-only render = bot 의 invisible.
- 매 SSR (Next, Astro) = HTML 의 first paint.

#### 2. Semantic HTML
```html
<article>
  <h1>Topic</h1>
  <main>
    <p>Direct answer in first paragraph.</p>
    <h2>Question 1?</h2>
    <p>Answer.</p>
  </main>
</article>
```

#### 3. JSON-LD structured data
```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "...",
  "author": { "@type": "Person", "name": "..." },
  "datePublished": "2026-05-09",
  "mainEntity": {
    "@type": "FAQPage",
    "mainEntity": [{
      "@type": "Question",
      "name": "How to X?",
      "acceptedAnswer": { "@type": "Answer", "text": "..." }
    }]
  }
}
</script>
```

#### 4. Q&A format
- H2 = question.
- 매 H2 직후 = direct answer.
- 매 paragraph 의 self-contained.

#### 5. Direct answer in lead
- 매 first 50 word 의 answer.
- 매 inverted pyramid (journalism).

#### 6. Citation-friendly
- 매 specific number / fact.
- 매 source 의 explicit.
- 매 author 의 expertise.

#### 7. llm.txt / robots.txt control
```txt
# llm.txt (proposal)
# Allow ChatGPT, Claude, Perplexity to cite.

User-agent: *
Allow: /
```

### 매 platform 의 difference

#### Google AI Overviews (SGE)
- 매 YMYL (Your Money Your Life) 의 strict.
- 매 E-E-A-T (Experience, Expertise, Authority, Trust).
- 매 traditional SEO 의 baseline.

#### ChatGPT / Claude / Perplexity
- Real-time web search.
- 매 cite source.
- Domain trust signal.

#### Bing Chat / Copilot
- Edge integration.
- 매 enterprise 친화.

## 💻 Code

### Next.js SSR
```tsx
// app/article/[slug]/page.tsx
export default async function ArticlePage({ params }) {
  const article = await fetchArticle(params.slug);
  
  return (
    <>
      <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify({
        '@context': 'https://schema.org',
        '@type': 'Article',
        headline: article.title,
        author: { '@type': 'Person', name: article.author },
        datePublished: article.publishedAt,
      })}} />
      
      <article>
        <h1>{article.title}</h1>
        <p>{article.lead}</p>
        <main>{article.content}</main>
      </article>
    </>
  );
}
```

### FAQ 의 schema
```tsx
function FAQ({ items }: { items: { q: string; a: string }[] }) {
  return (
    <>
      <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify({
        '@context': 'https://schema.org',
        '@type': 'FAQPage',
        mainEntity: items.map(({ q, a }) => ({
          '@type': 'Question',
          name: q,
          acceptedAnswer: { '@type': 'Answer', text: a },
        })),
      })}} />
      
      <section>
        {items.map(({ q, a }) => (
          <>
            <h2>{q}</h2>
            <p>{a}</p>
          </>
        ))}
      </section>
    </>
  );
}
```

## 🤔 결정 기준

| 작업 | 추천 |
|---|---|
| Blog / docs | SSG + JSON-LD |
| 매 product page | SSR + Product schema |
| FAQ | FAQPage schema |
| 매 SPA | SSR fallback 추가 |
| 매 SaaS | E-E-A-T content |

**기본값**: SSR/SSG + JSON-LD + Q&A format + direct answer in lead.

## 🔗 Graph
- 부모: [[SEO]] · [[Generative-AI]]
- 변형: [[GEO]]

## 🤖 LLM 활용
**언제**: 매 content site 의 AI traffic 의 capture. 매 documentation site 의 visibility.
**언제 X**: 매 internal app. 매 content gating (paywalled).

## ❌ 안티패턴
- **SPA + no SSR**: bot 의 invisible.
- **JSON-LD 의 fake**: penalty.
- **Click-bait title + AI 의 misalign**: low citation rate.
- **모든 page 의 same FAQ**: spam.

## 🧪 검증 / 중복
- **Verified** (concept).
- 신뢰도 B (Search Engine Journal, Schema.org docs).
- Related: [[AI-Search-Optimization]], [[AI-Overviews-and-SGE]].

## 🕓 Changelog
| 날짜 | 변경 | 처리 | 신뢰도 |
|---|---|---|---|
| 2026-05-08 | Phase 1 정규화 | UPDATE | A |
| 2026-05-09 | Manual cleanup — code + technique + 결정 + 안티패턴 | UPDATE | B |
