/internal-linking-optimizer
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
$ npx -y skills add Affitor/affiliate-skills --skill internal-linking-optimizer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/internal-linking-optimizer
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
internal-linking-optimizer.SKILL.mdname: internal-linking-optimizer
description: >
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".
license: MIT
version: "1.0.0"
tags: ["affiliate-marketing", "analytics", "optimization", "tracking", "internal-links", "site-structure"]
compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent"
metadata:
author: affitor
version: "1.0"
stage: S6-Analytics
Internal Linking Optimizer
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.
Stage
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.
When to Use
- User wants to improve their site's SEO through better internal linking
- User asks about "orphan pages", "link structure", "hub and spoke"
- User says "internal linking", "link audit", "link equity"
- After publishing new content — new pages need internal links within 48 hours
- After `keyword-cluster-architect` — cluster structure defines the ideal link architecture
- Monthly maintenance task alongside `content-decay-detector`
Input Schema
site_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.
Workflow
Step 1: Discover Site Structure
1. `web_search`: `site:[site_url]` — discover indexed pages 2. Map pages to topic clusters (if not provided) 3. Identify current hub pages (pages that link to many others) 4. Note orphan pages (pages with few/no internal links pointing to them)
Step 2: Analyze Current Link Structure
Read `shared/references/seo-strategy.md` for internal linking rules.
For each page group:
- Count internal links TO this page (inlinks)
- Count internal links FROM this page (outlinks)
- Check link depth from homepage (should be ≤ 3 clicks)
- Identify the anchor text used
Step 3: Identify Issues
Flag: 1. **Orphan pages** — no or few internal links pointing to them 2. **Hub pages with weak linking** — hub should link to ALL spokes in its cluster 3. **Missing spoke-to-spoke links** — related spokes should link to each other 4. **Broken contextual flow** — pages that should link to each other but don't 5. **Over-linked pages** — too many outlinks dilute link equity 6. **Missing reverse links** — spoke links to hub but hub doesn't link back
Step 4: Generate Linking Instructions
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]
Step 5: Self-Validation
- [ ] Instructions are specific (exact URLs, anchor text, location)
- [ ] Hub-and-spoke architecture is logical
- [ ] Anchor text is natural and keyword-relevant
- [ ] No recommendations to over-link (max 3-5 internal links per 1000 words)
- [ ] New pages have at least 2-3 internal links pointing to them
Output Schema
output_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"Output Format
## 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. [Easies
Read more
name: internal-linking-optimizer description: > 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". license: MIT version: "1.0.0" tags: ["affiliate-marketing", "analytics", "optimization", "tracking", "internal-links", "site-structure"] compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent" metadata: author: affitor version: "1.0" stage: S6-Analytics
Internal Linking Optimizer
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.
Stage
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.
When to Use
- User wants to improve their site's SEO through better internal linking
- User asks about "orphan pages", "link structure", "hub and spoke"
- User says "internal linking", "link audit", "link equity"
- After publishing new content — new pages need internal links within 48 hours
- After `keyword-cluster-architect` — cluster structure defines the ideal link architecture
- Monthly maintenance task alongside `content-decay-detector`
Input Schema
site_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.
Workflow
Step 1: Discover Site Structure
1. `web_search`: `site:[site_url]` — discover indexed pages 2. Map pages to topic clusters (if not provided) 3. Identify current hub pages (pages that link to many others) 4. Note orphan pages (pages with few/no internal links pointing to them)
Step 2: Analyze Current Link Structure
Read `shared/references/seo-strategy.md` for internal linking rules.
For each page group:
- Count internal links TO this page (inlinks)
- Count internal links FROM this page (outlinks)
- Check link depth from homepage (should be ≤ 3 clicks)
- Identify the anchor text used
Step 3: Identify Issues
Flag: 1. **Orphan pages** — no or few internal links pointing to them 2. **Hub pages with weak linking** — hub should link to ALL spokes in its cluster 3. **Missing spoke-to-spoke links** — related spokes should link to each other 4. **Broken contextual flow** — pages that should link to each other but don't 5. **Over-linked pages** — too many outlinks dilute link equity 6. **Missing reverse links** — spoke links to hub but hub doesn't link back
Step 4: Generate Linking Instructions
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]
Step 5: Self-Validation
- [ ] Instructions are specific (exact URLs, anchor text, location)
- [ ] Hub-and-spoke architecture is logical
- [ ] Anchor text is natural and keyword-relevant
- [ ] No recommendations to over-link (max 3-5 internal links per 1000 words)
- [ ] New pages have at least 2-3 internal links pointing to them
Output Schema
output_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"Output Format
## 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. [Easies
Turn any AI into your affiliate marketing team. 52 AI-powered skills across 8 stages with a closed-loop flywheel.
Other skills on affiliate-skills.
- /ab-test-generator
Generate A/B test variants for affiliate content. Triggers on: "create A/B test", "test my headline", "optimize my CTA", "generate variants", "split test ideas", "improve click-through rate", "test my landing page copy", "headline alternatives", "CTA variations", "which version
Open skill - /conversion-tracker
Set up affiliate conversion tracking with UTM parameters and link tagging. Triggers on: "set up tracking", "create UTM links", "track my affiliate links", "tracking pixels", "click attribution", "organize my links", "UTM parameters", "tag my links", "campaign tracking", "link
Open skill - /performance-report
Generate affiliate performance reports with KPIs and recommendations. Triggers on: "show my affiliate report", "how are my programs doing", "performance review", "earnings report", "monthly affiliate report", "weekly report", "analyze my affiliate earnings", "which program is
Open skill - /seo-audit
Audit affiliate blog posts and landing pages for SEO issues. Triggers on: "audit my blog post for SEO", "check my SEO", "SEO review", "improve my rankings", "SEO checklist", "on-page SEO audit", "keyword optimization check", "why isn't my page ranking", "SEO score", "content
Open skill - /content-repurposer
Repurpose one piece of affiliate content into multiple formats. Triggers on: "repurpose my content", "turn my blog into tweets", "cross-post this", "content recycling", "convert to newsletter", "make a tweet thread from this", "adapt for TikTok", "omnichannel content", "scale my
Open skill - /email-automation-builder
Build multi-sequence email automation flows with branching logic. Triggers on: "build email automation", "create email funnel", "email automation flow", "welcome series with branches", "conditional email sequence", "set up automation", "email workflow builder", "segmented email
Open skill

