- 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>
112 lines
9.5 KiB
Markdown
112 lines
9.5 KiB
Markdown
# 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(61–80) · C(41–60) · 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 | A1–A5, A7, B1, B4, B6, B7, C2(탐지), C3, C5, C6, F1–F4 | 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, E1–E4 | 오너 계정 접근 또는 담당자 확인 → 입력 슬롯 |
|
||
|
||
## 하지 않을 것 (리포트에 항상 명시)
|
||
|
||
- 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 덱·문서 일괄 교정 완료).
|