x-eo

검색과 AI 답변 기준의 사이트 점검, 어느 점수가 실제인지까지 구분합니다

Claude Code 스킬 4개가 사이트 측정, 소스 수정, 다른 곳이 바뀌지 않았다는 확인을 차례로 맡습니다. 모든 항목에 증거 등급을 붙이고, 점수는 어느 엔진도 쓴다고 확인되지 않은 항목을 포함한 값과 뺀 값으로 함께 보고합니다.

실제 사이트에 실행한 audit.sh, 2026-10-07 (줄 일부 생략)
$ bash audit.sh https://one-scroll-bible.com/
== https://one-scroll-bible.com/   (geo-optimizer-skill 4.18.3)
   score 90/100 (excellent)   excluding Tier C: 68/76 = 89%
   robots=18/18, llms=16/18, schema=16/16, meta=14/14, content=12/12,
   signals=3/6, ai_discovery=6/6, brand_entity=5/10, penalty=0
   [B] Add sameAs links in Organization schema to Wikipedia, Wikidata, ...
   [C] Add RSS/Atom feed and link it in <head> ...
   [C] Add potentialAction (SearchAction) to WebSite schema ...
   [SEC] This page exposes user-generated content ('respond' region) ...

증거 등급

AI 검색 점검 도구는 세 종류의 권고를 한 목록에 섞습니다. 문서로 확인되는 크롤러 동작, 그럴듯한 관행, 주요 엔진이 읽는다는 근거가 없는 llms.txt 같은 관례입니다. Google의 AI 최적화 안내(2026-07-10 갱신)는 Google 검색이 AI용 텍스트 파일과 특수 마크업을 무시한다고 밝힙니다.

x-eo는 모든 항목에 등급을 붙입니다. Tier C 항목만으로 오른 점수는 그렇게 표시해 보고합니다.

등급뜻예처리
A검색엔진 문서로 확인되거나 직접 관찰 가능HTTP 200, 원본 HTML의 본문, canonical, hreflang, 사이트맵, 파싱되고 화면과 일치하는 JSON-LD먼저 수정
B제3자 연구나 상관관계로만 뒷받침답변형 문단, 최신성, 일관된 개체 이름과 sameAs독자에게도 도움이 될 때 적용
C사용 근거가 없는 관례llms.txt, ai.txt, /ai/*.json, WebMCP비용이 없을 때만 적용, 성과로 계산하지 않음
SEC보안 항목프롬프트 주입 경로, 노출된 비밀값실제 쓰기 경로를 확인한 뒤 보고

스킬 4개와 작업 순서

  1. x-eo-audit실제 사이트 측정
  2. x-eo-fix결과물이 아닌 소스 수정
  3. x-eo-verify빌드 비교, JSON-LD, JavaScript 켬·끔 비교
  4. 배포배포 후 실제 URL 재측정

배포 후에는 같은 도구와 버전으로 x-eo-audit부터 다시 실행합니다.

x-eo에는 세 스킬이 함께 쓰는 내용이 있습니다. 증거 등급, 정직 원칙, 보고 양식, 함정 13개, 한국 가이드(네이버, 다음, 카카오톡), claude-seo(MIT)에서 가져온 주제별 가이드 12개입니다.

스킬스크립트
x-eo-auditaudit.sh(Tier C 포함·제외 점수, CI용 --threshold), host-root-check.sh, site-sample.py, ai-recall.mjs(검색이 연결된 AI API의 내 URL 인용 집계)
x-eo-fixgen-robots.py, JSON-LD 템플릿, 하위 경로 사이트용 루트 파일, html-to-llms-full.mjs, gen-ai-files.mjs, indexnow.mjs
x-eo-verifydiff-builds.sh, jsonld-lint.py, render-diff.mjs(Playwright), local-audit.py

설치

네 스킬은 서로 참조하므로 모두 복사합니다. 설치 스크립트, 훅, 백그라운드 에이전트는 없습니다.

  1. 레포를 받고 스킬 복사

    git clone --depth 1 https://github.com/jungrok5/x-eo.git
    mkdir -p ~/.claude/skills && cp -r x-eo/skills/* ~/.claude/skills/
  2. Claude Code에 요청

    x-eo로 https://example.com 을 점검하고 Tier A 항목을 고친 뒤 검증해 줘

bash, git, python3 3.10 이상이 필요합니다. render-diff.mjs는 playwright-core와 PLAYWRIGHT_CHROMIUM에 지정한 Chromium 경로가 추가로 필요합니다. ai-recall.mjs는 Anthropic 또는 OpenAI API 키가 필요하며 질문과 엔진마다 검색 요청 1회 비용이 발생합니다.

에이전트 없이 스크립트 실행

S=x-eo/skills
bash    $S/x-eo-audit/scripts/audit.sh --threshold 80 https://example.com/
bash    $S/x-eo-audit/scripts/host-root-check.sh https://example.com/blog/
python3 $S/x-eo-audit/scripts/site-sample.py https://example.com/ --max 8
node    $S/x-eo-verify/scripts/render-diff.mjs https://example.com/
python3 $S/x-eo-verify/scripts/jsonld-lint.py ./dist --require WebSite --strict
python3 $S/x-eo-fix/scripts/gen-robots.py --sitemap https://example.com/sitemap.xml --out robots.txt

사례: 214개 언어 정적 사이트, 62점에서 90점

오른 28점 중 12점은 Tier C입니다. Tier C를 빼면 52/76에서 68/76으로 올랐습니다.

효과를 측정할 수 있었던 변경은 한국어 루트 페이지의 사전 렌더링입니다. JavaScript 없이 보이는 본문이 렌더링된 화면의 11%에서 53%로 늘었고, JavaScript를 켠 화면의 DOM은 바이트 단위로 같았습니다.

항목전후등급
robots1518A
llms1016C
ai_discovery06C
schema716B
content1112A
penalty-30A/B
합계6290

전체 기록

한계