---
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
