Skip to content
CONTENT & AUTHORITY / FIELD NOTE 069

How to Audit Your Backlink Profile Like a Senior SEO

Reading map: Before You Start: Defining Audit Scope and Goals; Data Collection: Building the Master Link Dataset; Initial Triage: Automated Filtering; Manual Review: Sampling Methodology
A reading map of this field note. Download SVG ↓

Most backlink audits are theater. An analyst exports a spreadsheet from Ahrefs, runs Semrush's Backlink Audit tool, flags everything with a toxicity score above 50, and calls it an audit. The site owner gets a list of domains to disavow, half of which are legitimate links that simply scored poorly on an automated rubric, and the actual problems — the PBN cluster, the anchor text manipulation, the velocity anomaly — go unaddressed.

A real backlink audit is a structured investigation. It requires multiple data sources, manual review sampling, a clear risk categorization methodology, and — critically — outputs that inform a remediation plan rather than just documenting what exists. This guide covers the full process: from initial data collection through triage, manual review, risk scoring, and producing a defensible deliverable.

Before You Start: Defining Audit Scope and Goals

Every backlink audit has a trigger, and the trigger determines the scope. Before pulling a single data export, answer these questions:

  • Is there an active manual action? If yes, the audit is remediation-focused and must produce a disavow file and reconsideration request documentation.
  • Is this pre-acquisition due diligence? The scope is broader — you need to assess total risk to the buyer, including dormant penalty risk and historical pattern analysis.
  • Is this proactive maintenance? Scope is narrower — focus on new links since the last audit and flag emerging patterns.
  • Is this post-penalty recovery stalled? Focus on historical disavow file quality and whether the original remediation actually addressed the right links.

Establish the site's penalty history before doing anything else. Check Google Search Console for any current or historical manual actions. Cross-reference with archive tools (Wayback Machine, archive.ph) to understand whether the site has changed hands, undergone major content shifts, or been through migrations that might have affected its link profile.

Data Collection: Building the Master Link Dataset

No single tool has complete backlink data. Senior practitioners build a master dataset by merging exports from multiple sources. The goal is to capture links that any one tool might miss.

Required Sources

  1. Ahrefs Site Explorer: The most comprehensive crawl-based index. Export all backlinks (not just "best links" — export everything). Sort by "First seen" to capture historical links.
  2. Google Search Console: Export the full links report. GSC represents what Google actually counts — this is authoritative for understanding your effective link profile.
  3. Majestic: Use both Fresh Index and Historic Index. The Historic Index captures links that no longer exist but may still be cached in Google's graph. This matters for penalty investigations.
  4. Semrush Backlink Analytics: A third independent crawl. Particularly useful for catching links that Ahrefs has missed or deindexed.

Merging the Dataset

Export each dataset as CSV. Merge on the "referring domain" field. Deduplicate at the domain level (not URL level — multiple links from the same domain are still one referring domain). The merged dataset should have one row per unique referring domain with columns for each tool's metrics:

Master dataset columns (one row per referring domain):
- referring_domain
- ahrefs_dr (Domain Rating)
- ahrefs_ur_max (highest UR link from this domain)
- ahrefs_traffic (estimated organic traffic)
- majestic_tf (Trust Flow)
- majestic_cf (Citation Flow)
- majestic_tf_cf_ratio (calculated: TF/CF)
- semrush_authority_score
- semrush_toxicity_score
- gsc_confirmed (boolean: appears in GSC export)
- total_links_from_domain (count)
- anchor_text_sample (first 3 anchors from this domain)
- dofollow_count
- nofollow_count
- first_seen_date (earliest across all tools)
- last_seen_date

This typically yields 20–40% more unique referring domains than any single tool provides. For sites with thousands of referring domains, use Python or Google Sheets with VLOOKUP to automate the merge.

# Python snippet for merging backlink exports
import pandas as pd

ahrefs = pd.read_csv('ahrefs_export.csv')
gsc = pd.read_csv('gsc_links.csv')
majestic = pd.read_csv('majestic_export.csv')
semrush = pd.read_csv('semrush_export.csv')

# Normalize domain column names
ahrefs.rename(columns={'Referring domain': 'domain'}, inplace=True)
gsc.rename(columns={'From': 'domain'}, inplace=True)

# Merge on domain
merged = ahrefs.merge(majestic, on='domain', how='outer')
merged = merged.merge(semrush, on='domain', how='outer')
merged['gsc_confirmed'] = merged['domain'].isin(gsc['domain'])

merged.to_csv('master_backlink_dataset.csv', index=False)
print(f"Total unique domains: {len(merged)}")

Initial Triage: Automated Filtering

With the master dataset built, automated filtering identifies domains that require manual review. The goal is to reduce a potentially massive dataset to a manageable review queue without using automated scores as final disavow decisions.

Apply these filters sequentially to create a "flag for review" column:

# Triage filters — flag any domain meeting ≥2 criteria
Flag criteria:
1. majestic_tf_cf_ratio < 0.2 AND majestic_cf > 15
2. semrush_toxicity_score >= 60
3. ahrefs_traffic == 0 AND ahrefs_dr > 20
   (DR inflated relative to zero traffic — PBN signal)
4. dofollow_count > 5 AND total pages on domain < 10
   (sitewide link on thin site)
5. anchor_text contains exact-match commercial term
   AND domain is not topically related to site
6. domain TLD in (.xyz, .info, .biz, .click, .loan, .top)
   AND tf < 5
7. first_seen_date within 30-day spike window
   (correlate with known velocity anomalies)

Important: these filters identify candidates for review, not candidates for disavow. A domain meeting three of these criteria might still be a legitimate site. Manual review is required before any disavow decision.

Manual Review: Sampling Methodology

Full manual review of every flagged domain is rarely practical. Use stratified sampling to review a representative subset and calibrate your automated flags.

Sample Construction

  • Review 100% of domains with Ahrefs DR above 40 (these matter most — a false positive here costs real PageRank)
  • Review 100% of domains where the anchor text is exact-match commercial (highest risk signal)
  • Sample 30% of domains with toxicity score 60–79
  • Sample 50% of domains with toxicity score 80+
  • Sample 10% of domains with no flags (spot check for false negatives)

What to Check in Manual Review

For each domain in your review queue, open the site and check:

  1. Does the site have real content? Real articles, real authors, readable prose. PBNs and link farms typically have thin, templated, or AI-spun content.
  2. Does the site have real traffic? Check Ahrefs or Semrush organic traffic estimate. Zero traffic on a DR 30+ site is a strong PBN indicator.
  3. Is the link in context? Navigate to the specific linking page. Is the link embedded in relevant content? Is the surrounding text coherent and related to your site's topic?
  4. Is the site indexed? Search site:domain.com in Google. If a DR 30 site has 3 pages indexed, that's a red flag.
  5. What does the Wayback Machine show? Check archive.org. If the domain was previously a casino, adult site, or link farm and recently changed content, the historical footprint matters.
  6. Who owns it? WHOIS data for registration date and registrar patterns. Domains registered in bulk (same registrar, same date, similar WHOIS data) are PBN indicators.

Document your manual review decisions in a spreadsheet with a "manual verdict" column: Clean / Suspicious / Confirmed Spam / Confirmed PBN / Cannot Determine.

Risk Classification Framework

After manual review, classify every referring domain into one of five risk tiers:

Backlink Risk Classification Tiers
Tier Label Description Action
1 Clean Real site, real traffic, contextual link, no spam signals No action
2 Low Risk Real site but low authority, topically irrelevant, or automated signals Monitor only
3 Suspicious Multiple flags, manual review inconclusive, may be auto-ignored by Google Flag for next review cycle; disavow only if penalty present
4 High Risk Confirmed spam patterns, PBN footprint, or manipulative placement Add to disavow file
5 Critical Previously penalized domains, known link networks, confirmed bought links Immediate disavow + outreach attempt documentation

Anchor Text Profile Analysis

Anchor text analysis is a separate analytical track from the domain-level risk assessment. Pull your complete anchor text report from Ahrefs and create a distribution breakdown:

# Ahrefs Anchors report analysis
# Site Explorer → Anchors → Export all

Category mapping:
- Brand: exact brand name, branded variants, misspellings
- Naked URL: full URL, partial URL, www/non-www variants
- Generic: "click here", "here", "source", "website", "this", "read more"
- Partial match: includes primary keyword but not exact commercial phrase
- Exact match: verbatim primary commercial keyword phrase
- Image/Alt: [image], image anchors
- Other: foreign language, numbers, symbols

Target healthy distribution (competitive commercial niches):
Brand: 30–45%
Naked URL: 10–20%
Generic: 5–15%
Partial match: 20–30%
Exact match: <10%
Image: 2–8%

Red flags in anchor text distribution:

  • Exact-match commercial anchors exceeding 15% of total
  • Any single keyword phrase representing more than 10% of all anchors
  • Brand anchor text below 20% (suggests artificial link building that avoided brand anchors to appear diverse)
  • Generic anchors below 5% (natural profiles always have significant generic anchor presence)

Velocity and Historical Pattern Review

Plot referring domain acquisition over time using the "First seen" dates from your master dataset. Look for:

  • Step changes: Sudden jumps in monthly acquisition rate without corresponding content events. These are strong indicators of paid link campaigns.
  • Cliff drops: Sudden drops in referring domains may indicate a previous disavow submission or a PBN network being deindexed. Understand what happened.
  • Seasonal patterns: Some industries have legitimate seasonal velocity variation. Distinguish these from artificial patterns.
  • Correlation with Google algorithm updates: Map your velocity chart against the Google algorithm update timeline. If a velocity spike preceded a major ranking drop, the link pattern may be the cause.

For pre-acquisition audits, this historical pattern analysis is critical. A site that acquired 2,000 referring domains in a 60-day window in 2022 and has barely changed since is carrying historical risk that an automated audit won't surface — you need the temporal analysis to see it.

Competitive Benchmarking

Never assess a backlink profile in isolation. Compare your audit subject against 3–5 direct competitors using the same metrics. This provides context for what's normal in the niche and identifies whether apparent anomalies are niche-specific patterns versus genuine risks.

# Ahrefs Competitive Analysis — key comparison metrics
For each competitor, extract:
- Total referring domains
- DR distribution of referring domains (histogram)
- Anchor text exact-match commercial percentage
- Estimated monthly referring domain growth rate
- Average TF of referring domains (Majestic)
- Percentage of referring domains with organic traffic > 0

Calculate site's metrics as percentile rank vs. competitors
Flag if site is >2 standard deviations above competitors
on exact-match anchor text % or below on average TF

This benchmarking often reveals that what looks alarming in isolation is industry-standard behavior. Conversely, it can reveal that a site's anchor text distribution is far more manipulated than its competitors, which is both a risk signal and an opportunity for remediation.

Building the Audit Deliverable

A professional backlink audit deliverable has distinct sections for distinct audiences. For senior stakeholders: executive summary with risk rating and recommendations. For technical team: full classified dataset with disavow file if warranted. For link builders: anchor text gap analysis and opportunity identification.

The disavow file, if produced, should be a separate deliverable with full documentation. Every domain in it should be traceable to a manual review decision with dated justification. See the disavow file methodology guide for the exact format.

The audit deliverable should also include the opportunity inventory — links that once existed (visible in Majestic Historic Index or Wayback Machine) but no longer point to the site. These reclamation targets are high-conversion outreach opportunities. A link that once existed is a relationship that once existed.

Mini Case Study: E-commerce Site Pre-Migration Audit

A mid-size e-commerce client was migrating from an old domain (Domain A) to a new domain (Domain B) and requested a backlink audit before the migration to understand what was being brought over through 301 redirects.

Site profile: Domain A, 8 years old, DR 52, approximately 4,200 referring domains, no current manual action.

Dataset construction: Merged Ahrefs (4,187 RDs), GSC (3,102 confirmed), Majestic Fresh (3,890), Majestic Historic (5,240 — 1,000+ additional historical domains). Merged master dataset: 5,410 unique referring domains including historical.

Automated triage results: 847 domains flagged for review by at least 2 criteria. Manual review of 100% of DR 40+ flagged domains (312) plus 30% sample of remainder (162 domains total reviewed manually).

Findings:

  • Tier 1 (Clean): 3,680 domains (68%)
  • Tier 2 (Low Risk): 780 domains (14%)
  • Tier 3 (Suspicious): 520 domains (10%)
  • Tier 4 (High Risk): 290 domains (5%)
  • Tier 5 (Critical): 140 domains (3%)

The 140 Tier 5 domains clustered around two identifiable link networks, one of which had been used by a previous agency between 2019 and 2021. Disavow file submitted with 430 domains (Tier 4 + Tier 5) before migration. The Tier 3 domains were added to a monitoring list rather than disavowed — too many legitimate sites with poor metrics to risk a mass disavow.

Outcome: Migration proceeded on schedule. Organic traffic recovered to 94% of pre-migration baseline within 8 weeks, which is substantially above the typical 70–85% recovery range for migrations of this scale. The clean disavow file before migration almost certainly contributed to the clean transfer of link equity.

FAQ

How often should a full backlink audit be conducted?

For active sites with ongoing link building, a full audit annually with quarterly spot-checks is appropriate. For sites that have experienced ranking drops or algorithm update volatility, conduct a full audit immediately. For sites undergoing migrations, acquisitions, or domain changes, audit before and 90 days after the event. Proactive quarterly monitoring using Ahrefs alerts supplemented by a brief monthly review of new referring domains is the minimum ongoing standard.

What's the single most important signal in a backlink audit?

If forced to choose one, it's the anchor text exact-match commercial ratio. It's the signal most directly correlated with manipulative link building at scale, it's the most difficult to fix quickly, and it's something Google has been explicitly targeting since the original Penguin update. A high exact-match ratio with concentrated velocity is the signature pattern of aggressive link manipulation, regardless of what the individual domains look like.

Is it worth auditing nofollow links?

In most cases, no — nofollow links don't pass PageRank and aren't the target of Google's link spam algorithms. However, reviewing them during an investigation of a manual action or suspected negative SEO campaign is worthwhile, because nofollow patterns can reveal the origin and scale of link campaigns even when the dofollow links are the actual problem. Use nofollow data as investigative context, not as a primary audit focus.

My Semrush toxicity score is high but Ahrefs doesn't flag the same domains. Who do I trust?

Neither tool's automated score should be trusted as a final verdict. Semrush's toxicity model tends toward false positives — it's better at catching obvious spam than nuanced manipulation. Ahrefs doesn't have a toxicity score by design; its value is in providing accurate DR, traffic, and anchor text data. Use Semrush toxicity to generate a review queue and Ahrefs metrics plus manual review to make actual decisions. Google Search Console confirmation is the tiebreaker — if GSC doesn't count a domain that Semrush flags as toxic, Google is likely already ignoring it.

How do I handle a site I've just acquired that has a completely undocumented link history?

Treat it as a full forensic audit. Check Majestic Historic Index for all historical links including lost ones. Cross-reference WHOIS history for domain age and ownership changes. Check Wayback Machine for the site's content history — a site that used to serve gambling content and was repurposed for a legitimate business carries its entire link history. Submit a fresh GSC property and check for any existing manual actions immediately. If the profile is severely compromised, consider whether to proceed with the domain or whether a fresh domain with a proper 301 migration strategy serves you better.

Can I use AI tools to speed up the manual review process?

Yes, with significant caveats. AI tools can help classify obvious spam faster — templated content, keyword-stuffed pages, clearly manufactured sites. But the nuanced calls — a legitimate but low-authority site, a formerly compromised domain now operating cleanly, a guest post farm that looks like a real publication — require human judgment. Use AI to pre-classify and prioritize the review queue, not to make final disavow decisions. False positives cost you real PageRank.

What's the difference between a backlink audit and a link prospecting analysis?

An audit is backward-looking: it assesses the existing link profile for risk, quality, and opportunities. A link prospecting analysis is forward-looking: it identifies new sites from which you don't yet have links but should. In practice, the best audits include both — the Majestic Historic Index data on lost links creates a natural prospecting list, and competitive gap analysis surfaces domains linking to competitors but not to you. The two exercises share data infrastructure but have different outputs.

Key Takeaways

  • Build your master dataset by merging Ahrefs, GSC, Majestic (Fresh + Historic), and Semrush — no single tool is complete.
  • Automated toxicity scores are triage tools, not disavow decision tools. Manual review of a stratified sample is required for any professional audit.
  • Review 100% of flagged domains with DR above 40 — these are the links where a false positive costs real PageRank.
  • Anchor text distribution analysis is a separate track from domain risk classification — both are required for a complete audit.
  • Historical velocity analysis reveals patterns that automated tools miss: link spikes, network clusters, and temporal anomalies correlated with ranking changes.
  • Every audit should produce an opportunity inventory alongside the risk report — lost links and competitive gaps are actionable outputs from the same dataset.
  • For pre-acquisition and pre-migration audits, the Majestic Historic Index is indispensable — it captures the full link history, not just current links.

Conclusion

A backlink audit done correctly is a significant investment of time and expertise. The shortcut version — running a tool, exporting a list, disavowing anything above a score threshold — frequently does more harm than good. The full methodology: multi-source data collection, stratified manual review, temporal analysis, and anchor text profiling produces something the shortcut version can't: a defensible, accurate picture of where a site's link profile actually creates risk and where it creates opportunity.

The audit is only as valuable as what you do with it. The risk report should feed directly into a link velocity management strategy that addresses the root causes of any problems identified. The opportunity inventory should feed into your outreach campaigns. And for sites with confirmed manipulation, the disavow file should be submitted with full documentation so future auditors understand the decision history.

External reference: Ahrefs' documentation on their backlink index and Domain Rating methodology provides important context for interpreting the metrics used throughout this audit process.

YOUR READING CHECKLIST

Make the ideas stick.

Mark the sections you’ve worked through. Saved in this browser.

0 of 4 reviewed
Andrii Stanetskyi
ABOUT THE AUTHOR

Andrii Stanetskyi

Head of SEO / Technical SEO Lead based in Tallinn, Estonia. Technical architecture, enterprise eCommerce, Python automation, and AI-assisted workflows.

More about Andrii ↗
LET’S FIND THE REAL BOTTLENECK

A clearer picture.
A practical next step.

Get a focused SEO audit or a consultation on your next technical decision. We’ll agree on the scope and fee before any work begins.

01 / Diagnose02 / Prioritize03 / Plan
How can I help?

Scope and fee agreed before any work begins.

Choose your language

Explore SEO services in 26 languages. Journal articles retain their original language.

ENEnglish↗DEDeutsch↗FRFrançais↗ESEspañol↗ITItaliano↗PTPortuguês↗NLNederlands↗PLPolski↗SVSvenska↗DADansk↗FISuomi↗NONorsk↗ETEesti↗LVLatviešu↗LTLietuvių↗CSČeština↗RORomână↗HUMagyar↗ELΕλληνικά↗BGБългарски↗HRHrvatski↗SKSlovenčina↗SLSlovenščina↗RUРусский↗UKУкраїнська↗TRTürkçe↗
LET’S WORK ON YOUR WEBSITE
A CLEAR NEXT STEP

Let’s talk
about your site.

A focused SEO audit or a conversation about a specific challenge. Tell me where you are and what you want to change.

Andrii Stanetskyi
Andrii StanetskyiHead of SEO / Technical SEO Lead
[email protected] ↗
How can I help?

Scope and fee agreed before any work begins.