Add SEO skills 19-28, 31-32 with full Python implementations
12 new skills: Keyword Strategy, SERP Analysis, Position Tracking, Link Building, Content Strategy, E-Commerce SEO, KPI Framework, International SEO, AI Visibility, Knowledge Graph, Competitor Intel, and Crawl Budget. ~20K lines of Python across 25 domain scripts. Updated skill 11 pipeline table and repo CLAUDE.md. Enhanced skill 18 local SEO workflow from jamie.clinic audit. Note: Skill 26 hreflang_validator.py pending (content filter block). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
124
custom-skills/26-seo-international/desktop/SKILL.md
Normal file
124
custom-skills/26-seo-international/desktop/SKILL.md
Normal file
@@ -0,0 +1,124 @@
|
||||
---
|
||||
name: seo-international
|
||||
description: |
|
||||
International SEO audit and hreflang validation for multi-language and multi-region websites.
|
||||
Triggers: hreflang, international SEO, multi-language, multi-region, content parity, x-default, ccTLD, 다국어 SEO.
|
||||
---
|
||||
|
||||
# International SEO Audit
|
||||
|
||||
## Purpose
|
||||
|
||||
Audit international SEO implementation: hreflang tags, URL structure patterns, content parity across language versions, redirect logic, and Korean expansion strategies. Identify issues preventing proper multi-language indexing.
|
||||
|
||||
## Core Capabilities
|
||||
|
||||
1. **Hreflang Validation** - Bidirectional links, self-reference, x-default, language code validation
|
||||
2. **URL Structure Analysis** - ccTLD vs subdomain vs subdirectory pattern detection
|
||||
3. **Content Parity Audit** - Page count comparison, key page availability across languages
|
||||
4. **Redirect Logic Audit** - IP-based, Accept-Language redirects, forced redirect detection
|
||||
5. **Korean Expansion** - Priority markets (ja, zh, en), CJK URL issues, regional search engines
|
||||
|
||||
## MCP Tool Usage
|
||||
|
||||
### Ahrefs for Country Metrics
|
||||
```
|
||||
mcp__ahrefs__site-explorer-metrics-by-country: Country-level traffic distribution
|
||||
mcp__ahrefs__site-explorer-organic-keywords: Keywords filtered by country
|
||||
```
|
||||
|
||||
### Notion for Report Storage
|
||||
```
|
||||
mcp__notion__notion-create-pages: Save audit report to SEO Audit Log database
|
||||
```
|
||||
|
||||
### WebSearch for Best Practices
|
||||
```
|
||||
WebSearch: Research hreflang implementation guides and regional search engine requirements
|
||||
```
|
||||
|
||||
## Workflow
|
||||
|
||||
### 1. Hreflang Validation
|
||||
1. Fetch target URL and extract hreflang tags (HTML head, HTTP headers)
|
||||
2. If sitemap provided, also extract xhtml:link hreflang from XML sitemap
|
||||
3. Validate language codes (ISO 639-1) and region codes (ISO 3166-1)
|
||||
4. Check bidirectional links (if A references B, B must reference A)
|
||||
5. Verify self-referencing tags on each page
|
||||
6. Check x-default tag presence and validity
|
||||
7. Detect conflicting hreflang for same language-region
|
||||
8. Report all errors with severity levels
|
||||
|
||||
### 2. URL Structure Analysis
|
||||
1. Crawl known language versions of the site
|
||||
2. Classify pattern: ccTLD (example.kr), subdomain (ko.example.com), subdirectory (example.com/ko/)
|
||||
3. Check consistency across all language versions
|
||||
4. Provide recommendation based on business context
|
||||
|
||||
### 3. Content Parity Audit
|
||||
1. Discover all language versions from hreflang tags
|
||||
2. Count pages per language version
|
||||
3. Check availability of key pages (home, about, contact, products/services)
|
||||
4. Compare content freshness (last modified dates) across versions
|
||||
5. Flag significant gaps in content availability
|
||||
|
||||
### 4. Redirect Logic Audit
|
||||
1. Test URL with different Accept-Language headers (ko, en, ja, zh)
|
||||
2. Check if redirects are forced (no way to override) vs suggested (banner/popup)
|
||||
3. Flag forced geo/language redirects as anti-pattern
|
||||
4. Recommend proper implementation (suggest, do not force)
|
||||
|
||||
### 5. Korean Expansion Analysis (Optional)
|
||||
1. Analyze current traffic by country via Ahrefs
|
||||
2. Recommend priority target markets for Korean businesses
|
||||
3. Check CJK-specific URL encoding issues
|
||||
4. Advise on regional search engines (Naver, Baidu, Yahoo Japan)
|
||||
|
||||
## Output Format
|
||||
|
||||
```markdown
|
||||
## 다국어 SEO 감사: [domain]
|
||||
|
||||
### Hreflang 검증
|
||||
- 검사 페이지 수: [count]
|
||||
- 오류: [count] (심각 [count], 경고 [count])
|
||||
- 양방향 링크 누락: [list]
|
||||
- 자기참조 누락: [list]
|
||||
- x-default: [있음/없음]
|
||||
|
||||
### URL 구조
|
||||
- 패턴: [ccTLD/subdomain/subdirectory]
|
||||
- 일관성: [양호/비일관]
|
||||
- 권장사항: [recommendation]
|
||||
|
||||
### 콘텐츠 동등성
|
||||
| 언어 | 페이지 수 | 핵심 페이지 | 최신성 점수 |
|
||||
|------|----------|------------|-----------|
|
||||
| ko | 150 | 5/5 | 90 |
|
||||
| en | 120 | 4/5 | 75 |
|
||||
|
||||
### 리다이렉트 로직
|
||||
- IP 기반 리다이렉트: [있음/없음]
|
||||
- 언어 기반 리다이렉트: [있음/없음]
|
||||
- 강제 리다이렉트: [있음/없음] (없어야 정상)
|
||||
|
||||
### 종합 점수: [score]/100
|
||||
|
||||
### 권장 조치사항
|
||||
1. [Priority fixes in Korean]
|
||||
```
|
||||
|
||||
## Notion Output (Required)
|
||||
|
||||
All audit reports MUST be saved to OurDigital SEO Audit Log:
|
||||
- **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef`
|
||||
- **Properties**: Issue (title), Site (url), Category (International SEO), Priority, Found Date, Audit ID
|
||||
- **Language**: Korean with English technical terms
|
||||
- **Audit ID Format**: INTL-YYYYMMDD-NNN
|
||||
|
||||
## Limitations
|
||||
|
||||
- Cannot detect server-side IP-based redirects without proxy testing
|
||||
- Content language detection requires sufficient text content
|
||||
- Large sites (10,000+ pages) require sampling approach
|
||||
- Sitemap-based hreflang requires XML sitemap access
|
||||
8
custom-skills/26-seo-international/desktop/skill.yaml
Normal file
8
custom-skills/26-seo-international/desktop/skill.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
name: seo-international
|
||||
description: |
|
||||
International SEO audit and hreflang validation. Triggers: hreflang, international SEO, multi-language, multi-region, content parity, x-default, ccTLD.
|
||||
allowed-tools:
|
||||
- mcp__ahrefs__*
|
||||
- mcp__notion__*
|
||||
- WebSearch
|
||||
- WebFetch
|
||||
43
custom-skills/26-seo-international/desktop/tools/ahrefs.md
Normal file
43
custom-skills/26-seo-international/desktop/tools/ahrefs.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Ahrefs
|
||||
|
||||
## Tools Used
|
||||
|
||||
### site-explorer-metrics-by-country
|
||||
- **Purpose**: Get country-level organic traffic distribution
|
||||
- **Usage**: Analyze which countries drive traffic to identify international SEO opportunities
|
||||
- **Parameters**: `target` (domain), `country` (optional filter)
|
||||
- **Example**:
|
||||
```
|
||||
mcp__ahrefs__site-explorer-metrics-by-country:
|
||||
target: example.com
|
||||
```
|
||||
|
||||
### site-explorer-organic-keywords
|
||||
- **Purpose**: Get organic keyword rankings filtered by country
|
||||
- **Usage**: Analyze keyword performance in specific markets
|
||||
- **Parameters**: `target` (domain), `country` (ISO country code)
|
||||
- **Example**:
|
||||
```
|
||||
mcp__ahrefs__site-explorer-organic-keywords:
|
||||
target: example.com
|
||||
country: kr
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
- Ahrefs MCP server must be connected in Claude Desktop
|
||||
- API access requires active Ahrefs subscription
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Country Traffic Analysis
|
||||
1. Call `site-explorer-metrics-by-country` to get traffic distribution
|
||||
2. Identify top countries by organic traffic share
|
||||
3. Compare with hreflang implementation coverage
|
||||
4. Flag countries with traffic but no localized version
|
||||
|
||||
### Keyword Gap by Market
|
||||
1. Call `site-explorer-organic-keywords` with country filter
|
||||
2. Compare keyword counts across target markets
|
||||
3. Identify markets with low keyword coverage
|
||||
4. Recommend content localization priorities
|
||||
51
custom-skills/26-seo-international/desktop/tools/notion.md
Normal file
51
custom-skills/26-seo-international/desktop/tools/notion.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Notion
|
||||
|
||||
## Database Configuration
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Database ID | `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` |
|
||||
| URL | https://www.notion.so/dintelligence/2c8581e58a1e8035880be38cefc2f3ef |
|
||||
|
||||
## Required Properties
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| Issue | Title | Report title in Korean with date |
|
||||
| Site | URL | Audited website URL |
|
||||
| Category | Select | "International SEO" |
|
||||
| Priority | Select | Based on hreflang error severity |
|
||||
| Found Date | Date | Audit date (YYYY-MM-DD) |
|
||||
| Audit ID | Rich Text | Format: INTL-YYYYMMDD-NNN |
|
||||
|
||||
## Example: Create Audit Report
|
||||
|
||||
```
|
||||
mcp__notion__notion-create-pages:
|
||||
pages:
|
||||
- parent_id: "2c8581e5-8a1e-8035-880b-e38cefc2f3ef"
|
||||
parent_type: "database"
|
||||
title: "다국어 SEO 감사 - example.com (2025-01-15)"
|
||||
properties:
|
||||
Site:
|
||||
url: "https://example.com"
|
||||
Category:
|
||||
select:
|
||||
name: "International SEO"
|
||||
Priority:
|
||||
select:
|
||||
name: "High"
|
||||
Found Date:
|
||||
date:
|
||||
start: "2025-01-15"
|
||||
Audit ID:
|
||||
rich_text:
|
||||
- text:
|
||||
content: "INTL-20250115-001"
|
||||
```
|
||||
|
||||
## Language Guidelines
|
||||
|
||||
- Report content in Korean (한국어)
|
||||
- Keep technical English terms as-is (hreflang, x-default, ccTLD, subdomain)
|
||||
- URLs and code remain unchanged
|
||||
@@ -0,0 +1,40 @@
|
||||
# WebSearch
|
||||
|
||||
## Purpose
|
||||
|
||||
Search the web for current international SEO best practices, hreflang implementation guides, and regional search engine requirements.
|
||||
|
||||
## Common Search Queries
|
||||
|
||||
### Hreflang Best Practices
|
||||
```
|
||||
WebSearch: "hreflang implementation best practices 2025"
|
||||
WebSearch: "hreflang common errors fix"
|
||||
WebSearch: "x-default hreflang when to use"
|
||||
```
|
||||
|
||||
### Regional Search Engines
|
||||
```
|
||||
WebSearch: "Naver SEO requirements Korean websites"
|
||||
WebSearch: "Baidu SEO China market entry"
|
||||
WebSearch: "Yahoo Japan SEO vs Google Japan"
|
||||
```
|
||||
|
||||
### International URL Structure
|
||||
```
|
||||
WebSearch: "ccTLD vs subdomain vs subdirectory international SEO"
|
||||
WebSearch: "Google recommendations international targeting"
|
||||
```
|
||||
|
||||
### Korean Market Expansion
|
||||
```
|
||||
WebSearch: "Korean business international SEO Japan market"
|
||||
WebSearch: "CJK URL encoding SEO best practices"
|
||||
```
|
||||
|
||||
## Usage Pattern
|
||||
|
||||
1. Search for domain-specific international SEO intelligence
|
||||
2. Verify current Google documentation on hreflang
|
||||
3. Research regional search engine requirements for target markets
|
||||
4. Find competitor international SEO strategies
|
||||
Reference in New Issue
Block a user