Backlink and link profile analysis. Activates when discussing backlinks, link building, referring domains, anchor text distribution, toxic links, link gaps, digital PR, off-page authority, or link acquisition strategy. Phase 12. Output: {AUDIT_DIR}/backlink-findings.md
From local-seo-auditnpx claudepluginhub anthropics/claude-plugins-community --plugin local-seo-audit-systemThis skill uses the workspace's default tool permissions.
Implements protocol-based DI in Swift for mocking file system, network, iCloud, and APIs to enable deterministic tests with Swift Testing and concurrency.
Provides SwiftUI patterns for @Observable state management, view composition, NavigationStack navigation, environment injection, and performance optimization in iOS/macOS apps.
Provides Swift 6.2 concurrency patterns: single-threaded async defaults, @concurrent background offloading, isolated MainActor conformances to eliminate data-race errors.
Backlinks remain a top-3 ranking factor in 2025, but quality has radically displaced quantity since Google's Helpful Content System (HCS, integrated March 2024) reduced the value of thin, low-traffic sites linking out indiscriminately. A single editorial link from a local newspaper (DA 60–80) is worth more than 100 directory submissions. In 2025, the link-AIO connection is direct: Google AI Overviews preferentially cite domains with strong topical authority and editorial links from trusted sources — earning high-quality local/industry links now functions as both a ranking signal AND an AIO citation trigger. For local businesses, the highest-ROI link building activities are: (1) Chamber of Commerce membership (DA 60–70, 1 hr effort), (2) BBB listing (DA 90, free/paid), and (3) local press mentions via digital PR — all achievable within 30 days.
2025 link building benchmarks:
Read {AUDIT_DIR}/intake-data.md — business name, URL, location, industry.
Read {AUDIT_DIR}/competitor-profiles.md — competitor authority benchmarks.
Read {AUDIT_DIR}/technical-findings.md — redirect issues affecting link equity.
Tools for this phase:
| Tool | Purpose | Cost |
|---|---|---|
| Ahrefs | Referring domains, DR, anchor text distribution, link history, content gap | Paid |
| SEMrush | Backlink Audit (Toxic Score), Link Building Tool, Backlink Gap | Paid |
| Majestic | Trust Flow (TF) / Citation Flow (CF) ratio — quality vs. quantity signal | Paid/Free |
| Moz Link Explorer | Domain Authority, Spam Score, link profile overview | Paid/Free (limited) |
| Google Search Console | Top linking sites, anchor text, disavow file management | Free (requires access) |
| Bing Webmaster Tools | Comprehensive inbound link data — often shows links GSC misses | Free |
| OpenLinkProfiler | Free link analysis up to 200K links | Free |
2025 Link Building Context: Google's Helpful Content System (March 2024) reduced the value of thin, low-traffic links while increasing the weight of editorial, topical-relevance links. AI Overviews cite topically authoritative domains — earning topical links from local news and industry publications now doubles as both ranking signal AND AIO citation trigger.
Pull data from Ahrefs (Site Explorer → Overview) and GSC (Links report):
| Metric | Client | Industry Avg | Comp 1 | Comp 2 | Gap |
|---|---|---|---|---|---|
| Total referring domains | |||||
| Total backlinks | |||||
| Dofollow referring domains | |||||
| Nofollow referring domains | |||||
| Domain Rating / DA | |||||
| Majestic Trust Flow (TF) | |||||
| Majestic Citation Flow (CF) | |||||
| TF:CF ratio (target ≥0.5) | |||||
| Link velocity (new RDs/month) | |||||
| % links from niche-relevant sites |
TF:CF ratio interpretation:
| Type | Count | % | SEO Value |
|---|---|---|---|
| Editorial (in-content, earned) | High | ||
| Directory listings | Medium | ||
| Social profiles | Low-Medium | ||
| Forum / comment links | Low | ||
| Press releases / news citations | High | ||
| Guest posts | Medium-High | ||
| Sponsorships / events | Medium | ||
| Sitewide footer/sidebar | Low | ||
| Unknown / misc | Unknown |
Over-optimized anchor text = unnatural link pattern = algorithmic penalty risk.
Use Ahrefs → Site Explorer → Anchors:
| Anchor Type | Current % | Healthy Target | Status |
|---|---|---|---|
| Brand name (exact: "Acme Plumbing") | % | 40–55% | |
| Domain URL (acmeplumbing.com) | % | 20–30% | |
| Generic ("click here", "this site", "website") | % | 10–15% | |
| Exact-match keyword ("chicago plumber") | % | <10% — ❌ if >15% | |
| Partial-match keyword ("best plumber near me") | % | <10% | |
| Brand + keyword ("Acme Plumbing Chicago") | % | <10% (natural) | |
| Naked URL (https://...) | % | <5% | |
| Other / compound | % | Remainder |
Red flags:
For top 50 referring domains (Ahrefs → Top 100 Referring Domains → sort by DR):
| Domain | DR/TF | Relevance | Link Type | Dofollow? | Traffic? | Value |
|---|---|---|---|---|---|---|
| [domain] | High/Med/Low | Editorial/Dir | ✅/❌ | Yes/No | High/Med/Low |
Quality signals checklist (assess each top domain):
| Referring Domain | DR | Linked Page | Anchor | Editorial? | Acquired How? |
|---|---|---|---|---|---|
| [domain] | [page] | [anchor] | Yes/No |
Use SEMrush Backlink Audit (Toxic Score) and Majestic (TF:CF) to identify risk:
| Toxic Pattern | Risk Level | Detection | Count | Action |
|---|---|---|---|---|
| PBN networks (sites existing only to sell links) | Critical | Ahrefs → Links from same IP blocks | Disavow | |
| Foreign gambling/pharma spam | Critical | Anchor text analysis | Disavow | |
| Link farms (1000s of outbound links) | High | Majestic CF >> TF | Disavow | |
| Auto-generated spun content sites | High | Low TF, high CF, random content | Disavow | |
| Comment spam (at scale) | Medium | Blog comment pattern | Disavow | |
| Exact-match anchor overdose | High | Anchor distribution | Monitor | |
| Links from deindexed sites | High | site:domain.com returns nothing | Disavow | |
| Sitewide links from unrelated sites | Medium | Ahrefs link type filter | Evaluate |
Use Ahrefs Content Gap (switch to "Backlinks" mode) or SEMrush Backlink Gap:
| Metric | Client | Comp 1 | Comp 2 | Comp 3 | Gap to Leader |
|---|---|---|---|---|---|
| Referring domains | |||||
| Average RD Domain Rating | |||||
| Local/niche relevant RDs | |||||
| Links from local news | |||||
| Industry directory links | |||||
| Link velocity (RDs/month) |
These are minimum table-stakes links client must acquire:
| Site | Why It Matters | How to Get It | Effort |
|---|---|---|---|
| BBB (bbb.org) — DA 90 | Trust signal, AIO citation | Membership application | 1 hr, $X/yr |
| Chamber of Commerce | DA 60+, local relevance | Membership | 1–2 hrs |
| [Local newspaper].com | High-trust local editorial | Pitch news angle | 2–4 hrs |
| [Industry directory] | Niche relevance | Listing submission | 30 min |
| Competitor | Unique High-Value Link | How Earned | Replication Strategy |
|---|---|---|---|
| Comp 1 | [authoritative site] | [article/sponsorship] | [strategy] |
| Comp 2 | [local news piece] | [newsworthy event] | [pitch angle] |
1. Local Authority Links (Highest Impact per effort)
| Opportunity | Target DA | Effort | Timeline | Priority |
|---|---|---|---|---|
| Chamber of Commerce | 60–70 | 1–2 hrs | Week 1 | 5×5=25 |
| BBB membership | 90 | 1 hr | Week 1 | 5×5=25 |
| City government vendor directory | 70–80 | 1 hr | Week 1 | 5×5=25 |
| Local business association | 50–60 | 2–4 hrs | Week 2 | 4×5=20 |
| Local newspaper feature | 60–80 | 4–8 hrs | Month 1 | 5×3=15 |
2. Industry Directory Links Use Whitespark Citation Finder to identify top 10 industry directories:
| Directory | Niche | DA | Listed? | Action |
|---|---|---|---|---|
| [Angi/HomeAdvisor] | Home services | 80 | Yes/No | Submit |
| [Houzz] | Home/decor | 90 | Yes/No | Submit |
| [Thumbtack] | Services | 75 | Yes/No | Submit |
3. Digital PR (Link-Earning Content)
| Angle | Target Publications | Links Expected | Effort |
|---|---|---|---|
| Local statistics: "[X%] of [city] homeowners..." | Local news, [City] magazine | 3–8 links | 8–16 hrs |
| Expert commentary for local journalists | Local TV/newspaper | 2–5 links | 2–4 hrs |
| Community sponsorship (charity, little league) | Event + local coverage | 2–4 links | $X + 2 hrs |
| Original local market research | Industry publications | 5–15 links | 20–40 hrs |
4. Unlinked Brand Mentions
Search "[Business Name]" -site:[domain] in Google and Ahrefs Alerts:
5. Broken Link Building
From Ahrefs → New/Lost Referring Domains → chart view:
| Period | New RDs | Lost RDs | Net | Interpretation |
|---|---|---|---|---|
| Last 30 days | ||||
| 31–60 days ago | ||||
| 61–90 days ago | ||||
| 6 months ago |
Flags:
External authority distributes through internal links. Cross-reference {AUDIT_DIR}/technical-findings.md:
Run Ahrefs → Site Explorer → Pages → filter by Internal Links count — flag pages with 0 or 1 internal link.
site:[city].gov business directory. Effort: 1 hr. Priority: 20."[Business Name]" -site:[domain] in Google. Find 5 mentions → email webmaster: "Thanks for mentioning us — could you add a link?" Expected: 15–20% response rate. Effort: 30 min/mention.| Link Source | AIO Benefit | SEO Benefit |
|---|---|---|
| Local news editorial | AIO citations favor domains mentioned by authoritative local sources | High-DA, topical local relevance |
| Industry association | AI recognizes business entity as industry-certified | Topical authority signal |
| .edu partnerships | AIO trusts .edu domains as authoritative sources | High-trust domain |
| BBB Accredited | AI recommendation thresholds often check BBB status | DA 90, trust signal |
| Google Business Profile | GBP website link counts as citation even if nofollow | Local entity verification |
| Action | Impact (1–5) | Feasibility (1–5) | Priority | Effort |
|---|---|---|---|---|
| BBB membership (DA 90 link) | 4 | 5 | 20 | 1 hr |
| Chamber of Commerce join | 4 | 5 | 20 | 1–2 hrs |
| City government vendor directory | 4 | 5 | 20 | 1 hr |
| Unlinked mention outreach | 3 | 5 | 15 | 30 min/mention |
| Industry directory submissions | 3 | 5 | 15 | 30 min each |
| Local newspaper pitch | 5 | 3 | 15 | 4–8 hrs |
| Digital PR original research | 5 | 2 | 10 | 20–40 hrs |
| Disavow toxic links (if confirmed) | 4 | 4 | 16 | 2–4 hrs |
| Recover lost DA 30+ links (Ahrefs) | 4 | 4 | 16 | 30 min/link |
| Cross-referral partner links | 3 | 4 | 12 | 2 hrs |
| Category | Weight | Score |
|---|---|---|
| Referring domain count vs. competitors | 20% | /20 |
| Link quality (TF:CF ≥0.5, editorial, niche-relevant) | 30% | /30 |
| Anchor text distribution (natural — brand dominant) | 20% | /20 |
| No toxic/manipulative links | 15% | /15 |
| Link velocity (consistent monthly growth) | 15% | /15 |
Veto: Confirmed manual action for unnatural links → maximum 40/100 until resolved.
Write to {AUDIT_DIR}/backlink-findings.md with YAML frontmatter. Also write HTML report to {REPORTS_DIR}/phase-12-backlinks.html and convert to PDF via python3 scripts/generate_pdf.py.
---
skill: strategy/backlink-audit
phase: 12
date: [YYYY-MM-DD]
business: [Business Name]
url: [URL]
score: [X/100]
referring_domains: [X]
domain_rating: [X]
tf_cf_ratio: [X.X]
toxic_links_found: [yes|no|count]
---
Include:
Key consumers:
audit/penalty-check — reads for toxic link and anchor text signalscross-cutting/serp-trust-auditor — Off-Page Authority dimensionoutput/report-generation — backlink score in master report section 12