Files
our-claude-skills/custom-skills/22-seo-link-building/SKILL.md
Andrew Yim 6ac547e78f
Some checks failed
Verify Skills / verify-skills (push) Has been cancelled
refactor(skills): clean skill names (strip NN- prefix from name:) — convention change
Adopt: directory keeps its NN- ordering prefix; skill `name:` is the clean form
without it (dir 16-seo-schema-validator → name: seo-schema-validator). Nicer to
invoke, matches the original desktop/SKILL.md names, still globally unique.

- 71 root SKILL.md: name: NN-foo → name: foo (flat skills + reference-curator suite).
  Plugins (mac-optimizer/multi-agent-guide/dintel-bootstrap) already clean; 95 already clean.
- scripts/migrate_skill_root.py: derive name = dirname minus NN- prefix (skill_name()).
- CLAUDE.md + SKILL-MIGRATION-GUIDE.md: document the dir-prefix / clean-name convention.

verify_skills.py: 0 name collisions across all renamed skills. (The ~/.claude/skills
symlinks were re-pointed to the clean names separately — filesystem only.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 02:11:01 +09:00

148 lines
6.2 KiB
Markdown

---
name: seo-link-building
description: |
Link building diagnosis and backlink analysis tool.
Triggers: backlink audit, link building, referring domains, toxic links, link gap, broken backlinks, 백링크 분석, 링크빌딩.
---
# SEO Link Building Diagnosis
## Purpose
Analyze backlink profiles, detect toxic links, find competitor link gaps, track link velocity, and map Korean platform links. Provides actionable link building recommendations.
## Core Capabilities
1. **Backlink Profile Audit** - DR, referring domains, dofollow ratio, anchor distribution
2. **Toxic Link Detection** - PBN patterns, spam domains, link farm identification
3. **Competitor Link Gap Analysis** - Domains linking to competitors but not target
4. **Link Velocity Tracking** - New/lost referring domains over time
5. **Broken Backlink Recovery** - Find and reclaim broken high-DR backlinks
6. **Korean Platform Mapping** - Naver Blog, Cafe, Tistory, Brunch, Korean news
## Data Source Selection
This skill can pull backlink data from multiple backends. **Pick one per task** — don't fan out by default (cost + rate limits). Backlink graphs are the most cost-sensitive of all SEO data.
| Backend | Best for | Notes |
|---|---|---|
| **Ahrefs MCP** (`mcp__ahrefs__*`) | **Default** — Ahrefs' backlink graph remains the strongest in the industry. All `site-explorer-*` endpoints. | Primary capability: `site-explorer-domain-rating`, `-backlinks-stats`, `-referring-domains`, `-anchors`, `-broken-backlinks`, `-refdomains-history`. |
| **Semrush MCP** (`mcp__semrush__*`) | Alternative when user is already in Semrush context or wants a second opinion | `backlink_research` covers similar ground; Authority Score replaces DR. Coverage is competitive but not identical to Ahrefs. |
| **OurSEO** | **Not a backlink source.** No backlink graph in the OurSEO stack. | If asked, use OurSEO MCP / CLI only as a supplement for on-page link inventory (`crawl_website` extracts internal/outbound links from the target site itself). |
| **WebSearch / WebFetch** | Manual spot-check of a specific referring URL | Useful for verifying anchor / context of a high-value referring page. |
### How to pick
1. **User named a backend explicitly** → use it.
2. **User preference memory** — read `feedback_seo_tool_preferences.md`; honor the task-type default.
3. **Task is comparison across vendors** (e.g., "verify Ahrefs claims with Semrush") → run both, document the source per metric.
4. **Default**: **Ahrefs MCP** — backlink work is the one SEO task where Ahrefs is the default, not Semrush.
5. **Still ambiguous + non-trivial** → ask once via `AskUserQuestion`.
### Backend call patterns
**Ahrefs MCP (default):**
```
mcp__ahrefs__site-explorer-domain-rating(target="<domain>")
mcp__ahrefs__site-explorer-backlinks-stats(target="<domain>")
mcp__ahrefs__site-explorer-referring-domains(target="<domain>", limit=100)
mcp__ahrefs__site-explorer-anchors(target="<domain>")
mcp__ahrefs__site-explorer-broken-backlinks(target="<domain>", limit=100)
mcp__ahrefs__site-explorer-refdomains-history(target="<domain>", history="weekly")
mcp__ahrefs__site-explorer-all-backlinks(target="<domain>", limit=500)
mcp__ahrefs__site-explorer-linked-anchors-external(target="<competitor>")
```
**Semrush MCP (alternative):**
```
mcp__semrush__backlink_research(query="<domain>", database="us")
mcp__semrush__get_report_schema(report_id="...")
mcp__semrush__execute_report(report_id="...", params={...})
```
**OurSEO (on-page link inventory, supplement only):**
```
mcp__ourseo__crawl_website(url="<domain>", max_pages=100)
# Extract internal/outbound link inventory from crawl output — NOT a backlink graph.
```
### Korean platform mapping
Backlinks from Korean platforms (Naver Blog, Cafe, Tistory, Brunch, Korean news) are often underrepresented in both Ahrefs and Semrush. After pulling from the chosen backend, supplement with `WebSearch` for major Korean directories and brand-name queries on Naver to spot-check coverage gaps.
Always record the chosen data source in the report **Overview** so future audits can compare like-for-like.
## Workflow
### 1. Backlink Profile Audit
1. Fetch Domain Rating via `site-explorer-domain-rating`
2. Get backlink stats via `site-explorer-backlinks-stats`
3. Retrieve referring domains via `site-explorer-referring-domains`
4. Analyze anchor distribution via `site-explorer-anchors`
5. Detect toxic links (PBN patterns, spam keywords, suspicious TLDs)
6. Map Korean platform links from referring domains
7. Report with issues and recommendations
### 2. Link Gap Analysis
1. Fetch target referring domains
2. Fetch competitor referring domains (parallel)
3. Compute set difference (competitor - target)
4. Score opportunities by DR, traffic, category
5. Categorize sources (news, blog, forum, directory, Korean platform)
6. Rank by feasibility and impact
7. Report top opportunities with recommendations
### 3. Link Velocity Check
1. Fetch refdomains-history for last 90 days
2. Calculate new/lost referring domains per period
3. Determine velocity trend (growing/stable/declining)
4. Flag declining velocity as issue
### 4. Broken Backlink Recovery
1. Fetch broken backlinks via `site-explorer-broken-backlinks`
2. Sort by DR (highest value first)
3. Recommend 301 redirects or content recreation
## Output Format
```markdown
## Link Building Audit: [domain]
### Overview
- Domain Rating: [DR]
- Referring Domains: [count]
- Dofollow Ratio: [ratio]
- Toxic Links: [count] ([risk level])
### Anchor Distribution
| Type | Count | % |
|------|-------|---|
| Branded | [n] | [%] |
| Exact Match | [n] | [%] |
| Generic | [n] | [%] |
| Naked URL | [n] | [%] |
### Toxic Links (Top 10)
| Domain | Risk Score | Reason |
|--------|-----------|--------|
### Korean Platform Links
| Platform | Count |
|----------|-------|
### Link Velocity
| Period | New | Lost |
|--------|-----|------|
### Recommendations
1. [Priority actions]
```
## 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 (Link Building), Priority, Found Date, Audit ID
- **Language**: Korean with English technical terms
- **Audit ID Format**: LINK-YYYYMMDD-NNN