Backlink Audit logo

Backlink Audit

Organization
OpenClaudia
backlink-audit

Audit a domain's backlink profile using the SemRush API. Use when the user says "audit backlinks", "check my backlinks", "backlink analysis", "link profile", "toxic links", "disavow", "link building opportunities", "referring domains", "anchor text", or asks about a site's link authority.

Overview

PublisherOpenClaudia
Repositoryopenclaudia-skills
Skill namebacklink-audit
Stars
714
Forks
60
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by OpenClaudia on GitHub. Read the source before you install it.

Installation

Install the Backlink Audit AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/OpenClaudia/openclaudia-skills/tree/main/skills/backlink-audit
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/OpenClaudia/openclaudia-skills.git /tmp/openclaudia-skills
mkdir -p .claude/skills
cp -r /tmp/openclaudia-skills/skills/backlink-audit .claude/skills/backlink-audit
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Backlink Audit in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Backlink Audit on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Backlink Audit is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Backlink Audit Skill

You are an expert link building strategist and backlink auditor. Use the SemRush API to analyze a domain's backlink profile, identify toxic links, and find link building opportunities.

Prerequisites

This skill requires either SEMRUSH_API_KEY or AHREFS_API_KEY (or both). Check for them in environment variables or in ~/.claude/.env.global. Prefer whichever is available; if both are present, use SemRush as primary and Ahrefs to cross-reference. If neither is found, inform the user:

This skill requires a SemRush or Ahrefs API key. Set one via:
  export SEMRUSH_API_KEY=your_key_here
  export AHREFS_API_KEY=your_key_here
Or add them to ~/.claude/.env.global

SemRush Backlink API Endpoints

Use curl via the Bash tool. Base URL: https://api.semrush.com/analytics/v1/

Core Endpoints

1. Backlinks Overview

https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_overview&target={domain}&target_type=root_domain&export_columns=total,domains_num,urls_num,ips_num,ipclassc_num,follows_num,nofollows_num,texts_num,images_num,forms_num,frames_num

2. Backlinks List (individual links)

https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks&target={domain}&target_type=root_domain&export_columns=source_url,source_title,target_url,anchor,external_num,internal_num,redirect,nofollow,image,first_seen,last_seen&display_limit=100&display_offset=0

3. Referring Domains

https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_refdomains&target={domain}&target_type=root_domain&export_columns=domain,domain_ascore,backlinks_num,ip,country,first_seen,last_seen&display_limit=100&display_sort=domain_ascore_desc

4. Anchor Text Distribution

https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_anchors&target={domain}&target_type=root_domain&export_columns=anchor,domains_num,backlinks_num&display_limit=50&display_sort=backlinks_num_desc

5. Indexed Pages (pages receiving links)

https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_pages&target={domain}&target_type=root_domain&export_columns=target_url,backlinks_num,domains_num&display_limit=50&display_sort=backlinks_num_desc

6. Competitor Backlinks (for comparison)

# Reuse endpoints above with competitor domain as target

7. Referring Domain Authority Score Domain Authority Score (domain_ascore) is returned with referring domains and ranges 0-100.

Alternative: Ahrefs API

If AHREFS_API_KEY is available (and SemRush is not), use the Ahrefs API v3 endpoints below. All endpoints require the Bearer token header.

Ahrefs Core Endpoints

1. Backlinks Overview (Stats)

bash
# Ahrefs backlinks overview
curl -s "https://api.ahrefs.com/v3/site-explorer/backlinks-stats?target={domain}&output=json" \
  -H "Authorization: Bearer ${AHREFS_API_KEY}"

Returns: live_backlinks, all_time_backlinks, live_refdomains, all_time_refdomains, live_refpages, dofollow_backlinks, nofollow_backlinks.

2. Referring Domains

bash
# Ahrefs referring domains
curl -s "https://api.ahrefs.com/v3/site-explorer/refdomains?target={domain}&output=json&limit=100" \
  -H "Authorization: Bearer ${AHREFS_API_KEY}"

Returns: Array of referring domains with domain, domain_rating, backlinks, first_seen, last_seen, dofollow, nofollow. Sort by domain_rating to see highest-authority referrers first.

3. Backlinks List

bash
curl -s "https://api.ahrefs.com/v3/site-explorer/backlinks?target={domain}&output=json&limit=100&mode=subdomains" \
  -H "Authorization: Bearer ${AHREFS_API_KEY}"

Returns: Individual backlinks with url_from, url_to, anchor, domain_rating, first_seen, last_seen, nofollow, redirect, edu, gov.

4. Anchors

bash
curl -s "https://api.ahrefs.com/v3/site-explorer/anchors?target={domain}&output=json&limit=50&mode=subdomains" \
  -H "Authorization: Bearer ${AHREFS_API_KEY}"

Returns: Anchor text distribution with anchor, backlinks, refdomains.

5. Pages by Backlinks (Best by Links)

bash
curl -s "https://api.ahrefs.com/v3/site-explorer/best-by-links?target={domain}&output=json&limit=50" \
  -H "Authorization: Bearer ${AHREFS_API_KEY}"

Returns: Top linked pages with url, backlinks, refdomains, dofollow.

6. Domain Rating

bash
curl -s "https://api.ahrefs.com/v3/site-explorer/domain-rating?target={domain}&output=json" \
  -H "Authorization: Bearer ${AHREFS_API_KEY}"

Returns: domain_rating (0-100) and ahrefs_rank.

Ahrefs vs. SemRush Field Mapping

When using Ahrefs instead of SemRush, map the fields as follows:

SemRush FieldAhrefs EquivalentNotes
domain_ascoredomain_ratingBoth are 0-100 authority scores
total (backlinks)live_backlinksAhrefs separates live vs. all-time
domains_numlive_refdomainsReferring domains count
follows_numdofollow_backlinksDofollow link count
nofollows_numnofollow_backlinksNofollow link count
first_seen / last_seenfirst_seen / last_seenSame concept, both available

The audit process (Steps 1-7 below) works identically regardless of which API you use. Simply substitute the corresponding endpoints and field names.

Audit Process

Step 1: Pull Backlink Overview

Fetch the backlink overview and summarize:

markdown
## Backlink Profile Summary: {domain}

| Metric | Value |
|--------|-------|
| Total Backlinks | {total} |
| Referring Domains | {domains_num} |
| Referring IPs | {ips_num} |
| Referring Subnets (Class C) | {ipclassc_num} |
| Follow Links | {follows_num} ({%}) |
| Nofollow Links | {nofollows_num} ({%}) |
| Text Links | {texts_num} ({%}) |
| Image Links | {images_num} ({%}) |
| Backlink-to-Domain Ratio | {total/domains_num} |

Step 2: Analyze Referring Domains

Pull the top referring domains sorted by authority score. Evaluate:

Domain Quality Tiers:

TierAuthority ScoreQualityAction
Tier 180-100ExcellentProtect and nurture
Tier 260-79GoodMaintain relationship
Tier 340-59AverageMonitor
Tier 420-39Low qualityReview for relevance
Tier 50-19SuspiciousInvestigate for toxicity

Domain Quality Distribution: Calculate the percentage of referring domains in each tier. A healthy profile should have:

  • Tier 1-2: at least 10-15% of referring domains
  • Tier 3: 30-40%
  • Tier 4: 20-30%
  • Tier 5: < 20% (flag if higher)

Diversity Analysis:

  • Unique IPs vs. referring domains (ratio close to 1:1 is healthy)
  • Unique Class C subnets (should be close to IP count)
  • Country distribution (should match target market)
  • TLD distribution (.com, .org, .edu, .gov diversity is positive)

Step 3: Analyze Anchor Text Distribution

Pull anchor text data and classify each anchor:

Anchor TypeHealthy RangeDescriptionExample
Branded30-50%Brand name or domain"Acme Corp", "acme.com"
Naked URL10-20%Raw URL"https://acme.com/product"
Generic10-15%Non-descriptive text"click here", "read more", "this website"
Topic/Keyword10-20%Natural topic reference"project management software"
Exact Match1-5%Exact target keyword"best project management tool"
Partial Match5-10%Includes target keyword variation"top tools for project management"
Compound5-10%Brand + keyword"Acme project management"
Image (no alt)< 5%Images without alt text[image]

Red flags in anchor text:

  • Exact match > 10% = Over-optimized (Penguin risk)
  • Single anchor > 15% of total = Unnatural concentration
  • Money keyword anchors from low-quality sites = Likely spam
  • Irrelevant anchors (casino, pharma, adult) = Toxic links
  • Foreign language anchors unrelated to business = Likely spam

Step 4: Identify Toxic Links

Score each backlink for toxicity based on these signals:

Toxicity Signals (each adds to a toxicity score 0-100):

SignalWeightDetection Method
Source domain AS < 10+15From referring domains data
Source is known link farm/PBN pattern+30Domain name patterns: keyword-keyword-keyword.com, random strings
Anchor text is exact match keyword+10From anchor text analysis
Source page has 100+ external links+20From external_num column
Source is irrelevant niche+15Compare source domain topic to target
Source has no organic traffic+15Check via domain_organic if budget allows
Link from sitewide (footer/sidebar)+10Same domain, many links to same target
Link from non-indexed page+20Page not in Google (manual check)
Redirect chain to target+10From redirect column
Foreign language + irrelevant+15From anchor text + domain TLD

Toxicity Rating:

  • 0-20: Clean - no action needed
  • 21-40: Monitor - watch for changes
  • 41-60: Suspicious - investigate further
  • 61-80: Likely toxic - consider disavow
  • 81-100: Toxic - add to disavow list

Step 5: Link Velocity Analysis

Analyze the first_seen and last_seen dates to determine:

  • Monthly new links over the past 12 months
  • Monthly lost links (links where last_seen is in the past)
  • Net link growth rate
  • Velocity spikes (unnatural bursts of links)

Healthy velocity patterns:

  • Steady, gradual growth = Natural
  • Correlated with content publishing = Natural
  • Sudden spike then flat = Likely campaign or mention (investigate)
  • Massive spike from low-quality domains = Negative SEO attack (flag immediately)
  • Declining trend = Losing links, need outreach

Step 6: Competitor Comparison

Pull backlink overview for 2-3 competitors and compare:

markdown
## Competitor Backlink Comparison

| Metric | {Your Domain} | {Competitor 1} | {Competitor 2} | {Competitor 3} |
|--------|--------------|----------------|----------------|----------------|
| Total Backlinks | | | | |
| Referring Domains | | | | |
| Avg. Domain AS | | | | |
| Follow % | | | | |
| Link Growth (6mo) | | | | |

Link Gap Analysis: Find domains that link to competitors but not to the target:

  1. Pull top 100 referring domains for each competitor
  2. Filter out domains already linking to the target
  3. Sort by authority score
  4. These are outreach targets

Step 7: Generate Disavow File

If toxic links are found, generate a Google Disavow file:

# Disavow file for {domain}
# Generated: {date}
# Total entries: {count}

# Individual URLs (confirmed toxic)
{url1}
{url2}

# Full domains (majority of links from domain are toxic)
domain:{domain1}
domain:{domain2}

Disavow rules:

  • Only disavow domains where 80%+ of their links are toxic
  • For mixed domains, disavow individual URLs
  • Never disavow high-authority domains (AS > 60) without manual verification
  • Always recommend the user review the list before submitting

Output Report Format

markdown
# Backlink Audit Report: {domain}
**Date:** {date}
**Total Backlinks:** {total}
**Referring Domains:** {count}
**Health Score:** {score}/100

## Executive Summary
{2-3 sentences summarizing the health of the backlink profile}

## Profile Overview
{Overview table from Step 1}

## Referring Domain Quality

### Distribution by Authority
| Tier | Range | Count | Percentage | Status |
|------|-------|-------|-----------|--------|
| Tier 1 | 80-100 | {} | {}% | {Good/Needs more} |
| ... | ... | ... | ... | ... |

### Top 20 Referring Domains
| Domain | Authority | Backlinks | First Seen | Status |
|--------|----------|-----------|-----------|--------|
| {} | {} | {} | {} | {} |

## Anchor Text Analysis

### Distribution
| Type | Percentage | Status |
|------|-----------|--------|
| Branded | {}% | {Healthy/Over/Under} |
| ... | ... | ... |

### Top 20 Anchors
| Anchor | Domains | Backlinks | Type |
|--------|---------|-----------|------|
| {} | {} | {} | {} |

## Toxic Link Analysis

### Summary
- **Total toxic links found:** {count}
- **Toxic referring domains:** {count}
- **Recommended for disavow:** {count}

### Toxic Links Detail
| Source URL | Anchor | Toxicity Score | Signals |
|-----------|--------|---------------|---------|
| {} | {} | {}/100 | {} |

## Link Velocity
{Monthly new/lost links chart description}
{Assessment of velocity health}

## Competitor Comparison
{Comparison table}

## Link Building Opportunities

### Domains Linking to Competitors (Not You)
| Domain | Authority | Links to Competitors | Outreach Strategy |
|--------|----------|---------------------|-------------------|
| {} | {} | {} | {} |

### Recommended Link Building Tactics
1. **{Tactic}** - {Description, estimated effort, expected results}
2. ...

## Action Items

### Immediate (This Week)
1. {Specific action}

### Short Term (This Month)
1. {Specific action}

### Ongoing
1. {Specific action}

## Disavow File
{If applicable, include the generated disavow file content}

Notes

  • SemRush API has rate limits. Space out calls if making many requests.
  • Backlink data may be up to 30 days old. Note this in the report.
  • Never recommend disavowing links from legitimately authoritative domains.
  • For new sites (< 6 months), a small backlink profile is normal, not a problem.
  • Always recommend manual review of the disavow list before submission to Google Search Console.
  • If the user has Google Search Console access, recommend cross-referencing with GSC's link report for the most complete picture.

Frequently asked questions

What does the Backlink Audit AI skill do?

Audit a domain's backlink profile using the SemRush API. Use when the user says "audit backlinks", "check my backlinks", "backlink analysis", "link profile", "toxic links", "disavow", "link building opportunities", "referring domains", "anchor text", or asks about a site's link authority.

Why use Backlink Audit on TypingMind?

Because you install it once and use it with any model. Backlink Audit is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Backlink Audit in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/OpenClaudia/openclaudia-skills/tree/main/skills/backlink-audit. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Backlink Audit?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Backlink Audit?

As many as you like. As long as a model supports skills, you can use Backlink Audit with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Backlink Audit AI skill free?

Yes. It is published on GitHub by OpenClaudia under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇