docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를 Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류. - 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로 자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거, 동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거. - 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming, Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business, Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로, 나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는 title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백). 원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지. - 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서. - 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는 지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지. - Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경. - 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
This commit is contained in:
@@ -0,0 +1,209 @@
|
||||
---
|
||||
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 |
|
||||
Reference in New Issue
Block a user