seo-backlinks
Analyze a site's backlink profile, anchors, toxic signals, competitors, gaps, and disavow candidates. Use only when links or referring domains are the requested focus.
Install / Use
npx skills add AgriciDaniel/claude-seo --skill seo-backlinksInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
MarketingSupported Platforms
Our assessment of seo-backlinks
seo-backlinks scores 95/100 on our quality scale, 44th of 302 Marketing skills we index (top 15%).
Its SKILL.md is 15 KB long, well organised into 27 sections with 1 code example: a thorough specification that gives an agent plenty to work with.
With 17,676 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 4 days ago, so seo-backlinks is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
seo-backlinks compared with similar skills
All 4 of these similar skills score higher than seo-backlinks; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| seo-backlinks (this skill)by AgriciDaniel | 95 | 17.7k | 4d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 85.8k | 12d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.0k | 1d ago | CLAUDE.md |
| crawl4aiby unclecode | 100 | 84.4k | 2d ago | MCP Server |
| Scraplingby D4Vinci | 100 | 84.1k | today | MCP Server |
Frequently asked questions
- How do I install seo-backlinks?
- Run
npx skills add AgriciDaniel/claude-seo --skill seo-backlinks. The install tabs above show the steps for each supported agent. - Which AI agents does seo-backlinks work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is seo-backlinks safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is seo-backlinks still maintained?
- The repository was last updated 4 days ago, so seo-backlinks is actively maintained.
Skill content
View source on GitHubname: seo-backlinks description: "Analyze a site's backlink profile, anchors, toxic signals, competitors, gaps, and disavow candidates. Use only when links or referring domains are the requested focus." user-invocable: true argument-hint: "<url>" license: MIT compatibility: "Free: Common Crawl + verify always available. Optional: Moz API, Bing Webmaster, Keywords Everywhere (free signup). Premium: DataForSEO extension." metadata: author: AgriciDaniel version: "2.4.0" category: seo
Backlink Profile Analysis
Source Detection
Before analysis, detect available data sources:
- DataForSEO MCP (premium): Check if
backlinks_summarytool is available - Moz API (free signup):
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run backlinks_auth.py --check moz --json - Bing Webmaster (free signup):
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run backlinks_auth.py --check bing --json - Keywords Everywhere (free signup; domain rank plus referring-domain count):
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run backlinks_auth.py --check keywordseverywhere --json - Common Crawl (always available): Domain-level graph with PageRank
- Verification Crawler (always available): Checks if known backlinks still exist
Run "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run backlinks_auth.py --check --json to detect all sources at once.
If no sources are configured beyond the always-available tier:
- Still produce a report using Common Crawl domain metrics
- Suggest: "Run
/seo backlinks setupto add free Moz and Bing API keys for richer data"
Quick Reference
| Command | Purpose |
|---------|---------|
| /seo backlinks <url> | Full backlink profile analysis (uses all available sources) |
| /seo backlinks gap <url1> <url2> | Competitor backlink gap analysis |
| /seo backlinks toxic <url> | Toxic link detection and disavow recommendations |
| /seo backlinks new <url> | New and lost backlinks (DataForSEO only) |
| /seo backlinks verify <url> --links <file> | Verify known backlinks still exist |
| /seo backlinks setup | Show setup instructions for free backlink APIs |
Analysis Framework
Produce all 7 sections below. Each section lists data sources in preference order.
1. Profile Overview
DataForSEO: backlinks_summary → total backlinks, referring domains, domain rank, follow ratio, trend.
Moz API: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run moz_api.py metrics <url> --json → Domain Authority, Page Authority, Spam Score, linking root domains, external links.
Keywords Everywhere: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run keywordseverywhere_api.py rank <domain> --json → 0-10 Open PageRank (open_page_rank), a global rank, and a referring-domain count (referring_domains), per the current API; no anchors or individual links. Use as a fallback when Moz isn't configured; do not use in place of Moz when both are available.
Common Crawl: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run commoncrawl_graph.py <domain> --json → PageRank, harmonic centrality, and low-confidence rank/presence data.
Scoring:
| Metric | Good | Warning | Critical | |--------|------|---------|----------| | Referring domains | >100 | 20-100 | <20 | | Follow ratio | >60% | 40-60% | <40% | | Domain diversity | No single domain >5% | 1 domain >10% | 1 domain >25% | | Trend | Growing or stable | Slow decline | Rapid decline (>20%/quarter) |
2. Anchor Text Distribution
DataForSEO: backlinks_anchors
Moz API: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run moz_api.py anchors <url> --json
Bing Webmaster: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run bing_webmaster.py links <url> --json (extract anchor text from link details)
Healthy distribution benchmarks:
| Anchor Type | Target Range | Over-Optimization Signal | |-------------|-------------|-------------------------| | Branded (company/domain name) | 30-50% | <15% | | URL/naked link | 15-25% | N/A | | Generic ("click here", "learn more") | 10-20% | N/A | | Exact match keyword | 3-10% | >15% | | Partial match keyword | 5-15% | >25% | | Long-tail / natural | 5-15% | N/A |
Flag if exact-match anchors exceed 15% as a review heuristic; it may indicate unnatural or link-spam patterns.
3. Referring Domain Quality
DataForSEO: backlinks_referring_domains
Moz API: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run moz_api.py domains <url> --json → domains with DA scores
Common Crawl: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run commoncrawl_graph.py <domain> --json → domain-level rank/presence data, no verified referring-domain counts
Analyze:
- TLD distribution: .edu, .gov, .org = high authority. Excessive .xyz, .info = low quality
- Country distribution: Match target market. 80%+ from irrelevant countries = PBN signal
- Domain rank distribution: Healthy profiles have links from all authority tiers
- Follow/nofollow per domain: Sites that only nofollow = limited SEO value
4. Toxic Link Detection
DataForSEO: backlinks_bulk_spam_score + toxic patterns from reference
Moz API: Raw vendor spam_score from "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run moz_api.py metrics <url> --json (source-label the value; apply thresholds only if verified against current Moz docs)
Verification Crawler: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run verify_backlinks.py --target <url> --links <file> --json (verify suspicious links still exist)
High-risk indicators (flag immediately):
- Links from known PBN (Private Blog Network) domains
- Unnatural anchor text patterns (100% exact match from a domain)
- Links from penalized or deindexed domains
- Mass directory submissions (50+ directory links)
- Link farms (sites with 10K+ outbound links per page)
- Paid link patterns (footer/sidebar links across all pages of a domain)
Medium-risk indicators (review manually):
- Links from unrelated niches
- Reciprocal link patterns
- Links from thin content pages (<100 words)
- Excessive links from a single domain (>50 backlinks from 1 domain)
Load ../seo/references/backlink-quality.md for the full 30 toxic patterns and disavow criteria.
5. Top Pages by Backlinks
DataForSEO: backlinks_backlinks with target type "page"
Moz API: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run moz_api.py pages <domain> --json
Find:
- Which pages attract the most backlinks
- Pages with high-authority links (link magnets)
- Pages with zero backlinks (internal linking opportunities)
- 404 pages with backlinks (redirect opportunities to reclaim link equity)
6. Competitor Gap Analysis
DataForSEO: backlinks_referring_domains for both domains, then compare
Bing Webmaster: "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run bing_webmaster.py compare <url1> <url2> --json
only when both properties are registered and accessible to the same Bing API
account. For arbitrary competitors, use DataForSEO, Moz, or Common Crawl.
Moz API: Compare DA/PA between domains via "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run moz_api.py metrics <url> --json for each
Output:
- Domains linking to competitor but NOT to target = link building opportunities
- Domains linking to both = validate existing relationships
- Domains linking only to target = competitive advantage
- Top 20 link building opportunities with domain authority
7. New and Lost Backlinks
DataForSEO only: backlinks_backlinks with date filters for 30/60/90 day changes
Verification Crawler: For known links, verify current status with "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run verify_backlinks.py --target <url> --links <file> --json
Note: Free sources cannot track new/lost links over time. If this section is requested without DataForSEO, inform the user: "Link velocity tracking requires the DataForSEO extension. Free sources provide point-in-time snapshots only."
Red flags:
- Sudden spike in new links (possible negative SEO attack)
- Sudden loss of many links (site penalty or content removal)
- Declining velocity over 3+ months (content not attracting links)
Backlink Health Score
Calculate a 0-100 score. When mixing sources, apply confidence weighting:
| Factor | Weight | Sources (preference order) | Confidence | |--------|--------|---------------------------|------------| | Referring domain count | 20% | DataForSEO > Moz | 1.0 / 0.85 | | Domain quality distribution | 20% | DataForSEO > Moz DA distribution | 1.0 / 0.85 | | Anchor text naturalness | 15% | DataForSEO > Moz > Bing anchors | 1.0 / 0.85 / 0.70 | | Toxic link ratio | 20% | DataForSEO > Moz spam score | 1.0 / 0.85 | | Link velocity trend | 10% | DataForSEO only | 1.0 | | Follow/nofollow ratio | 5% | DataForSEO > Bing details | 1.0 / 0.70 | | Geographic relevance | 10% | DataForSEO > Bing country | 1.0 / 0.70 |
Data sufficiency gate: Count how many of the 7 factors have at least one data source available.
- 4+ factors with data: Produce a numeric 0-100 score (redistribute missing weights proportionally)
- Fewer than 4 factors: Do NOT produce a numeric score. Instead display:
Show individual factor scores that ARE available with their source and confidence. Recommend: "Configure Moz API (free) for a scoreable profile. RunBacklink Health Score: INSUFFICIENT DATA (X/7 factors scored)/seo backlinks setup"
MUST NOT: score what you did not measure
When Common Crawl is the only available source, you MUST NOT produce a numeric
score of any kind -- not a health score, not a per-factor score, not an
"approximate" or "estimated" figure. Common Crawl supplies rank and presence
signals only. Report low-confidence rank/presence data and the literal string
Not Assessed in place of every number.
A finding written with source: not-assessed MUST NOT carry a numeric score.
A numeric score with fewer than 4 data sources is misleading: it implies poor health when the reality is that we simply lack data.
Validation gate (required, not optional)
This rule has been stated in this skill before and was violated anyway, so it is now checkable. Before writing any backlink output, run the validator:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run validate_backlink_report.py --report <report>.json --json
Pass the sources you actually collected (cc_data, moz_data, bing_data,
dataforseo_data, scoring_factors, and your findings list). The
source_score_consistency check fails the report with status: FAIL when:
- a numeric score is present but no scoreable source (Moz, Bing, or DataForSEO) supplied data -- i.e. the Common-Crawl-only case, and
- any finding marked
source: not-assessedcarries a numericscore,value, orhealth_score.
If the validator returns status: FAIL, do not present the report. Fix the
findings -- replace the offending numbers with Not Assessed -- and re-run until
it passes.
Output Format
Backlink Health Score: XX/100 (or INSUFFICIENT DATA)
| Section | Status | Score | Data Source | |---------|--------|-------|-------------| | Profile Overview | pass/warn/fail | XX/100 | Moz (0.85) | | Anchor Distribution | pass/warn/fail | XX/100 | Moz (0.85) | | Referring Domain Quality | pass/warn/fail | XX/100 | CC (0.50) | | Toxic Links | pass/warn/fail | XX/100 | Moz Spam (0.85) | | Top Pages | info | N/A | Moz (0.85) | | Link Velocity | pass/warn/fail | XX/100 | DataForSEO only |
Critical Issues (fix immediately)
High Priority (fix within 1 month)
Medium Priority (ongoing improvement)
Link Building Opportunities (top 10)
Error Handling
| Error | Cause | Resolution |
|-------|-------|-----------|
| No sources configured | No API keys, no DataForSEO | Run /seo backlinks setup |
| Moz rate limit | Free tier: 1 req/10s | Wait 10 seconds, retry. Built into script. |
| Bing site not verified | Site not verified in Bing | Verify at https://ww
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
85.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
crawl4ai
84.4kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.
Scrapling
84.1k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
