[ SEO ]
/seo-backlinks
Backed by `.claude/context/ai-seo/playbook/07-backlinks.md` (+ Disavow prompt in `prompts/`).
ACME Agency, <id> and you@example.com mark values that are per-agency — your install fills them with YOUR clients and accounts. If a section references a helper script you don't have yet, it ships with that workflow's install./seo-backlinks — Backlinks & Off-Page Authority
Backed by .claude/context/ai-seo/playbook/07-backlinks.md (+ Disavow prompt in prompts/).
When to trigger
- "Find link opportunities for ACME Agency", "build a backlink plan", "anchor text plan", "disavow toxic links", "/seo-backlinks".
- After the site has its Core 30 pages live (links point at existing content) or when
/local-seo-auditflags low authority.
What it produces
A Google Doc "Backlinks / Authority — <Client>" with: a prioritized local link-opportunity list (with how to acquire each), an anchor-text distribution plan, internal/outbound link guidance, link-velocity rules, and (if toxic links are suspected) a disavow analysis + the disavow file approach.
Step-by-Step
1. Parse
First positional = client/business. Flags: --url, --location, --niche, --dry-run.
2. Gather context
node ACME Agency/scripts/seo_run.mjs --skill backlinks --mode gather --client "<name>" --url "<url>" --location "<city>"
Read the CONTEXT (business + location → local link landscape).
3. Read the method
Read .claude/context/ai-seo/playbook/07-backlinks.md fully. Lock in: how authority is passed, the local link sources to prioritize, the 30-20-30-5-15 anchor ratio (30% branded / 20% generic / 30% partial-match / 5% exact-match used only after 20-40+ total links / 15% natural variations), the "every URL needs ≥1 link" rule, link-velocity caution, and the disavow process. Load the verbatim Disavow prompt via prompts/.
4. Build the plan (markdown)
- Link opportunities — table:
| Opportunity | Type | How to acquire | Priority |. Prioritize local: chamber of commerce, local sponsorships, local directories/citations, supplier/partner pages, local press. UseWebSearchto find real, named local opportunities for this niche+city where possible (don't invent specific URLs you didn't find — label generic categories as such). - Anchor-text plan — apply the 30-20-30-5-15 distribution; give example anchors in each bucket for this business.
- Internal + outbound links — internal linking pattern + 1-2 authority outbound targets per money page.
- Disavow — if the user provides a backlink export (or you have reason to suspect spam), run the Disavow prompt and produce the disavow analysis +
disavow.txtformat; otherwise note it as an optional follow-up needing a Search Console/Ahrefs export. - Velocity & cautions — natural pace, what to avoid (PBNs as ranking links, over-optimized exact-match).
Write to ACME Agency/clients/<Client>/SEO/backlinks.md (or /tmp).
5. Save + report
node ACME Agency/scripts/seo_run.mjs --skill backlinks --mode save --client "<name>" \
--in "<backlinks.md>" --title "Backlinks / Authority — <Client>" \
--slack "*Backlinks / Authority — <Client>*
<N> local link opportunities, anchor plan ready. Disavow: <status>."
Add --dry-run to skip Drive/Slack. Output the Doc link.
Guardrails
- Plan only — no automated outreach or link placement; the team runs outreach.
- Don't fabricate specific link URLs — only list named opportunities you actually found; otherwise describe the category.
- Anchor discipline: exact-match only sparingly and only after enough total links exist, per the ratio.