seo-geo-audit은(는) 무엇을 하나요?
프론트엔드 저장소에서 클래식 SEO(Google 크롤러가 평가하는 항목)와 GEO(생성 엔진 최적화, 즉 LLM이 콘텐츠를 읽을 때 중요하게 생각하는 항목)를 감사합니다. 심각도, file:line 인용, 구체적인 수정 사항이 포함된 마크다운 보고서를 출력합니다.
새로운 가치는 GEO에 있습니다. 클래식 SEO 스캐너는 오래전부터 존재했습니다. 하지만 "언어 모델이 사이트를 추출, 인용, 추론하기 쉬운가?"라는 질문은 Claude만이 진정으로 답할 수 있습니다. Claude가 소비자이기 때문입니다.
실행
| 트리거 | 동작 |
|---|---|
/audit 또는 /seo-geo 또는 /seo-geo-audit | 표준 감사: SEO + GEO, 루트 수준 + 주요 경로, 최대 ~30개 파일 |
/audit deep | 저장소에서 찾을 수 있는 모든 경로/페이지를 탐색합니다. 느리지만 더 철저합니다. |
/audit seo | 클래식 SEO만 수행합니다. |
/audit geo | GEO만 수행합니다. |
/audit fix | 감사 후 각 높은 심각도 발견 항목에 대해 구체적인 파일 수정을 제안합니다(각 수정 전에 확인 요청). |
/audit report.md | 인라인 대신 파일에 보고서를 작성합니다. |
| 자연어: "이 사이트 SEO 감사", "LLM 친화적인가요?", "구조화된 데이터 확인" | 위와 동일 |
중지/비활성화
세션 기반이 아닙니다. 일회성입니다. 그냥 호출하지 마세요.
실행 흐름
- 프레임워크 감지:
package.json을 읽어 프레임워크를 감지합니다.next,astro,nuxt,svelte-kit,remix,gatsby,vite,vue를 찾거나 기본 HTML로 대체합니다. 프레임워크는 파일 글로브와 페이지 위치(pages/,app/,src/routes/,src/pages/,content/등)를 결정합니다. - 콘텐츠 소스 발견:
scripts/discover.sh <framework>를 통해 콘텐츠 소스를 발견합니다. - 추출:
scripts/extract-head.sh와scripts/find-jsonld.sh를 통해<head>콘텐츠와 구조화된 데이터를 추출합니다. JSX/TSX의 경우<Head>,<Helmet>,<Metadata>또는 프레임워크별 패턴(Next.jsmetadata내보내기, Astro 프론트매터, NuxtuseHead)을 찾습니다. - 검사 실행:
checks/seo.md와checks/geo.md의 각 검사는 추출된 데이터에 대한 Claude 추론입니다. 정규식이 아닙니다. 이것이 핵심입니다. 기존 스캐너는 메타 태그의 존재 여부를 알려줄 수 있지만, 설명이 좋은지는 오직 Claude만이 알 수 있습니다. - 점수 매기기:
checks/scoring.md를 사용하여 카테고리별로 점수를 매깁니다. 카테고리별 문자 등급 + 숫자 점수. - 보고서 렌더링:
templates/report-card.md에서 보고서를 렌더링하고, 발견 항목에 file:line 인용, 심각도, 수정 제안을 채웁니다. fix모드인 경우: 각 높은 심각도 발견 항목에 대해 표준 미리보기 후 적용 패턴을 사용하여 구체적인 수정을 제안합니다. 사용자 확인 없이 적용하지 않습니다.
스킬 간 연계
llms-txt 스킬이 설치된 경우, GEO 발견 항목에 "llms.txt 누락"이 포함되어 있으면 이를 실행할 것을 권장합니다. a11y-audit 스킬이 설치된 경우, 모든 보고서 하단에 이에 대한 링크를 추가합니다("이 감사는 SEO와 GEO를 다룹니다. 접근성은 /a11y-audit을 실행하세요.").
안전 가드레일
- 기본적으로 읽기 전용입니다.
fix모드만 수정을 제안하며, 모든 수정은 확인이 필요합니다. - 라이브 사이트를 가져오지 마십시오. 소스 저장소를 감사합니다. 라이브 사이트 감사는 Lighthouse/PageSpeed 영역입니다. 다른 도구, 다른 관심사입니다.
- 프레임워크 규칙을 가정하지 마십시오. 먼저
package.json을 확인하십시오.pages/폴더는 Next, Nuxt, Gatsby, vanilla에서 각각 다른 의미를 가집니다. - 명시적 사용자 요청 없이 정책 파일(
robots.txt,noai메타 태그,llms.txt)을 수정하지 마십시오. 이는 기술적 결정이 아닌 이해 관계자 결정입니다. - 생성/빌드 아티팩트를 건너뜁니다.
dist/,build/,.next/,out/,.nuxt/는 감사하지 마십시오. 소스를 감사합니다. - 심층 감사에 제한을 둡니다.
deep모드에서도--no-limit확인 없이 약 500개 파일 이상 스캔을 거부합니다.
이 스킬의 파일
SKILL.md— 이 파일checks/seo.md— 심각도가 포함된 클래식 SEO 체크리스트checks/geo.md— GEO 체크리스트(새로운 검사 항목)checks/scoring.md— 발견 항목을 카테고리별 0–100 점수로 매핑하는 방법templates/report-card.md— 최종 보고서용 마크다운 템플릿scripts/discover.sh— 프레임워크별 프론트엔드 소스 파일 찾기scripts/extract-head.sh— HTML/JSX/MDX에서<head>콘텐츠 가져오기scripts/find-jsonld.sh—<script type="application/ld+json">블록 추출scripts/check-llms-txt.sh— 저장소에 llms.txt가 있는지 확인examples/good-site-report.md— 잘 최적화된 사이트의 예시 보고서examples/bad-site-report.md— 일반적인 그린필드 사이트의 예시 보고서