Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyze site's internal link structure and optimize for hub-and-spoke SEO architecture. Triggers on: "optimize internal links", "internal linking", "link structure", "hub and spoke links", "orphan pages", "link equity", "internal link audit", "fix my internal links", "link architecture", "site structure optimization", "internal linking strategy", "link flow", "improve site structure", "find orphan pages", "maximize link equity", "internal link map".
.claude/skills/affitor-internal-linking-optimizer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 120% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 74% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-06 | ✓→✗ | ▼ Worse | 9% | 0% |
Analyze your site's internal link structure and generate an optimized hub-and-spoke linking plan. Finds orphan pages (no internal links pointing to them), identifies link equity bottlenecks, and creates specific linking instructions to maximize SEO impact.
S6: Analytics & Optimization — This is analytics/audit work on existing content. Internal linking is the most underutilized SEO lever — it's 100% in your control and costs nothing.
keyword-cluster-architect — cluster structure defines the ideal link architecturecontent-decay-detectoryamlsite_url: string # REQUIRED — site to analyze # e.g., "myblog.com" pages: object[] # OPTIONAL — known pages with their topics - url: string title: string topic_cluster: string # Which topical cluster it belongs to is_hub: boolean # Is this a hub page? hub_pages: string[] # OPTIONAL — URLs of your hub/pillar pages # Default: auto-detected new_pages: string[] # OPTIONAL — recently published pages needing links # Default: none
Chaining from S3 keyword-cluster-architect: Use keyword_clusters.hub and keyword_clusters.clusters to define ideal link architecture.
web_search: site:[site_url] — discover indexed pagesRead shared/references/seo-strategy.md for internal linking rules.
For each page group:
Flag:
For each issue, provide specific instructions:
Page: [URL]
Action: Add internal link to [target URL]
Anchor text: "[suggested anchor]"
Location: [where in the content to add it]
Priority: [P0/P1/P2]
Reason: [why this link matters]yamloutput_schema_version: "1.0.0" internal_links: site: string pages_analyzed: number issues_found: number links_to_add: number orphan_pages: string[] # Pages with zero/few inlinks hub_pages: string[] # Identified hub pages link_actions: - source_url: string # Page to add the link ON target_url: string # Page to link TO anchor_text: string # Suggested anchor text location: string # Where in the content priority: string # "P0" | "P1" | "P2" reason: string link_structure: # Current state summary total_pages: number avg_inlinks: number avg_outlinks: number max_depth: number chain_metadata: skill_slug: "internal-linking-optimizer" stage: "analytics" timestamp: string suggested_next: - "seo-audit" - "content-decay-detector" - "affiliate-blog-builder"
## Internal Link Audit: [Site]
### Structure Overview
- **Pages analyzed:** XX
- **Orphan pages:** XX (need links urgently)
- **Hub pages:** XX
- **Links to add:** XX
- **Average inlinks per page:** X.X
### Orphan Pages (P0 — fix immediately)
These pages have no/few internal links and are invisible to Google:
1. [URL] — [title] — 0 inlinks
2. [URL] — [title] — 1 inlink
### Link Actions
#### P0 — Critical
| Source Page | → | Target Page | Anchor Text | Location |
|---|---|---|---|---|
| [source] | → | [target] | "[anchor]" | After paragraph about [topic] |
#### P1 — High
[same table]
#### P2 — Maintenance
[same table]
### Hub-and-Spoke Health
| Hub Page | Expected Spokes | Linked Spokes | Missing Links |
|---|---|---|---|
| [hub] | XX | XX | [list missing] |
### Quick Wins
1. [Easiest high-impact link to add]
2. [Second easiest]
3. [Third]keyword-cluster-architect first to define your topic structure."Example 1: "Audit my blog's internal links" → Discover pages, map structure, find orphan pages, generate specific linking instructions with anchor text and placement.
Example 2: "I just published a new article, what should I link to it?" → Identify 3-5 existing pages that should link to the new article, with specific anchor text and paragraph locations.
Example 3: "Optimize internal links based on my keyword clusters" (after keyword-cluster-architect) → Use cluster structure to define ideal hub-spoke links. Compare current vs ideal. Generate gap-filling instructions.
Inspect URL → Request IndexingAfter 4 weeks: check Google Search Console for the orphan pages. Did impressions/clicks increase? After 8 weeks: did rankings improve for target keywords? Internal linking compounds — each optimization makes the next one more powerful.
> Next step — copy-paste this prompt: > "Run an SEO audit on my site to find more optimization opportunities" → runs seo-audit
content-decay-detector (S3) — pages with weak link structure may be decayingseo-audit (S6) — link structure is a key SEO factoraffiliate-blog-builder (S3) — new articles need immediate internal linkskeyword-cluster-architect (S3) — cluster structure defines ideal link architectureaffiliate-blog-builder (S3) — new content that needs linkingseo-audit (S6) — identifies pages with link structure issuesseo-audit (S6) tracks ranking changes after link optimization → measure impact of internal linking changesshared/references/seo-strategy.md — Hub-and-spoke linking rules, anchor text rules, link equity flowshared/references/flywheel-connections.md — Master connection mapOther measured skills in the registry, with their headline benchmark lift.