Update README skill tables (SEO 11-30, GTM 60-69), add comprehensive audit entry, and remove unsupported argument-hint field from slash command frontmatter. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
151 lines
4.5 KiB
Markdown
151 lines
4.5 KiB
Markdown
---
|
|
description: "Comprehensive SEO audit: technical, on-page, schema, CWV, local, and GSC in one unified report"
|
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task
|
|
---
|
|
|
|
# Comprehensive SEO Audit
|
|
|
|
## Overview
|
|
|
|
Orchestrates a unified 6-stage SEO audit by calling sub-skill scripts sequentially, merging results, computing a weighted health score (0-100), and optionally pushing a summary to Notion.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
/seo-comprehensive-audit https://example.com
|
|
/seo-comprehensive-audit https://example.com --skip-local --skip-gsc
|
|
/seo-comprehensive-audit https://example.com --json
|
|
/seo-comprehensive-audit https://example.com --skip-notion
|
|
```
|
|
|
|
## Pipeline Stages
|
|
|
|
| # | Stage | Sub-Skill | Skip Flag |
|
|
|---|-------|-----------|-----------|
|
|
| 1 | Technical SEO | `12-seo-technical-audit` | — |
|
|
| 2 | On-Page SEO | `13-seo-on-page-audit` | — |
|
|
| 3 | Core Web Vitals | `14-seo-core-web-vitals` | — |
|
|
| 4 | Schema Validation | `16-seo-schema-validator` | — |
|
|
| 5 | Local SEO | `18-seo-local-audit` | `--skip-local` |
|
|
| 6 | Search Console | `15-seo-search-console` | `--skip-gsc` |
|
|
|
|
## Execution
|
|
|
|
### Option A: Python Orchestrator (Recommended)
|
|
|
|
```bash
|
|
# Find repo root
|
|
REPO_ROOT=$(git -C /path/to/our-claude-skills rev-parse --show-toplevel)
|
|
SKILLS="$REPO_ROOT/custom-skills"
|
|
|
|
# Run orchestrator
|
|
python "$SKILLS/11-seo-comprehensive-audit/code/scripts/seo_audit_orchestrator.py" \
|
|
--url https://example.com \
|
|
--skills-dir "$SKILLS"
|
|
```
|
|
|
|
### Option B: Manual Stage-by-Stage
|
|
|
|
Run each sub-skill script with `--json` flag, then synthesize:
|
|
|
|
```bash
|
|
# Stage 1: Technical SEO
|
|
python "$SKILLS/12-seo-technical-audit/code/scripts/robots_checker.py" --url $URL --json
|
|
python "$SKILLS/12-seo-technical-audit/code/scripts/sitemap_validator.py" --url "$URL/sitemap.xml" --json
|
|
|
|
# Stage 2: On-Page SEO
|
|
python "$SKILLS/13-seo-on-page-audit/code/scripts/page_analyzer.py" --url $URL --json
|
|
|
|
# Stage 3: Core Web Vitals
|
|
python "$SKILLS/14-seo-core-web-vitals/code/scripts/pagespeed_client.py" --url $URL --json
|
|
|
|
# Stage 4: Schema Validation
|
|
python "$SKILLS/16-seo-schema-validator/code/scripts/schema_validator.py" --url $URL --json
|
|
|
|
# Stage 5: Local SEO (prompt-driven, use WebFetch + WebSearch)
|
|
# Stage 6: Search Console (requires GSC API credentials)
|
|
```
|
|
|
|
## Health Score (Weighted 0-100)
|
|
|
|
| Category | Weight |
|
|
|----------|--------|
|
|
| Technical SEO | 20% |
|
|
| On-Page SEO | 20% |
|
|
| Core Web Vitals | 25% |
|
|
| Schema | 15% |
|
|
| Local SEO | 10% |
|
|
| Search Console | 10% |
|
|
|
|
Scores per category are normalized to 0-100. Skipped stages redistribute their weight proportionally.
|
|
|
|
## Output Format
|
|
|
|
```json
|
|
{
|
|
"url": "https://example.com",
|
|
"audit_date": "2025-01-15",
|
|
"health_score": 72,
|
|
"grade": "B",
|
|
"stages": {
|
|
"technical": {"score": 85, "issues": [], "weight": 0.20},
|
|
"on_page": {"score": 70, "issues": [], "weight": 0.20},
|
|
"core_web_vitals": {"score": 60, "issues": [], "weight": 0.25},
|
|
"schema": {"score": 80, "issues": [], "weight": 0.15},
|
|
"local_seo": {"score": 65, "issues": [], "weight": 0.10},
|
|
"search_console": {"score": 75, "issues": [], "weight": 0.10}
|
|
},
|
|
"critical_issues": [],
|
|
"recommendations": []
|
|
}
|
|
```
|
|
|
|
## Grading Scale
|
|
|
|
| Score | Grade | Status |
|
|
|-------|-------|--------|
|
|
| 90-100 | A | Excellent |
|
|
| 80-89 | B+ | Good |
|
|
| 70-79 | B | Above Average |
|
|
| 60-69 | C | Needs Improvement |
|
|
| 40-59 | D | Poor |
|
|
| 0-39 | F | Critical |
|
|
|
|
## Notion Output (Required)
|
|
|
|
**IMPORTANT**: Summary report MUST be saved to the OurDigital SEO Audit Log database.
|
|
|
|
### Database Configuration
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Database ID | `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` |
|
|
|
|
### Summary Page Title
|
|
|
|
`종합 SEO 감사 보고서 - [domain] - YYYY-MM-DD`
|
|
|
|
### Required Properties
|
|
|
|
| Property | Type | Value |
|
|
|----------|------|-------|
|
|
| Issue | Title | `종합 SEO 감사 보고서 - [domain] - YYYY-MM-DD` |
|
|
| Site | URL | Audited website URL |
|
|
| Category | Select | `Comprehensive Audit` |
|
|
| Priority | Select | Based on health score (Critical if <40, High if <60, Medium if <80, Low if ≥80) |
|
|
| Found Date | Date | Audit date (YYYY-MM-DD) |
|
|
| Audit ID | Rich Text | `COMP-YYYYMMDD-001` |
|
|
|
|
### Individual Issues
|
|
|
|
Create one Notion page per Critical/High finding with:
|
|
- Appropriate Category (Technical SEO, On-page SEO, Performance, Schema/Structured Data, Local SEO)
|
|
- Priority matching the finding severity
|
|
- Audit ID linking back to the comprehensive audit
|
|
|
|
### Language Guidelines
|
|
|
|
- Report content in Korean (한국어)
|
|
- Keep technical English terms as-is (e.g., SEO Audit, Core Web Vitals, Schema Markup)
|
|
- URLs and code remain unchanged
|