Skip to content
Marketing
Skill

/seo-internal-linking

Design internal linking so authority flows to the pages that sell and every page stays crawlable. Input: a sitemap, an article, or a set of posts. Output: money-page mapping, orphan-page fixes, content silos and hub-and-spoke clusters, anchor-text variation,

From plugin
claude-seo-geo
1720 skills

Claude Code

$ npx -y skills add Thibaultbm/claude-seo-geo --skill seo-internal-linking --agent claude-code

SKILL.md

seo-internal-linking.SKILL.md
name: seo-internal-linking
description: "Design internal linking so authority flows to the pages that sell and every page stays crawlable. Input: a sitemap, an article, or a set of posts. Output: money-page mapping, orphan-page fixes, content silos and hub-and-spoke clusters, anchor-text variation, breadcrumb/menu/footer roles, and keyword cannibalization merges with 301s. Use to add internal links, build a topic cluster or silo, fix orphan pages, plan or audit site architecture, or when a page is indexed but never ranks."
license: MIT
metadata:
  author: "Sorank (https://sorank.com)"
  version: "1.0.0"

Internal Linking Architecture

Build the internal link graph that routes authority from blog content to commercial pages, leaves zero pages orphaned, and makes the site hierarchy legible to search engines and, through their indexes, to AI engines.

Company knowledge first (Obsidian)

If the working environment contains an Obsidian vault or any local knowledge base (a folder of .md notes, often with a .obsidian directory), read the relevant notes before acting: brand and product facts, target keywords, competitors, and the SEO action log of what was already tried. Ground every recommendation in that context instead of asking the user for facts the vault already holds. At the end of the session, append the actions taken to the vault's SEO action log so the next session starts informed.

When to use

  • Planning internal links for a new article or page (which targets, which anchors, where).
  • Auditing an existing site for orphan pages, weak structure, or money pages starved of links.
  • Building topic clusters: mini-silos for niche sites, hub and spoke for large sites.
  • Deciding what belongs in the menu and what belongs in the footer.
  • Diagnosing a page that is indexed but gets no impressions or never ranks.
  • Resolving keyword cannibalization between two pages (merge and 301 decisions).
  • Migrating a blog from a subdomain to a subfolder.

Route adjacent jobs to their own skills:

  • External link acquisition and link spots: seo-backlinks.
  • Passage-level citability of a page in AI engines: geo-visibility.
  • BreadcrumbList and other markup implementation: seo-schema-markup.
  • Keyword-to-page mapping and intent analysis: seo-keyword-research.
  • Writing the supporting articles themselves: seo-content-blog.

Workflow

Step 1. Map the money pages

List every page that sells: products, services, collections, pricing, signup, contact. Rank by business value:

  • Direct revenue pages first: service pages, product pages, pricing.
  • Assisted conversion pages second: comparison pages, case studies, contact.
  • For each, record the current inbound internal links (count and source pages).

Why: internal linking is authority budgeting; you cannot route equity before deciding where it must land. Articles are donors, money pages are receivers.

Step 2. Detect orphan pages

Compare the full sitemap URL list against a crawl that starts from the homepage and follows links only. Any URL present in the sitemap but unreachable through links is an orphan. For the crawl and link graph collection, run the bundled crawler:

python3 scripts/site_crawl.py https://example.com --max-pages 500 --out crawl.json

It follows internal links from the homepage (respecting robots.txt) and reports orphans (sitemap URLs never reached by links), click depth, pages with fewer than 3 inbound internal links, broken internal links, links pointing to redirects, redirect chains, linked pages that are noindex or canonicalized away, sitemap entries that should not be there, duplicate titles, meta descriptions and H1, thin pages, cannibalization candidates (same target terms in title and H1, compared within one language), pages whose inbound anchors are mostly generic, and stale pages. If the crawl hits `--max-pages`, raise it before trusting the orphan list.

Orphan causes to check explicitly:

  • Blog redesigns that dropped old posts from the index pages.
  • Products or categories removed from navigation but never redirected.
  • Landing pages created for ads and never linked from anywhere.
  • Pagination changes that cut off deep pages.
  • Localized versions referenced only in hreflang tags, never through visible links.

Why zero tolerance: search engines discover and re-crawl through links; a sitemap entry alone gets a page crawled rarely, indexed unreliably, and ranked almost never.

Step 3. Build the article-to-money-page matrix

For every blog article, assign the 3-5 money pages it should link to, matched on topic:

  • Every article supports at least one commercial page.
  • Every priority money page receives links from at least 3 articles (field heuristic from 115+ agency audits).
  • Place the links inside the body where the topic naturally touches the offer, not parked in a block at the end.

Why: articles capture informational traffic; the matrix is the mechanism that converts that traffic and authority into commercial rankings.

Plan a retroactive re-linking pass. You cannot link from an article to others that do not exist yet, so a corpus built over time accumulates missing cross-links. Schedule a dedicated pass once a batch is published (and re-run it as the corpus grows) to add the article-to-article links that were impossible to place at writing time. This is a recurring maintenance task, not a one-off (field heuristic from 115+ agency audits).

Step 4. Fix the anchors

Rewrite anchors to be descriptive, varied, and natural: a mix of exact keyword, partial match, and descriptive phrases (distribution table below). Eliminate sitewide repetition of one exact-match anchor and systematic "click here".

Step 5. Build mini-silos per service

At the bottom of each service or category page, link 2-3 topically related articles; each of those articles links back to the service page and to its siblings. Scale to hub and spoke on large sites (structures below).

Example for a plumbing company:

  • Servic
Read more
@thibaultbm
Ships withclaude-seo-geo

SEO and GEO skills that work like a specification: they audit a page, compare it with the competitors that rank, and build the fix. Rank in Google and get cited by ChatGPT, Perplexity, Gemini and Google AI Overviews.

Stars on GitHub

Momentum

stars in total
17
Star history of Thibaultbm/claude-seo-geo on GitHub, a chart by star-history.com

Other skills on claude-seo-geo.

geo-tracking

geo-tracking

Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output:…

geo-visibility

geo-visibility

Get cited and recommended by AI engines (ChatGPT, AI Overviews and AI Mode, Perplexity, Claude, Gemini). Input: a page or piece…

seo-audit-pdf

seo-audit-pdf

Turn a finished SEO + GEO audit into a client-ready PDF report with a fixed, polished layout. Input: the findings of an audit…

seo-backlinks

seo-backlinks

Plan and run off-page SEO to earn links and brand mentions, including for AI visibility. Input: a site, niche, and competitors.…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about seo-internal-linking.

Which coding agents can use seo-internal-linking?
seo-internal-linking installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.