o2o-infinith-demo/docs/AEO_GEO_RUBRIC.md
Haewon Kam 76ec63bc1e feat(discovery): 기준표 v2.0 정식 채택 — 배지·헤더·랜딩 카피·비교 엑셀·덱 v2.0
- aeoGeoRubricV2 status active/2.0, 결과 rubricVersion 2.0. 리포트 헤더는 AEO·GEO 링 2개가 주, v1.0 종합은 보조 표기
- 랜딩: Hero 카피, ABMR 칩(AEO/GEO 목표), SampleReport(두 링 + 축별 8항목 바), Roadmap 제목, HowItWorks를 v2 계산값에서 파생. 발견 칩 수치 v1.1 스냅샷으로 정정
- 비교 엑셀 v2: scripts/build_supporters_v2_compare.ts(점수 계산 TS 단일 원본) → build_supporters_audit_v2_xlsx.py. 공식 AEO 42/GEO 56 · 서포터즈 noindex 상한 40(G1) · 색인 허용 AEO 94/GEO 77
- 덱 v2.0: build_viewclinic_deck_v2_0.py (17장, 표지 배지 v2.0, KPI AEO/GEO, 스코어카드 2장, Method v2.0) + 표준캔버스 + PDF. v1.0·v1.1 파일은 그대로
- docs/AEO_GEO_RUBRIC.md에 v2.0 채택 주석, AEO_GEO_RUBRIC_v2.md 재생성, 리포트 페이지 PDF 재출력

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 15:25:00 +09:00

112 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# INFINITH AI Discovery AEO/GEO 채점 기준표 v1.0
> **2026-09-07 갱신:** 제품 점수는 v2.0(AEO 답변 준비도 100 · GEO 출처 준비도 100, `docs/AEO_GEO_RUBRIC_v2.md`)으로 바뀌었다. 이 문서의 36항목은 v2.0의 **실측 신호**로 그대로 쓰이며, v1.0 종합 100점은 리포트에 보조 표기로만 남는다.
> 코드 원본: `src/data/aeoGeoRubric.ts` · 타입: `src/types/discovery.ts` · 집계: `src/lib/discoveryScore.ts`
> 리포트 페이지: `/discovery/:id` (`src/pages/DiscoveryReportPage.tsx`)
> 근거 기반: ado2-aeo-geo 스킬 (2026-08-26 한국 실측 · Princeton GEO KDD 2024 · C-SEO Bench NeurIPS 2025)
## 채점 방식
- 항목마다 **level 0~3** (없음/치명 · 미흡 · 양호 · 우수) → `weight × level/3`
- **미검증(unverified)** 항목은 0점이 아니라 **분모에서 제외**한다. 확인 못 한 것을 감점하면 점수가 거짓이 된다.
- 전체 점수 = 검증 항목 획득 / 검증 항목 배점 × 100
- 등급: A(81+) · B(6180) · C(4160) · D(≤40). ScoreRing 색 임계값과 동일
- 항목마다 **근거 등급**(실측/학술/벤더/추정) · **통제 가능성**(직접/영향/불가) · **채점 방식**(자동/반자동/수동)을 명시한다.
## 배점 철학
| 원칙 | 반영 |
|---|---|
| "차단되면 절대 인용될 수 없다"는 논쟁의 여지가 없다 | A 접근성 20 · B 엔티티 20. 크롤러 접근에 무게 |
| GEO 콘텐츠 전술의 효과는 학술적으로 논쟁 중 | C 콘텐츠 25. 배점은 크지만 "좋은 콘텐츠 원칙"으로만 설명. "X% 올려드립니다" 금지 |
| 병의원 AI 인용은 강남언니(`ai-input=yes`) 등 버티컬이 100% 장악 (실측) | D1 강남언니 6점. 단일 항목 최고 배점 |
| 네이버 자산은 글로벌 AI에 기여도 0 (robots.txt 전면 차단) | D5 네이버 플레이스는 2점, "AI 브리핑 전용"으로 한정 |
| llms.txt는 위약 (Google 효과 0, 채택률 0.13%) | 항목에서 **제외** |
| 개선을 증명 못 하면 상품이 아니다 | E 측정 인프라 10 |
## 카테고리 (100점)
| 코드 | 카테고리 | 배점 | 무엇을 보나 |
|---|---|---|---|
| A | AI 크롤러 접근성 | 20 | 검색봇 허용(학습봇과 구분) · CDN 차단 · SSR · HTTPS · sitemap · Bing 색인 · 속도 |
| B | 엔티티 식별·구조화 | 20 | JSON-LD 유효성 · MedicalClinic · Physician · NAP 일관성 · sameAs · canonical · hreflang |
| C | 답변 인용 가능 콘텐츠 | 25 | 정의문 · FAQ · 제목 계층 · 구체 수치 · 표 · 신선도 · 의료진 E-E-A-T · 패시지 자기완결성 |
| D | AI 인용 표면 확보 | 20 | 강남언니 · GBP · 오픈웹 언급 · 표면 간 NAP · 네이버 플레이스 · Wikidata |
| E | AI 가시성 측정 인프라 | 10 | 크롤러 로그(IP 검증) · GA4 AI 채널 · GSC AIO · 기준선 스팟체크 |
| F | 기술 위생 | 5 | 이미지 alt · CMS 최신성 · 페이지 무게 · 모바일 |
## 항목 목록
| ID | 항목 | 배점 | 근거 | 통제 | 채점 | 3점 기준 |
|---|---|---|---|---|---|---|
| A1 | 검색용 AI 봇 허용 | 5 | 실측 | 직접 | 자동 | 검색봇 전부 허용 + 200 응답 |
| A2 | CDN/WAF AI 차단 없음 | 3 | 실측 | 직접 | 자동 | CDN 차단 없음 확인 |
| A3 | 서버 렌더링 본문 | 3 | 실측 | 직접 | 자동 | JS 미실행 텍스트 80% 이상 |
| A4 | HTTPS·리다이렉트 정합 | 2 | 실측 | 직접 | 자동 | 전부 301로 정본 수렴 |
| A5 | sitemap.xml 제공 | 3 | 실측 | 직접 | 자동 | 선언·200·lastmod 최신 |
| A6 | Bing 색인 (ChatGPT 경로) | 3 | 벤더 | 직접 | 수동 | 색인 + IndexNow |
| A7 | 응답 속도·크롤 예산 | 1 | 추정 | 직접 | 자동 | TTFB < 0.5s, HTML < 300KB |
| B1 | JSON-LD 문법 유효성 | 3 | 실측 | 직접 | 자동 | 전부 유효 + @graph 연결 |
| B2 | 업종 엔티티 스키마 (MedicalClinic / LegalService) | 5 | 학술 | 직접 | 자동 | + openingHours·medicalSpecialty·geo |
| B3 | 전문가 스키마 (Physician / Attorney) | 3 | 학술 | 직접 | 자동 | 자격·소속·sameAs 포함 |
| B4 | NAP 사이트 일관성 | 3 | 실측 | 직접 | 자동 | 단일 표기 |
| B5 | sameAs 연결 | 2 | 학술 | 직접 | 자동 | 5개 이상 (SNS+버티컬+지도) |
| B6 | canonical·중복 제거 | 2 | 실측 | 직접 | 자동 | 있음 + 파라미터 정리 |
| B7 | 다국어 hreflang | 2 | 벤더 | 직접 | 자동 | 3개 이상 연결 |
| C1 | 정의문형 문단 | 4 | 학술 | 직접 | 반자동 | 핵심 페이지 정의문 |
| C2 | FAQ 섹션 | 4 | 학술 | 직접 | 자동 | FAQ + FAQPage 스키마 + 시술별 |
| C3 | 제목 계층 의미성 | 3 | 실측 | 직접 | 자동 | H1 1개 서술형, H2 논리 계층 |
| C4 | 구체 수치 (가격·시간·회복) | 4 | 학술 | 직접 | 반자동 | 시술별 가격대·시간·회복 표기 |
| C5 | ·비교 구조 | 2 | 벤더 | 직접 | 자동 | HTML 다수 |
| C6 | 신선도 신호 | 3 | 학술 | 직접 | 자동 | 3개월 이내 + dateModified |
| C7 | 전문가 E-E-A-T (의료진 / 변호사) | 3 | 학술 | 직접 | 반자동 | + 논문·학회·수상 + Physician 스키마 |
| C8 | 패시지 자기완결성 | 2 | 학술 | 직접 | 수동 | 80% 이상 |
| D1 | 업종 버티컬 프로필 (강남언니 / 로톡) | 6 | 실측 | 직접 | 수동 | + 의료진·가격 갱신 3개월 이내 |
| D2 | Google 비즈니스 프로필 | 4 | 실측 | 직접 | 수동 | 소유·리뷰 응답·게시물 활성 |
| D3 | 오픈웹 언급 | 4 | 학술 | 영향 | 반자동 | 다수 오픈 도메인 일관 언급 |
| D4 | 표면 NAP 완전 일치 | 3 | 실측 | 직접 | 수동 | 완전 일치 |
| D5 | 네이버 플레이스 (AI 브리핑) | 2 | 실측 | 직접 | 반자동 | 연결·리뷰·소식 활성 |
| D6 | Wikidata/위키백과 | 1 | 추정 | 영향 | 자동 | 항목 + 공식 사이트 연결 |
| E1 | AI 크롤러 로그 (IP 검증) | 3 | 실측 | 직접 | 수동 | IP 검증 히트 집계 |
| E2 | GA4 AI 유입 채널 | 3 | 실측 | 직접 | 수동 | 커스텀 채널 (Perplexity 포함) |
| E3 | GSC AI Overviews | 2 | 벤더 | 직접 | 수동 | 월간 추적 |
| E4 | 기준선 스팟체크 | 2 | 학술 | 직접 | 수동 | 분기 반복 측정 |
| F1 | 이미지 대체텍스트 | 2 | 실측 | 직접 | 자동 | 5% 미만 누락 |
| F2 | CMS 보안·최신성 | 1 | 추정 | 직접 | 자동 | 최신 |
| F3 | 페이지 무게 | 1 | 추정 | 직접 | 자동 | < 300KB |
| F4 | 모바일 대응 | 1 | 실측 | 직접 | 자동 | 반응형 + CWV 양호 |
항목의 level 0~2 라벨과 `howToCheck`(자동화 구현 스펙) `aeoGeoRubric.ts` 있다.
## 자동화 로드맵 (Edge Function `discover-aeo-geo`)
| 단계 | 자동 채점 가능 항목 | 도구 |
|---|---|---|
| 1 | A1A5, A7, B1, B4, B6, B7, C2(탐지), C3, C5, C6, F1F4 | robots 파싱 + curl UA 테스트 + HTML 파서 (crawler_audit.py 로직 이식) |
| 2 | B2, B3, C1, C4, C7, C8 | Perplexity/Claude에 HTML 텍스트 투입 구조화 판정 |
| 3 | D3, D6 | 검색 그라운딩 도메인 집계, Wikidata API |
| 수동 | A6, D1, D2, D4, E1E4 | 오너 계정 접근 또는 담당자 확인 입력 슬롯 |
## 하지 않을 것 (리포트에 항상 명시)
- llms.txt 납품 · "스키마 넣으면 인용됩니다" · 단발 조회 순위 보고 · 답변엔진 UI 자동 조회(약관 위반) · 네이버 블로그 증량(글로벌 AI 기여도 0)
## v1.1 개선 과제 (2026-09-01 · Question Bank 120문항 실측 검증에서 도출)
뷰성형외과 잠재 환자 질문 120개를 OpenAI 웹검색 API(gpt-4o + web_search, 서울 고정) Perplexity API(sonar) 실측해 기준표 기반 사전판정을 채점했다. 데이터: `docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Results_Combined.md`, raw `scripts/out/qb_{openai,perplexity}_results.jsonl`, 러너 `scripts/run_question_bank_openai.py`.
**검증 요약**
- 논브랜드(병원명 미포함) 판정 73문항: Perplexity 언급 0건, ChatGPT 5건. 시술 정보 질문 52문항은 엔진 모두 0건. 핵심 인과(콘텐츠 부재 논브랜드 미인용) 적중.
- 브랜드 판정 7문항: 전부 오판. 뉴스 기사·채용공고·바비톡·네이버 예약 정보를 근거로 엔진 정답(개원연도·주차·휴진·렛미인).
- ChatGPT 추천 질문 5건: 갱신이 멈춘 blog.viewclinic.com과 순위 집계 사이트를 근거로 뷰를 2~5위에 배치. Perplexity는 0건으로 엔진별 근거 표면이 다름.
**과제**
1. **실측 대상에 서브도메인 포함.** 현재 진단은 메인 + 시술 2개 URL 기준. 실제 인용은 blog.viewclinic.com에서 나왔다. C군 콘텐츠·C6 신선도 판정에 블로그 서브도메인을 넣는다.
2. **D3 오픈웹 언급의 실측 범위 확대.** 강남언니·GBP 중심에서 바비톡, 뉴스 도메인(보건뉴스·머니투데이 ), 순위 집계 사이트, 채용공고까지. AI가 실제로 인용한 도메인 목록을 판정 근거로 쓴다.
3. **엔진별 표면 차이 명시.** ChatGPT는 블로그·집계 사이트를, Perplexity는 다른 소스 프로필을 인용한다. 판정을 엔진 공통 단일값이 아니라 엔진별로 나눌지 검토.
4. **사전판정에 브랜드/논브랜드 축 추가.** 브랜드 질문은 제3자 표면만으로 언급이 성립하므로 "인용 불가" 판정은 논브랜드 전용으로 좁힌다.
5. **점수 표기 정합성.** scoreDiscovery 계산값은 50/C(44.1/89, 검증 32/36)인데 재채점 커밋 메시지가 49로 기록됐다. 산출물 숫자는 항상 계산값을 따른다 (2026-09-01 ·문서 일괄 교정 완료).