website-audit은(는) 무엇을 하나요?
하나의 명령어로 사이트를 측정하고, 스크립트가 판단할 수 없는 항목은 사용자가 확인한 후 설립자가 실행에 옮길 수 있는 보고서를 전달합니다. 감사는 읽기 전용입니다: 폼을 제출하지 않고, 로그인하지 않으며, 상태를 변경하는 클릭을 수행하지 않고, robots.txt를 존중하며 페이지 로드 간에 딜레이를 적용합니다.
입력
- URL (필수). 사용자가 제공하지 않은 경우 요청하세요.
- 페이지 제한 (선택 사항, 기본값 10). 빠른 확인에는 3–5개, 전체 리빌드 전 기준선에는 15–25개를 사용하세요.
- 보고서 언어 (선택 사항, 기본값 = 사용자가 작성하는 언어).
요구 사항
- Node.js 22 이상 (
node --version). Lighthouse는 추가로 Node ≥ 22.19와 npm (npx)이 필요합니다. - Google Chrome 또는 Chromium. macOS, Linux 및 Windows에서 자동 감지되며,
npx playwright install chromium으로 이미 다운로드된 Chromium도 포함됩니다. 그렇지 않으면CHROME_BIN=/path/to/chrome을 설정하세요. - 감사 대상 사이트에 대한 네트워크 접근, 공개 npm CDN (axe-core) 및 npm 레지스트리 (Lighthouse)에 대한 접근. 두 도구 중 하나를 가져올 수 없으면 보고서에서 해당 영역이 사유와 함께 건너뛰기로 표시되며 실행은 실패하지 않습니다.
단계
1. 감사 실행
<skill-dir>는 이 SKILL.md가 있는 폴더입니다.
node <skill-dir>/scripts/audit.mjs https://example.com --limit 10
옵션: --limit N · --delay MS (페이지 간 딜레이, 기본값 1000) · --max-links N (내부 링크 확인, 기본값 150) · --no-lighthouse · --no-axe · --max-minutes N (기본값 15) · --out DIR.
출력은 현재 폴더 기준 ./website-audit/<domain>/로 이동합니다 (--out 또는 WEBSITE_AUDIT_OUT 환경 변수로 재정의 가능):
website-audit-<domain>-<date>.md: 보고서website-audit-<domain>-<date>.json: 원시 측정값, 발견 사항, 점수, 스냅샷screens/: 페이지별 첫 화면 스크린샷 (데스크톱 및 390px)
진행 상황은 stderr로 출력됩니다. 마지막 stdout 줄은 JSON 요약입니다 (ok, report, pages, seconds, overall, counts, scores, skipped). 종료 코드 2는 감사를 전혀 실행할 수 없음을 의미합니다 (Node 22 없음, Chrome 없음, 사이트에 연결 불가): 사용자에게 메시지를 표시하고, 설치하거나 확인할 사항을 알려줍니다.
10페이지 실행은 약 2–4분이 소요되며, Lighthouse는 30–60초가 추가됩니다.
2. 수동 검토 단계
<skill-dir>/references/manual-review.md를 따르세요:
- 모든 P0 증거를 확인합니다 (스크립트는 문자 그대로이며, 봇 방지 또는 JavaScript 폼이 P0을 위조할 수 있음).
screens/의 스크린샷을 읽어 각 «수동 확인» 항목을 해결합니다.- «먼저 수정» 항목이 리빌드의 첫 번째 스프린트로 읽히는지 확인합니다.
마크다운 보고서를 제자리에서 편집합니다. JSON을 변경하지 마십시오. 이는 원시 기준선입니다.
3. 언어
스크립트는 영어로 작성합니다. 사용자가 다른 언어로 작성하는 경우 보고서의 제목, «리드에 미치는 중요성» 및 «수정» 줄을 번역합니다. URL, 선택자, 메트릭 이름, HTTP 코드 및 P0에서 P3 라벨은 그대로 유지합니다.
4. 전달
다음과 함께 응답합니다: 전체 점수, P0 / P1 개수, «먼저 수정» 목록, 건너뛴 영역과 그 이유, 보고서 경로. 나중에 동일한 제한으로 새 사이트에 대해 다시 실행하여 스냅샷의 «이후» 열을 채우도록 제안합니다.
사용자가 임계값을 편집한 후 다시 렌더링하려는 경우: node <skill-dir>/scripts/report.mjs <path-to-run>.json이 JSON에서 마크다운을 다시 작성합니다.
각 영역의 내용
세부 사항, 임계값 및 우선 순위 규칙은 <skill-dir>/references/checks.md에 있습니다. 간단히 말하면:
| 영역 | 방법 |
|---|---|
| 모바일 레이아웃 | 각 페이지를 360 / 390 / 768px에서 확인: 가로 스크롤, 가장자리를 넘는 요소, viewport 메타, 탭 대상, 작은 텍스트 |
| 버그 | 콘솔 오류 및 예외, 4xx/5xx 및 실패한 요청, 혼합 콘텐츠, 깨진 이미지, 내부 링크 (HEAD/GET), 폼 대상 (HEAD만) |
| 접근성 | 각 페이지에 axe-core를 주입, WCAG 2.0/2.1 A + AA 태그 |
| 성능 | 홈페이지에서 Lighthouse 모바일; 모든 페이지에서 브라우저 타이밍 (TTFB, LCP, CLS, 무게, 요청 수) |
| 전환 경로 | 데스크톱 및 휴대폰의 첫 화면 CTA, 연락처까지 클릭 수, 이메일/전화/예약/리드 폼, 사용후기, 사례, 로고, 숫자 |
| SEO 기본 사항 | 제목, 설명, 하나의 H1, canonical, Open Graph, noindex, robots.txt, sitemap.xml |
규칙
- 폼을 제출, 작성 또는 클릭하지 마십시오. 로그인하지 마십시오. 봇 방지 또는 CAPTCHA를 우회하지 마십시오. 사이트가 챌린지 페이지를 제공하면 이를 보고하고 중단하십시오.
- robots.txt 차단 규칙을 존중하십시오. 사용자가 사이트를 소유하고 더 빠른 실행을 요청하지 않는 한 기본 딜레이를 유지하십시오.
- «수동 확인»으로 표시된 발견 사항은 스크린샷을 확인하기 전까지 가설입니다.
- 보고서를 직접 게시하지 마십시오. 클라이언트의 약점을 설명할 수 있습니다.
이 스킬이 아닌 경우
- 카피, 포지셔닝 및 메시지 비평 →
website-copy-reframe. - 사이트의 브랜드 / 디자인 시스템 →
design-system-generator. - 키워드 순위, 백링크, 트래픽 추정 → SEO 데이터 도구.