SEO·GEO·AEO 차이와 Claude Code SEO 스킬로 사이트 점검하기
SEO는 검색엔진이 페이지를 이해하게 돕는 일이다. AEO(답변 엔진 최적화)와 GEO(생성형 엔진 최적화)는 같은 일을 AI 답변에 인용되는 쪽에서 부르는 이름이다. Google은 2026년 5월 공개한 생성형 AI 검색 가이드에서 둘을 여전히 SEO로 본다고 했고, 색인과 스니펫 자격 말고는 llms.txt나 AI 전용 스키마 같은 준비가 필요 없다고 밝혔다. Claude Code에서는 claude-seo 플러그인의 /seo geo <url>이나 marketingskills의 ai-seo 스킬로 점검을 돌릴 수 있다. 다만 두 도구의 권고 가운데 Google 지침과 갈리는 항목은 따로 표시해 두고 읽는 편이 낫다.
01 SEO·AEO·GEO는 같은 일을 서로 다른 결과 화면에서 부르는 이름이다
Google 검색 센터의 SEO 기본 가이드는 SEO를 두 가지 일로 설명한다. 검색엔진이 콘텐츠를 이해하도록 돕는 일, 그리고 사용자가 검색 결과에서 그 사이트에 들어갈지 정하도록 돕는 일이다. 이 설명은 링크 목록이 결과의 전부이던 화면을 떠올리게 한다. 지금은 Google AI Overviews·AI Mode, ChatGPT 검색, Perplexity처럼 답을 먼저 써서 보여 주고 출처 링크를 옆에 다는 화면이 흔하다. AEO(answer engine optimization)와 GEO(generative engine optimization)는 이런 답변 속에 내 페이지가 인용되게 하려는 작업을 가리키는 업계 용어다.
GEO라는 이름은 논문에서 먼저 나왔다. 2023년 11월 arXiv에 올라온 「GEO: Generative Engine Optimization」은 KDD 2024에 채택됐다. 논문은 생성형 엔진 응답 속 노출도를 재는 지표와 벤치마크 GEO-bench를 내놓았다. 연구진은 최적화 전략으로 노출도를 최대 40% 올렸지만, 같은 전략이라도 분야에 따라 효과가 달랐다고 보고했다. 연구진이 직접 만든 벤치마크에서 잰 값이므로, 특정 검색 서비스의 순위 규칙으로 옮겨 읽어서는 안 된다.
Google의 입장은 2026년 5월 검색 센터 블로그로 알린 「Optimizing your website for generative AI features on Google Search」(2026년 7월 10일 최종 수정)에 모여 있다. 이 문서는 AEO와 GEO를 같은 작업의 다른 이름으로 다룬다. Google 검색 입장에서 생성형 AI 최적화는 검색 경험을 최적화하는 일이고, 그래서 여전히 SEO라고 적었다. 근거로 든 것은 구조다. AI Overviews와 AI Mode는 Google의 핵심 순위·품질 시스템 위에서 돈다. 답을 만들 때는 두 기법을 쓴다. 하나는 검색 색인에서 페이지를 가져와 답을 만드는 RAG(검색 증강 생성)이고, 다른 하나는 관련 질의를 여러 개 더 던져 결과를 모으는 쿼리 팬아웃(query fan-out)이다.
| 이름 | 겨냥하는 화면 | 이 글이 기댄 근거 |
|---|---|---|
| SEO | 검색 결과의 링크 목록 | Google SEO 기본 가이드 |
| AEO | AI가 쓴 답변과 그 출처 링크 | Google 생성형 AI 가이드(GEO와 같은 작업으로 본다) |
| GEO | 생성형 엔진 응답 속 인용·노출 | GEO 논문(2023) |
이 글은 이 개념을 Claude Code 스킬 두 묶음으로 점검하고, 그 결과를 읽는 데까지만 다룬다. 키워드 조사·광고·콘텐츠 기획은 다루지 않는다.
02 Google은 추가 요건이 없다고 했고, 다른 AI 검색은 크롤러를 목적별로 나눴다
Google AI 기능에 내 페이지가 뜨는 조건은 일반 검색과 같다. 색인돼 있고 스니펫과 함께 보일 자격이 있으면 된다. 2026년 가이드는 여기에 조건 하나를 더 적었다. Search Console의 생성형 AI 설정(설정 > Search generative AI)이 '포함'이어야 한다. 도움말을 보면 기본값은 '포함'이고, 상위 속성이 있는 속성은 '상위 설정 상속'이 기본이다. 직접 바꾼 적이 없다면 할 일이 없는 셈이다. AI 기능에 보이는 내용을 줄이고 싶다면 nosnippet·data-nosnippet·max-snippet·noindex를 쓰거나 이 설정을 '제외'로 바꾼다. 도움말은 '제외'가 순위 신호가 아니고 AI 학습 거부와도 별개라고 적었다.
가이드는 해도 소용없는 일도 꼽았다.
- llms.txt 같은 AI용 텍스트 파일: Google 검색은 이 파일을 쓰지 않아 득도 실도 없다. 다른 서비스는 쓸 수 있다.
- 청킹(페이지를 AI용으로 잘게 쪼개기): Google은 한 페이지에 담긴 여러 주제를 이해하고, 페이지 길이에 정답은 없다고 했다.
- 롱테일 변형마다 글 고쳐 쓰기: 동의어와 뜻을 이해하므로 필요 없다.
- 진짜가 아닌 언급 모으기: 보기보다 도움이 적다.
- 생성형 AI 전용 스키마: 그런 마크업은 없다. 구조화 데이터는 리치 결과 자격을 얻는 데는 여전히 쓸모가 있다.
서드파티 도구를 두고는 선을 분명히 그었다. "No third-party tool has access to our internal ranking or AI systems." 측정은 Search Console의 생성형 AI 실적 보고서로 한다. 도움말을 보면 이 보고서는 2026년 8월 31일부로 전 세계 사이트에 열렸다. AI Overviews와 AI Mode에서 내 링크가 노출된 횟수를 페이지·국가·날짜·기기별로 나눠 보여 준다. 지표는 노출 수이고, 도움말에 클릭 수는 나오지 않는다.
Google 밖의 AI 검색은 robots.txt에서 크롤러 이름을 목적별로 나눠 두었다. 회사별 문서를 보면 다음과 같다.
| 회사 | 학습 데이터 수집 | 검색 색인 | 사용자 요청 시 가져오기 |
|---|---|---|---|
| OpenAI | GPTBot | OAI-SearchBot | ChatGPT-User |
| Anthropic | ClaudeBot | Claude-SearchBot | Claude-User |
OpenAI 문서는 GPTBot을 막는 것은 학습을 거부한다는 신호일 뿐이라고 적었다. ChatGPT 검색에 나올지는 OAI-SearchBot 규칙이 정한다. ChatGPT-User는 사용자가 시킨 요청이라 robots.txt 규칙이 적용되지 않을 수 있다고도 했다. Anthropic 도움말은 Claude-SearchBot을 막으면 검색 결과에서 노출이 줄 수 있다고 안내한다. Google은 AI 학습용 크롤러를 따로 두지 않는다. 대신 robots.txt 토큰 Google-Extended로 Gemini 학습과 그라운딩에 쓰이는 것만 막을 수 있고, 이 토큰은 Google 검색 포함 여부와 순위에 영향을 주지 않는다. 학습만 막고 싶다면 학습용 이름만 적으면 된다.
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /marketingskills의 ai-seo 스킬이 짚는 함정도 하나 있다. 특정 봇 이름으로 그룹을 만들면 그 봇에는 User-agent: * 그룹의 규칙이 더는 적용되지 않는다. * 그룹에 경로 제한을 걸어 두었다면 새 그룹에도 같은 제한을 다시 적어야 한다. 스킬은 그래서 와일드카드 규칙 하나를 기본으로 두고, 학습 거부처럼 의도한 예외만 이름 그룹으로 만들라고 권한다. robots.txt는 크롤러가 스스로 밝힌 이름에 거는 약속이라는 한계도 있다. 이 한계는 AI 에이전트 차단, 은행·쇼핑몰이 막은 건 비밀번호 대리 로그인에서 다뤘다.
03 claude-seo는 /seo 명령과 서브에이전트로 사이트를 감사한다
AgriciDaniel/claude-seo는 MIT 라이선스로 공개된 Claude Code 플러그인이다. 2026년 10월 저장소 기준으로 플러그인 버전은 2.5다. 확장까지 합쳐 /seo 하위 명령이 30개, 서브에이전트가 19개 들어 있다. README가 요구하는 환경은 README에 적힌 최소 버전 이상의 Claude Code와 Python 3.11~3.14다. 국내 쇼츠 가운데 SEO 대행사에 200만 원을 내지 않아도 된다는 제목으로 이 플러그인을 소개한 영상도 있다.
/plugin marketplace add AgriciDaniel/claude-seo
/plugin install claude-seo@agricidaniel-claude-seo
/seo setup
/seo doctorClaude Code 문서에 따르면 세션 안에서 /plugin install을 실행하면 바로 설치되지 않고 플러그인 상세 창이 열린다. 이 창에서 깔릴 명령·에이전트·훅 목록을 확인하고, 설치 범위를 사용자·프로젝트·로컬 가운데서 고른다. /seo setup은 따로 떨어진 Python 실행 환경과 Chromium을 만든다. /seo doctor는 시스템을 바꾸지 않고 준비가 됐는지만 확인한다. 플러그인 스킬의 정식 이름은 /<플러그인>:<스킬> 형태인데, README는 짧은 /seo로 부르는 예를 쓴다.
| 명령 | 하는 일 |
|---|---|
/seo page <url> | 한 페이지를 깊게 분석 |
/seo geo <url> | AI Overviews와 생성형 엔진 관점에서 점검하고 GEO-ANALYSIS.md 작성 |
/seo agentic <url> | AI 에이전트 접근·llms.txt·Markdown·WebMCP 등 에이전트가 쓰기 좋은 상태인지 점검 |
/seo schema <url> | Schema.org 마크업 탐지·검증·생성 |
/seo audit <url> | 사이트 전체 감사, 서브에이전트 병렬 실행 |
/seo google setup | PageSpeed·CrUX·Search Console·GA4 연결(선택) |
/seo geo는 Opus에서 도는 seo-geo 에이전트가 맡는다. 결과는 100점 만점의 GEO Readiness Score로 나온다. 스킬 파일에 적힌 배점은 다음과 같다.
| 항목 | 비중 | 보는 것 |
|---|---|---|
| 인용 가능성 | 25% | 절 첫머리의 직답, 따로 떼어도 읽히는 답 블록, 인용할 만한 사실 |
| 구조 가독성 | 20% | 제목 계층, 질문형 제목, 짧은 문단, 표·목록·FAQ |
| 멀티모달 | 15% | 이미지·영상·인포그래픽·인터랙티브 도구 |
| 권위·브랜드 | 20% | 저자 이력·날짜·1차 출처, 브랜드(엔티티) 존재감 |
| 기술 접근성 | 20% | 서버 렌더링, AI 크롤러의 robots.txt 접근, RSL 1.0 라이선스 표기 |
스킬 파일은 커뮤니티 조언이 Google 지침과 부딪히면 Google을 따르고 충돌한 내용을 보고서에 적으라고 지시한다. 그래서 llms.txt는 있는지만 확인하고 점수에는 넣지 않는다. 크롤러도 학습용과 검색용을 따로 판정한다. 문단 길이 130~170단어는 Google 규칙이 아니라 가독성을 위한 경험칙이라고 스킬 파일이 직접 밝혔다.
비용과 정확도의 한계는 README에 나와 있다. 전체 감사는 10~15분쯤 걸리고, 그동안 최대 17개 에이전트가 동시에 돈다. 그 가운데 다섯 개는 Opus, 나머지는 Sonnet에서 돈다. README가 사용량을 수치로 밝히지는 않았지만, 에이전트를 여럿 띄우는 전체 감사가 한 페이지 점검보다 요금제 사용량을 더 쓴다고 보고 계획하는 편이 안전하다. Google API 키 없이 돌리면 Core Web Vitals는 실험실 추정치로 나오고, 색인 여부는 페이지만 보고 추론한다. 스크롤하거나 클릭해야 핵심 내용이 뜨는 페이지는 결과가 고르지 않을 수 있다. 병렬 서브에이전트가 비용을 어떻게 키우는지는 Claude Code agent_summary 비용, 평균 2%와 16.4%가 갈리는 이유와 재는 법에 따로 정리했다.
설치 전에 볼 파일도 있다. 2026년 10월 저장소의 hooks/hooks.json에는 훅이 하나 정의돼 있다. Edit·Write 도구 호출이 끝날 때마다(PostToolUse) Node 스크립트가 Python 스키마 검증기를 실행해 방금 고친 파일을 검사하고, 제한 시간은 30초다. Claude Code 문서는 플러그인 훅이 샌드박스 밖에서 사용자 권한으로 돈다고 설명한다. 사용자 범위로 설치하면 모든 프로젝트에서 파일을 고칠 때마다 이 훅이 돈다.
04 marketingskills의 ai-seo는 제품 맥락 파일부터 읽는다
coreyhaines31/marketingskills는 MIT 라이선스로 공개된 마케팅 스킬 모음이다. README 표에 스킬 52개가 있다. Agent Skills 규격을 따르므로 Claude Code 말고도 Codex나 Cursor 같은 에이전트에서 쓸 수 있다. 국내 쇼츠가 소개한 클로드 마케팅 스킬 52개도 이 표의 개수와 같다. SEO와 관련 있는 스킬은 seo-audit(기술·온페이지 감사), ai-seo(AI 검색), schema, programmatic-seo, site-architecture, content-strategy 등이다.
필요한 스킬만 골라 까는 편이 가볍다.
npx skills add coreyhaines31/marketingskills --skill product-marketing ai-seo seo-audit schema -a claude-codeREADME에는 경고가 하나 있다. Claude Code에게 이 명령을 시키면 CLI가 비대화형으로 돌아 .agents/skills/에만 설치될 수 있는데, Claude Code는 이 폴더를 읽지 않는다. 그래서 -a claude-code로 대상 에이전트를 직접 지정하라고 한다. 플러그인으로 설치하려면 셸에서 다음 명령을 실행한다. README는 /plugin 명령이 대화형 CLI에서만 동작하고 웹이나 GitHub Actions에서는 동작하지 않는다고 적었다.
claude plugin marketplace add coreyhaines31/marketingskills
claude plugin install marketing-skills@marketingskills --scope localai-seo는 다음 순서로 일한다.
.agents/product-marketing.md를 읽는다. 없으면.claude/아래 예전 위치를 찾고, 빠진 정보만 사용자에게 묻는다. 이 파일은product-marketing스킬이 README·랜딩 페이지·package.json을 읽고 초안을 만든다.- 가치가 큰 질문 10~20개를 AI Overviews·ChatGPT·Perplexity에 직접 던지고, 경쟁 페이지가 왜 인용되는지 살핀다.
- 구조(절 첫머리 직답, 40~60단어 단락, 비교 표), 권위(출처, 통계, 전문가 인용, 최신성), 제3자 채널 노출이라는 세 축으로 고칠 곳을 찾는다.
/llms.txt·/pricing.md같은 기계 판독용 파일과 Article·FAQPage 등의 스키마를 제안한다.- AI 답은 실행할 때마다 달라지므로 같은 질문을 플랫폼마다 3~5번 돌려 인용률을 표본 수와 함께 적는다.
근거로 든 수치는 걸러 읽어야 한다. 스킬은 BrightEdge·Ahrefs·Profound 같은 업체 조사를 여럿 인용한다. 스킬 스스로 이 수치가 조사 표본에 따라 달라진다고 적었고, 인용하기 전에 날짜를 다시 확인하라고 했다. 스키마도 인용률이 오르는지 그것만 따로 잰 연구는 없다고 밝혔다.
05 두 도구는 llms.txt·단락 길이·외부 언급에서 Google 지침과 갈린다
| 항목 | Google 가이드 | claude-seo /seo geo | marketingskills ai-seo |
|---|---|---|---|
| llms.txt | Google 검색은 쓰지 않음 | 있는지만 보고 점수는 0 | 만들라고 권함 |
| 단락 길이 | 쪼갤 필요 없음, 정답 길이 없음 | 130~170단어를 경험칙으로 씀 | 핵심 단락 40~60단어 |
| 스키마 | AI 전용 스키마는 없음 | 추천안을 냄 | 권하되 효과를 따로 잰 연구는 없다고 적음 |
| 외부 언급 | 진짜가 아닌 언급은 도움이 적음 | Ahrefs 조사를 들어 브랜드 언급이 백링크보다 AI 노출과 상관이 크다고 봄 | 제3자 채널 노출을 한 축으로 둠 |
| 측정 | Search Console 생성형 AI 실적 보고서 | GEO Readiness Score | 같은 질문 반복 테스트 |
두 도구가 Google이 소용없다고 한 항목을 아직 다루는 데는 이유가 있다. 둘 다 ChatGPT·Perplexity·Gemini까지 겨냥하고, Google 가이드도 다른 서비스는 llms.txt를 쓸 수 있다고 인정했다. 하지만 OpenAI와 Anthropic의 크롤러 문서에는 llms.txt나 단락 길이를 어떻게 다루는지가 나오지 않는다. claude-seo의 스킬 파일도 주요 AI 회사 가운데 llms.txt를 쓴다고 확인한 곳은 없다고 적었다. 유입이 대부분 Google에서 온다면 표의 Google 열과 어긋나는 권고는 뒤로 미루는 편이 낫다. 다른 AI 검색에서 오는 유입도 의미가 있다면 llms.txt 파일 하나처럼 되돌리기 쉬운 것부터 시험해 보고, 그 서비스에서 오는 유입이 어떻게 바뀌는지 본다.
06 작은 사이트라면 로컬 범위로 깔고 대표 페이지 하나부터 돌린다
블로그나 작은 서비스 사이트를 점검하는 용도라면 둘 중 하나만 깔아도 된다. 점검 결과를 Markdown 보고서로 받고 싶다면 claude-seo가 맞다. 제품과 대상 고객 맥락을 파일로 쌓아 다른 마케팅 스킬과 함께 쓰려면 marketingskills가 맞다. 혼자 시험할 때는 로컬 범위로 설치한다. 팀이 함께 쓰기로 했다면 프로젝트 범위로 설치해 .claude/settings.json에 기록하고 커밋으로 공유한다. 다만 커밋은 플러그인을 켜 둘 뿐 내려받아 주지는 않으므로, 팀원마다 claude plugin install <이름>@<마켓플레이스> --scope project를 한 번씩 실행해야 한다.
되돌리기는 쉽다. 플러그인은 명령 한 줄로 지울 수 있다. 서드파티 마켓플레이스는 자동 업데이트가 기본으로 꺼져 있어서, 한 번 읽어 본 훅 파일이 모르는 사이에 바뀌지 않는다. 대신 직접 업데이트할 때마다 hooks/hooks.json을 다시 읽어야 한다. 플러그인을 지워도 캐시 파일은 ~/.claude/plugins/cache/ 아래에 14일 동안 남는다.
# 작업할 저장소 안에서, 이 저장소에만 설치
claude plugin marketplace add AgriciDaniel/claude-seo
claude plugin install claude-seo@agricidaniel-claude-seo --scope local
claude plugin details claude-seo # 설치된 스킬·에이전트·훅 목록 확인
# 되돌릴 때
claude plugin uninstall claude-seo@agricidaniel-claude-seo --scope local할 일은 다음 순서로 확인하면 된다.
- Search Console 설정 > Search generative AI가 '포함' 또는 '상속'인지 본다. 바꾼 적이 없으면 기본값이 '포함'이다.
- robots.txt에 AI 봇 규칙이 있다면 학습용 이름과 검색용 이름을 섞어 막지 않았는지 본다.
- 플러그인은
hooks/hooks.json을 읽어 본 뒤 로컬 범위로 설치한다. /seo page <url>이나/seo geo <url>로 대표 페이지 하나만 돌려 보고 사용량과 결과를 확인한다.- 보고서의 권고를 위 비교 표와 대조하고, Google이 소용없다고 한 항목에는 표시를 해 둔다.
- 고친 뒤에는 생성형 AI 실적 보고서에서 노출이 어떻게 바뀌는지 본다.
대행사를 이 도구로 대신할지 고민하는 팀이라면 근거부터 따져 보는 편이 낫다. README의 가격 비교표는 스스로 예시라고 밝혔고, 성과 사례도 개발자 자신의 사이트를 이 도구로 관리한 결과다. 이 도구들이 해 주는 일은 점검표를 빨리 만드는 데까지다. Google은 어떤 서드파티 도구도 자신들의 순위 시스템에 접근하지 못한다고 밝혔다.
07 자주 묻는 질문
Google-Extended를 막으면 AI Overviews에서도 빠지나?
아니다. Google-Extended는 Gemini 학습과 그라운딩에 쓰이는 것만 막는 토큰이고, Google 검색 포함 여부에는 영향이 없다. AI 기능에서 빠지고 싶다면 Search Console 생성형 AI 설정을 '제외'로 바꾸거나 nosnippet·noindex 같은 제어를 쓴다.
claude-seo와 marketingskills를 함께 깔아도 이름이 겹치지 않나?
겹치지 않는다. 플러그인 스킬은 /<플러그인>:<스킬> 형태의 고유한 이름을 가진다. 짧은 이름이 헷갈리면 이 정식 이름으로 부르면 된다.
llms.txt를 이미 만들어 뒀다면 지워야 하나?
아니다. Google은 llms.txt가 Google 검색 노출에 득도 실도 없다고 했고, 다른 서비스는 이 파일을 쓸 수 있다고 덧붙였다. claude-seo도 이 파일은 점수에 넣지 않는다.