npx claudepluginhub imgompanda/fireauto --plugin fireauto# fireauto-seo: SEO 종합 감사 현재 프로젝트의 SEO 상태를 7개 영역에 걸쳐 종합적으로 감사합니다. Next.js 프로젝트에 최적화되어 있으며, 실제 nomadfast, FireShipLanding, ditfinder 프로젝트 감사 경험을 바탕으로 합니다. ## 실행 절차 ### 1단계: 프로젝트 구조 파악 먼저 프로젝트의 기본 구조를 파악합니다: - `package.json`을 읽어 프레임워크 확인 (Next.js 버전, 관련 패키지) - `next.config.*` 파일 확인 - `src/app/` 또는 `app/` 디렉토리 구조 파악 - `public/` 디렉토리 내 정적 파일 확인 ### 2단계: 7개 영역 감사 수행 각 영역을 순차적으로 감사합니다. seo-auditor 에이전트를 호출하여 상세 감사를 수행합니다. --- ## 감사 영역 1: robots.txt 검증 **점검 항목:** - `public/robots.txt` 또는 `app/robots.ts` (동적 생성) 존재 여부 - `User-agent` 규칙 적절성 - `Disallow` 규칙으로 민감 경로 차단 여부 (admin, api, dashbo...
현재 프로젝트의 SEO 상태를 7개 영역에 걸쳐 종합적으로 감사합니다. Next.js 프로젝트에 최적화되어 있으며, 실제 nomadfast, FireShipLanding, ditfinder 프로젝트 감사 경험을 바탕으로 합니다.
먼저 프로젝트의 기본 구조를 파악합니다:
package.json을 읽어 프레임워크 확인 (Next.js 버전, 관련 패키지)next.config.* 파일 확인src/app/ 또는 app/ 디렉토리 구조 파악public/ 디렉토리 내 정적 파일 확인각 영역을 순차적으로 감사합니다. seo-auditor 에이전트를 호출하여 상세 감사를 수행합니다.
점검 항목:
public/robots.txt 또는 app/robots.ts (동적 생성) 존재 여부User-agent 규칙 적절성Disallow 규칙으로 민감 경로 차단 여부 (admin, api, dashboard 등)Sitemap: 지시자로 sitemap URL 참조 여부Disallow: /) 여부 점검패턴 검색:
Glob: **/robots.{txt,ts,js}
Grep: "robots" in next.config.*
점검 항목:
public/sitemap.xml 또는 app/sitemap.ts (동적 생성) 존재 여부lastmod 값의 정확성 (실제 콘텐츠 업데이트와 일치 여부)changefreq, priority 설정 적절성xhtml:link hreflang alternate 포함 여부패턴 검색:
Glob: **/sitemap.{xml,ts,js}
Grep: "sitemap" in app/ directory
점검 항목:
@type 적절성 검증:
Organization / WebSite - 홈페이지Article / BlogPosting - 블로그/콘텐츠Product / Offer - 상품/가격FAQPage / Question - FAQ 섹션BreadcrumbList - 네비게이션Place / LocalBusiness - 장소 기반 페이지HowTo, Review, Event 등 특수 타입@id 참조 일관성패턴 검색:
Grep: "application/ld+json" in all tsx/jsx/ts/js files
Grep: "jsonLd" or "JsonLd" or "structured" in components
Grep: "@type" in lib/ or utils/ directories
점검 항목:
<title> 태그: 존재, 길이(30-60자), 고유성<meta name="description">: 존재, 길이(120-160자), 고유성og:title, og:description, og:image, og:url, og:typetwitter:card, twitter:title, twitter:description, twitter:image<link rel="canonical"> 존재 및 정확성hreflang 태그: 다국어 사이트 필수, 상호 참조 일관성viewport 메타 태그metadata / generateMetadata 사용 패턴 검증패턴 검색:
Grep: "metadata" or "generateMetadata" in page.tsx/layout.tsx files
Grep: "openGraph" or "twitter" in metadata objects
Grep: "alternates" in metadata (hreflang)
점검 항목:
[slug], [id], [...params]) 식별generateStaticParams 구현 여부 (SSG 대상 페이지)noindex 처리가 필요한 저품질 페이지 식별패턴 검색:
Glob: **/\[*\]/**/page.tsx
Grep: "generateStaticParams" in all page files
Grep: "noindex" in metadata
점검 항목:
next.config.* 내 redirects 설정middleware.ts 내 리다이렉트 로직패턴 검색:
Grep: "redirect" in next.config.*, middleware.*
Grep: "permanentRedirect" or "redirect" in app/ directory
Grep: "NextResponse.redirect" in middleware
점검 항목:
loading.tsx 파일 존재 여부 (주요 라우트별)next/image 사용 여부 (<img> 태그 직접 사용 감지)width, height, alt 속성, WebP/AVIF 포맷next/font 사용 여부 (웹 폰트 최적화)"use client") 감지Suspense 경계 적절성dynamic import / lazy loading 패턴패턴 검색:
Glob: **/loading.tsx
Grep: "<img " in tsx/jsx files (next/image 미사용)
Grep: "use client" in page.tsx files
Grep: "next/font" in layout files
모든 감사 결과를 종합하여 심각도별로 분류합니다:
| 등급 | 의미 | 기준 |
|---|---|---|
| P0 Critical | 즉시 수정 필요 | 인덱싱 차단, 크롤링 불가, 심각한 구조 오류 |
| P1 High | 빠른 수정 권장 | Rich Results 누락, 메타 태그 미설정, 중복 콘텐츠 |
| P2 Medium | 개선 권장 | 최적화 미흡, 부분적 누락, 성능 저하 요소 |
| P3 Low | 참고 사항 | 모범 사례 미준수, 미세 최적화 기회 |
감사 결과를 다음 형식으로 출력합니다:
# SEO 감사 리포트
## 요약
- 점검 일시: {날짜}
- 프로젝트: {프로젝트명}
- 프레임워크: {Next.js 버전}
- 총 이슈: {N}건 (P0: {n}, P1: {n}, P2: {n}, P3: {n})
## P0 Critical 이슈
### [영역] 이슈 제목
- **현재 상태**: 구체적 문제 설명
- **영향**: SEO에 미치는 영향
- **수정 방법**: 코드 예시 포함한 구체적 수정 방법
- **참조 파일**: 관련 파일 경로
## P1 High 이슈
...
## P2 Medium 이슈
...
## P3 Low 이슈
...
## 권장 조치 순서
1. ...
2. ...
리포트는 터미널에 직접 출력합니다. 사용자가 파일 저장을 요청한 경우에만 파일로 저장합니다.