seo-aeo-internal-linking – Marketing & SEO skill for AI agents
Maps internal link opportunities between pages with relevant anchor text, placement instructions, orphan-page detection, and cannibalisation checks.
Install the seo-aeo-internal-linking skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/seo-aeo-internal-linking-a8c37.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /seo-aeo-internal-linking – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/seo-aeo-internal-linking-a8c37.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $seo-aeo-internal-linking – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/seo-aeo-internal-linking-a8c37.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /seo-aeo-internal-linking – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/seo-aeo-internal-linking-a8c37.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /seo-aeo-internal-linking – then describe the task you want done.
SKILL.md content
Internal Linking Skill
Description
Activate this skill when the user wants to build, audit, or optimise
the internal link structure across a set of pages or a full site.
Trigger phrases include: "internal linking strategy", "find internal
link opportunities", "link these pages together", "internal link map",
"suggest anchor text", "fix orphan pages", "internal links for
[page or topic]", "link equity distribution".
---
Input Format
{
"pages": [
{
"title": "string — page or post title",
"url": "string — URL if published, leave blank if not yet live",
"primary_keyword": "string — the keyword this page targets",
"page_type": "pillar | cluster-article | landing-page |
blog-post | product-page",
"content_summary": "string — 1-2 sentences describing the page"
}
],
"focus_page": "string — title of the page you most want to
boost with incoming links",
"cluster_context": "string — optional, paste content cluster
output to inform link map",
"product_pages": ["string — product, signup, pricing, or demo pages that should receive relevant CTAs"],
"audit_findings": "string — optional orphan, cannibalization, or priority findings"
}For a foundational content system, ensure every article has a contextual path to a relevant product, signup, pricing, demo, or next-step page. Do not add the same CTA or exact-match anchor mechanically to every article; match the destination to the reader’s intent.
---
Link Type Definitions
This skill recognises four distinct link types.
Every suggestion must be labelled with one:
| Link Type | Direction | SEO Purpose |
|-------------------------|------------------------------------|---------------------------------------------|
| Pillar → Cluster | Pillar page links to cluster post | Distributes authority downward |
| Cluster → Pillar | Cluster post links back to pillar | Consolidates authority upward — highest priority |
| Cluster → Cluster | Cluster post links to related post | Builds semantic depth across the topic |
| Contextual Boost | Any page → focus page | Concentrates link equity on target page |
Rule: Every cluster article must have at least one
Cluster → Pillar link. No exceptions.
---
Anchor Text Rules
Anchor text is critical. Follow these rules on every suggestion:
| Rule | Limit |
|------------------------------------------|------------------------------------|
Use concise descriptive anchor text that accurately describes the destination. Reusing an appropriate anchor is not by itself keyword cannibalization; diagnose overlapping page intent with actual query/page evidence. Avoid repetitive keyword stuffing and inaccessible generic labels, but do not impose invented site-wide anchor quotas.
---
Output Structure
The skill must always produce output in this exact format:
# Internal Linking Report
## Summary
| Metric | Value |
|---------------------------------|------------|
| Total Pages Analysed | [n] |
| Total Link Opportunities Found | [n] |
| Orphan Pages Detected | [n] |
| Cannibalization Risks | [n] |
| Focus Page Incoming Links | [n] |
| Pages Exceeding Link Limit | [n] |
---
## Orphan Page Alert
Pages with no incoming internal links — these may be harder to discover, but can still be found through sitemaps or external links; confirm crawl scope before calling them site-wide orphans:
| Page Title | URL | Fix |
|-----------------------------|----------------------|----------------------------------|
| [title] | [url or "unpublished"]| Link from [suggested source page]|
---
## Link Opportunities
Listed in priority order — highest impact first.
---
### 🔴 High Priority — Do These First
**Link [n]**
| Field | Value |
|--------------------|---------------------------------------------------|
| Link Type | [Cluster → Pillar / Pillar → Cluster / etc] |
| Source Page | [title] |
| Target Page | [title] |
| Anchor Text | [suggested anchor text] |
| Anchor Type | Partial match / Exact match / Branded |
| Placement | [Where in the source page — intro / body / CTA] |
| Context Sentence | "[Write the sentence the anchor should appear in, |
| | with anchor text in brackets like [this]]" |
| Impact | [Why this link matters for SEO or AEO] |
---
**Link [n]**
[same format]
---
### 🟡 Medium Priority — Do These Second
**Link [n]**
[same format]
---
### 🟢 Low Priority — Polish Round
**Link [n]**
[same format]
---
## Cannibalization Risks
Anchor text conflicts that could confuse search engines:
| Anchor Text Used | Used On | Points To | Fix |
|---------------------|----------------------|----------------------|----------------------------|
| [anchor] | [source page title] | [target page title] | [alternative anchor text] |
If none detected: ✅ No cannibalization risks found.
---
## Link Equity Map
Visual representation of how authority flows across the content:
[Focus Page / Pillar: {page title}]
↑ receives links from:
├── [Cluster Article 1] — anchor: [text]
├── [Cluster Article 2] — anchor: [text]
└── [Cluster Article 3] — anchor: [text]
↓ sends links to:
├── [Cluster Article 1] — anchor: [text]
└── [Cluster Article 2] — anchor: [text]
Cross-links between cluster articles:
[Article 1] ↔ [Article 3] — anchor: [text]
[Article 2] → [Article 4] — anchor: [text]
---
## Links Per Page Check
| Page Title | Incoming Links | Outgoing Links | Status |
|---------------------|----------------|----------------|---------------------------------|
| [title] | [n] | [n] | ✅ Healthy / ⚠️ Too many outgoing|
**Rule:** Use a reasonable, useful number of contextual links; there is no universal 100-link ceiling.
**Rule:** Focus page should have the highest incoming link count.
---
## Action Checklist
- [ ] All orphan pages have been linked
- [ ] Every cluster article has a Cluster → Pillar link
- [ ] Repeated anchors assessed for usefulness, not an arbitrary quota
- [ ] No generic anchors ("click here", "read more") present
- [ ] Focus page has the highest incoming link count
- [ ] Outgoing links remain useful and crawlable
- [ ] Cannibalization risks resolved---
Execution Steps
1. Read cluster_context if provided — use it to understand
the pillar/cluster relationships before mapping any links
2. Index all pages by page_type — pillar pages should receive
the most incoming links by default
3. Run orphan detection — flag any page with zero incoming
links from other pages in the input set
4. Build semantic overlap matrix — match pages by
primary_keyword similarity and content_summary
to identify natural linking opportunities
5. Assign each opportunity a link type from the
Link Type Definitions table
6. Write a context sentence for every suggestion —
the sentence should flow naturally and make the anchor
text feel editorially placed, not forced
7. Check anchor text across all suggestions — flag any
exact-match anchor used more than once for the same
target page for editorial review, not automatically as cannibalization
8. Sort all opportunities into High, Medium, and Low
priority tiers based on link type and focus page impact
9. Build the Link Equity Map showing authority flow
10. Run the Links Per Page check — flag any page
with excessive or irrelevant links for its purpose
11. Check product-page paths separately — confirm each
foundational article has at least one relevant conversion route
12. Verify the map against the actual page inventory and links. If the project already provides a semantic-link helper, use it as a supplementary check; otherwise complete the checks manually and record the evidence used.
---
Connected Skills
- Receives output from:
seo-aeo-content-cluster,
seo-aeo-content-quality-auditor
- Feeds output to:
seo-aeo-schema-generator
When to Use
Use when mapping links between existing pages, identifying orphaned content, or improving conversion paths from informational pages.
Limitations
- Counts refer only to inspected pages and links. A proposed link map is not measured PageRank or AI citation impact.
… (full content is in the download package)
Related skills
- seo-aeo-keyword-research – Researches and prioritises keywords from the site context and live search intent…
- seo-aeo-landing-page-writer – Writes or improves conversion-focused landing pages for products, services, and offers…
- seo-aeo-meta-description-generator – Writes title tags, meta descriptions, Open Graph tags, and Twitter Card tags aligned to…
- seo-aeo-orchestrator – Runs an audit-first SEO/AEO growth workflow from project discovery through…
- seo-aeo-schema-generator – Generates and validates implementation-ready JSON-LD structured data for relevant page…
- seo-audit – Diagnose and audit SEO issues affecting crawlability, indexation, rankings, and organic…
- seo-authority-builder – Analyzes content for E-E-A-T signals and suggests improvements to build authority and…
- seo-cannibalization-detector – Analyzes multiple provided pages to identify keyword overlap and potential…