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

9.5 KiB
Raw Blame History

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 덱·문서 일괄 교정 완료).