seo-backlink-gap

$npx mdskill add seranking/seo-skills/seo-backlink-gap

Identifies missing linking opportunities to top competitors

  • User specifies target domain and competitor domains for analysis.
  • Deploys WebFetch tool to fetch referring domains from competitors' sites.
  • Analyzes backlink data to find gaps, considering authority and relevance.
  • Generates a list of potential outreach targets with anchor samples and angles.

SKILL.md

.github/skills/seo-backlink-gapView on GitHub ↗
---
name: seo-backlink-gap
description: Find referring domains that link to multiple competitors but not to your site, then enrich with authority, anchor samples, and outreach angle per row. Produces a prospect list an outreach team can start emailing tomorrow. Use when the user asks for backlink gap analysis, link building opportunities, competitor backlink intersection, link prospecting, or wants referring domains they are missing.
---

> Example output: [examples/seo-backlink-gap-linear-app-20260514/REPORT.md](../../examples/seo-backlink-gap-linear-app-20260514/REPORT.md)

# Backlink Gap

Produce an actionable link-prospecting list: domains linking to your top competitors but not to you, filtered by authority and relevance, enriched with anchor samples and a suggested outreach angle.

## Prerequisites

- SE Ranking MCP server connected.
- Claude's `WebFetch` tool available (used for prospect scoring and topical relevance checks).
- User provides: (a) target domain, (b) 3 to 5 competitor domains, and optionally (c) minimum Domain Trust (default: 25), (d) dofollow-only filter (default: true), (e) minimum intersection count (default: linked by at least 2 of the N competitors).

## Process

1. **Baseline target backlinks** `DATA_getBacklinksRefDomains`, `DATA_getBacklinksSummary`
   - Pull the target domain's existing referring domains to build an exclusion set.
   - Save count and summary metrics for the report.

2. **Per-competitor referring domains** `DATA_getBacklinksRefDomains`
   - For each competitor, pull referring domains with `dofollow_only=true` and `min_domain_trust={threshold}`.
   - Collect as a dict keyed by referring domain with the list of competitors linking to it.

3. **Intersection**
   - Retain referring domains that link to at least the minimum number of competitors.
   - Exclude any domain already in the target's backlink set.

4. **Enrichment** `DATA_getBacklinksAuthority`, `DATA_getBacklinksAnchors`
   - For each candidate, pull: Domain Trust, Page Trust of the linking page, linking-to-competitor anchor samples (top 3 anchors), and country if available.
   - Classify by link type: editorial, resource list, directory, forum/UGC.

5. **Relevance scoring**
   - Score each candidate on: (a) topical overlap (use domain homepage title/meta via WebFetch), (b) DT, (c) intersection count, (d) link-type preference.
   - Suggest an outreach angle per row: local fit, topical fit, competitive parity, resource-list inclusion, broken link, etc.

6. **Produce the prospect list** (see Output Format).

## Output format

Create a folder `seo-backlink-gap-{target-slug}-{YYYYMMDD}/` with:

```
seo-backlink-gap-{target-slug}-{YYYYMMDD}/
├── 01-target-baseline.md
├── 02-competitor-{domain}-refs.md   # one per competitor
├── 03-intersection-raw.md
├── prospects.csv                     # machine-readable output
└── REPORT.md
```

`REPORT.md` follows this shape:

```markdown
# Backlink Gap: {target} vs {competitors}

## Filters applied
- Dofollow only: yes
- Min Domain Trust: {n}
- Min intersection: links to at least {n} of {total} competitors

## Top 25 prospects

| # | Referring domain | DT | Links to | Sample anchor | Link type | Angle | Score |
|---|---|---|---|---|---|---|---|
| 1 | example.com | 68 | {3 of 5} | "best yoga studios" | Resource list | Topical fit | 92 |
| 2 | ... | ... | ... | ... | ... | ... | ... |

## Outreach brief
- Segment these prospects into 3 batches by link type and pitch each batch with a tailored template.
- For editorial links: pitch a unique-angle comparison or original research.
- For resource lists: suggest inclusion with a specific anchor.
- For directories: apply directly.
- For forums/UGC: engage before pitching; these are not cold-outreachable.

## Counts
- Total unique referring domains across competitors: {n}
- Passed filters: {n}
- Already linking to {target}: {n} (excluded)
- Final prospects: {n}

## Files
- prospects.csv: import to Hunter.io, Pitchbox, or your outreach tool
- Per-competitor raw data: 02-competitor-*.md
```

`prospects.csv` columns:
`rank,referring_domain,domain_trust,links_to_count,links_to_competitors,sample_anchor,link_type,outreach_angle,score`

## Tips

- Data API rate limit: 10 requests per second. With 5 competitors, expect 5-10 seconds of sequential API time plus enrichment.
- Do not include subdomains of already-linked domains in the prospect list. If news.example.com links to the target but blog.example.com links only to competitors, treat as already-linked unless the user asks otherwise.
- The "Angle" column is the most important output for outreach. Keep it specific: "Their 'best X tools' list from 2024 is out of date and doesn't include you" beats "topical fit".
- Exclude obvious spam/low-quality domains even if they pass DT thresholds. Use the WebFetch step to sanity-check any prospect scoring above 80.
- If the target already outranks all competitors for branded terms, prioritise non-branded editorial placements over parity directories.

More from seranking/seo-skills

SkillDescription
ai-search-gaps-to-social-campaign>
client-onboarding-proposal>
local-gmb-visibility>
seo-adsPaid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy patterns, who else bids on the same keywords, SERP shopping/ad-pack visibility — and produces a competitive ads brief plus a recommended bid-keyword shortlist. Use when the user asks "paid search analysis", "competitor ads", "PPC competitive", "ad copy intelligence", "shopping pack", "who bids on this keyword", or "paid keyword footprint".
seo-agency-landing-pageGenerate a demand-gen landing page for an SEO agency, complete with pain-point hook, proof, a free-audit lead magnet flow, and CTAs tuned for cold traffic. Pulls real competitive and AI-search data for the agency's target niche to make the copy specific and credible. Use when the user asks for an SEO agency landing page, lead-gen page for an SEO agency, demand-gen page, free-audit landing page, or wants to convert cold traffic into discovery calls.
seo-ai-search-share-of-voiceMeasure AI Search share of voice for a target domain versus competitors across ChatGPT, Perplexity, Gemini, Google AI Overview, and AI Mode. Pulls the AIO leaderboard, then samples prompts where each domain appears as a source or brand mention, and analyses topic clusters each brand owns. Use when the user asks for AI Search share of voice, LLM visibility tracking, AEO/GEO analysis, AI Overview competitive analysis, or wants to know which brands LLMs cite in their category.
seo-ai-social-report>
seo-apiSE Ranking API integration architect. Covers the whole SE Ranking surface — the Data API (keyword research, backlinks, domain & competitor analysis, SERP, website audit, AI Search) and the Project API (rank tracking, project/keyword/backlink management, marketing plan, sub-accounts, AIRT prompts). Answers any "how do I…" question about endpoints, parameters, JSON schemas, credit cost, rate limits, or auth, and produces ready-to-paste cURL / Python / TypeScript / MCP-tool-call recipes. With explicit confirmation it also wires up Project API state — creating projects, adding keywords, configuring audits, setting up AIRT prompt groups. Pulls live tool schemas from the connected MCP. Unlike the analysis skills (briefs, audits, reports), seo-api produces integration recipes and wired-up state. Use when the user asks how to use the SE Ranking API, which endpoint returns a metric, how to build a rank tracker, for Postman / cURL / Python recipes, or how to integrate with Looker / n8n / Make.
seo-backlinks-profileFull backlink profile for a domain — referring domains, anchor text distribution, authority distribution, IP and subnet diversity, growth/decay trend, toxic-candidate flagging. Distinct from `seo-backlink-gap` (which is gap-vs-competitor only). Produces a profile health score and reviewable disavow candidate list (never auto-disavow). Use when the user asks "backlink profile", "link profile audit", "anchor distribution", "toxic links", "disavow candidates", or "backlink health".
seo-competitor-gap-analysisCompare a target domain to its top organic competitors and surface keywords the competitors rank for that the target does not, filtered by intent, volume, and difficulty. Use when the user asks for a competitor gap analysis, keyword gap, organic content gap, missing keyword opportunities, or wants to see what their competitors are ranking for that they are not.