Add SEO skills 33-34 and fix bugs in skills 19-34
New skills: - Skill 33: Site migration planner with redirect mapping and monitoring - Skill 34: Reporting dashboard with HTML charts and Korean executive reports Bug fixes (Skill 34 - report_aggregator.py): - Add audit_type fallback for skill identification (was only using audit_id prefix) - Extract health scores from nested data dict (technical_score, onpage_score, etc.) - Support subdomain matching in domain filter (blog.ourdigital.org matches ourdigital.org) - Skip self-referencing DASH- aggregated reports Bug fixes (Skill 20 - naver_serp_analyzer.py): - Remove VIEW tab selectors (removed by Naver in 2026) - Add new section detectors: books (도서), shortform (숏폼), influencer (인플루언서) Improvements (Skill 34 - dashboard/executive report): - Add Korean category labels for Chart.js charts (기술 SEO, 온페이지, etc.) - Add Korean trend labels (개선 중 ↑, 안정 →, 하락 중 ↓) - Add English→Korean issue description translation layer (20 common patterns) Documentation improvements: - Add Korean triggers to 4 skill descriptions (19, 25, 28, 31) - Expand Skill 32 SKILL.md from 40→143 lines (was 6/10, added workflow, output format, limitations) - Add output format examples to Skills 27 and 28 SKILL.md - Add limitations sections to Skills 27 and 28 - Update README.md, CLAUDE.md, AGENTS.md for skills 33-34 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
171
custom-skills/33-seo-migration-planner/desktop/SKILL.md
Normal file
171
custom-skills/33-seo-migration-planner/desktop/SKILL.md
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
name: seo-migration-planner
|
||||
description: |
|
||||
SEO site migration planning and monitoring. Triggers: site migration, domain move, redirect mapping, platform migration, URL restructuring, HTTPS migration, subdomain consolidation, 사이트 이전, 도메인 이전, 리디렉트 매핑.
|
||||
---
|
||||
|
||||
# SEO Migration Planner & Monitor
|
||||
|
||||
## Purpose
|
||||
|
||||
Comprehensive site migration planning and post-migration monitoring for SEO: crawl-based URL inventory, traffic/keyword baseline capture via Ahrefs, redirect map generation with per-URL risk scoring, pre-migration checklist creation, and post-launch traffic/indexation/ranking recovery tracking with automated alerts. Supports domain moves, platform changes, URL restructuring, HTTPS migrations, and subdomain consolidation.
|
||||
|
||||
## Core Capabilities
|
||||
|
||||
1. **URL Inventory** - Crawl entire site via Firecrawl to capture all URLs and status codes
|
||||
2. **Traffic Baseline** - Capture per-page traffic, keywords, and backlinks via Ahrefs
|
||||
3. **Redirect Map Generation** - Create old URL -> new URL mappings with 301 redirect rules
|
||||
4. **Risk Scoring** - Score each URL (0-100) based on traffic, backlinks, and keyword rankings
|
||||
5. **Pre-Migration Checklist** - Generate type-specific migration checklist (Korean)
|
||||
6. **Post-Migration Traffic Comparison** - Compare pre vs post traffic by page group
|
||||
7. **Redirect Health Check** - Detect broken redirects, chains, and loops
|
||||
8. **Indexation Tracking** - Monitor indexed page count changes and missing pages
|
||||
9. **Ranking Monitoring** - Track keyword position changes for priority keywords
|
||||
10. **Recovery Estimation** - Estimate traffic recovery timeline based on migration type
|
||||
11. **Alert Generation** - Flag traffic drops >20%, broken redirects, indexation loss
|
||||
|
||||
## MCP Tool Usage
|
||||
|
||||
### Ahrefs for SEO Baseline & Monitoring
|
||||
```
|
||||
mcp__ahrefs__site-explorer-metrics: Current organic metrics (traffic, keywords)
|
||||
mcp__ahrefs__site-explorer-metrics-history: Historical metrics for pre/post comparison
|
||||
mcp__ahrefs__site-explorer-top-pages: Top performing pages for baseline
|
||||
mcp__ahrefs__site-explorer-pages-by-traffic: Pages ranked by traffic for risk scoring
|
||||
mcp__ahrefs__site-explorer-organic-keywords: Keyword rankings per page
|
||||
mcp__ahrefs__site-explorer-referring-domains: Referring domains for risk scoring
|
||||
mcp__ahrefs__site-explorer-backlinks-stats: Backlink overview for migration impact
|
||||
```
|
||||
|
||||
### Firecrawl for URL Inventory & Redirect Verification
|
||||
```
|
||||
mcp__firecrawl__firecrawl_crawl: Crawl entire site for URL inventory
|
||||
mcp__firecrawl__firecrawl_scrape: Verify individual redirect health
|
||||
```
|
||||
|
||||
### Notion for Report Storage
|
||||
```
|
||||
mcp__notion__notion-create-pages: Save reports to SEO Audit Log
|
||||
```
|
||||
|
||||
### Perplexity for Migration Best Practices
|
||||
```
|
||||
mcp__perplexity__search: Research migration best practices and common pitfalls
|
||||
```
|
||||
|
||||
## Workflow
|
||||
|
||||
### Pre-Migration Planning
|
||||
1. Accept target domain, migration type, and new domain (if applicable)
|
||||
2. Crawl URL inventory via Firecrawl (capture all URLs + status codes)
|
||||
3. Fetch Ahrefs top pages baseline (traffic, keywords, backlinks per page)
|
||||
4. Fetch site-level metrics (total traffic, keywords, referring domains)
|
||||
5. Enrich URL inventory with Ahrefs traffic/backlink data
|
||||
6. Score risk per URL (0-100) based on traffic weight (40%), backlinks (30%), keywords (30%)
|
||||
7. Generate redirect map (old URL -> new URL) based on migration type
|
||||
8. Aggregate risk assessment (high/medium/low URL counts, overall risk level)
|
||||
9. Generate pre-migration checklist (common + type-specific items, in Korean)
|
||||
10. Save baseline and plan to Notion
|
||||
|
||||
### Post-Migration Monitoring
|
||||
1. Accept domain, migration date, and optional baseline JSON
|
||||
2. Compare pre vs post traffic using Ahrefs metrics history
|
||||
3. Check redirect health via Firecrawl (broken, chains, loops)
|
||||
4. Track indexation changes (pre vs post page count, missing pages)
|
||||
5. Track keyword ranking changes for priority keywords
|
||||
6. Estimate recovery timeline based on traffic delta and migration type
|
||||
7. Generate alerts for significant issues (traffic >20% drop, broken redirects, etc.)
|
||||
8. Save monitoring report to Notion
|
||||
|
||||
## Output Format
|
||||
|
||||
### Planning Report
|
||||
```markdown
|
||||
## SEO 사이트 이전 계획: [domain]
|
||||
|
||||
### 베이스라인
|
||||
- 전체 URL 수: [count]
|
||||
- 오가닉 트래픽: [traffic]
|
||||
- 오가닉 키워드: [keywords]
|
||||
- 참조 도메인: [count]
|
||||
|
||||
### 위험 평가
|
||||
- 전체 위험도: [HIGH/MEDIUM/LOW]
|
||||
- 고위험 URL: [count]개
|
||||
- 중위험 URL: [count]개
|
||||
- 저위험 URL: [count]개
|
||||
|
||||
### 리디렉트 맵 (상위 위험 URL)
|
||||
| Source URL | Target URL | Risk Score | Priority |
|
||||
|------------|------------|------------|----------|
|
||||
|
||||
### 사전 체크리스트
|
||||
- [ ] Step 1: ...
|
||||
- [ ] Step 2: ...
|
||||
```
|
||||
|
||||
### Monitoring Report
|
||||
```markdown
|
||||
## SEO 이전 모니터링 보고서: [domain]
|
||||
### 이전일: [date] | 경과일: [N]일
|
||||
|
||||
### 알림
|
||||
- [severity] [message]
|
||||
|
||||
### 트래픽 비교
|
||||
| Page Group | Pre | Post | Change | Status |
|
||||
|------------|-----|------|--------|--------|
|
||||
|
||||
### 리디렉트 상태
|
||||
- 전체: [count] | 정상: [count] | 깨짐: [count] | 체인: [count]
|
||||
|
||||
### 인덱싱 현황
|
||||
- 이전 전: [count] | 이전 후: [count] | 변화: [pct]%
|
||||
|
||||
### 회복 예상
|
||||
- 예상 기간: [weeks]주
|
||||
- 현재 회복률: [pct]%
|
||||
```
|
||||
|
||||
## Risk Scoring Methodology
|
||||
|
||||
| Factor | Weight | Scale |
|
||||
|--------|--------|-------|
|
||||
| Traffic | 40% | 1,000+ monthly visits = high risk |
|
||||
| Backlinks | 30% | 50+ referring domains = high risk |
|
||||
| Keywords | 30% | 20+ keyword rankings = high risk |
|
||||
|
||||
### Priority Classification
|
||||
|
||||
| Risk Score | Priority | Action |
|
||||
|------------|----------|--------|
|
||||
| 75-100 | Critical | Manual redirect verification required |
|
||||
| 50-74 | High | Priority redirect with monitoring |
|
||||
| 25-49 | Medium | Standard redirect |
|
||||
| 0-24 | Low | Batch redirect |
|
||||
|
||||
## Alert Thresholds
|
||||
|
||||
| Alert Type | Threshold | Severity |
|
||||
|------------|-----------|----------|
|
||||
| Traffic drop | >20% | warning; >40% critical |
|
||||
| Broken redirects | >0 | warning; >10 critical |
|
||||
| Redirect chains | >0 | warning |
|
||||
| Indexation loss | >10% | warning; >30% critical |
|
||||
| Ranking drop | >5 positions (volume 100+) | warning; >20 keywords critical |
|
||||
|
||||
## Limitations
|
||||
|
||||
- Ahrefs data has ~24h freshness lag
|
||||
- Firecrawl crawl limited to 5,000 URLs per run
|
||||
- Redirect chain detection depends on Firecrawl following redirects
|
||||
- Recovery estimation is heuristic-based on industry averages
|
||||
- URL restructuring requires manual mapping rules (no auto-pattern detection)
|
||||
|
||||
## Notion Output (Required)
|
||||
|
||||
All reports MUST be saved to OurDigital SEO Audit Log:
|
||||
- **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef`
|
||||
- **Properties**: Issue (title), Site (url), Category ("SEO Migration"), Priority, Found Date, Audit ID
|
||||
- **Language**: Korean with English technical terms
|
||||
- **Audit ID Format**: MIGR-YYYYMMDD-NNN
|
||||
Reference in New Issue
Block a user