Claude Code skills

Claude Code Skills for Internal Linking: 9 Free and Paid Options (2026)

The best Claude Code skills for internal linking in 2026: find orphan pages, vary anchor text, build hubs, and bulk-edit links. Free vs paid, compared.

Ritik Namdev Ritik Namdev ·Published 1 November 2026 ·18 min read ·Last verified November 2026

Most sites have pages nobody links to. They sit in the sitemap, Google may or may not crawl them, and readers never find them. Fixing that by hand means opening every post, remembering every other post, and writing anchors that do not all say the same thing.

Quick answer: start with Infrasity’s free orphan-page audit skill to find pages with no inbound links, add kostja94’s internal-links skill for anchor variety and hub rules, and let Claude Code edit the Markdown in a Git repo so you review every change as a diff. On WordPress, a paid plugin such as Link Whisper is still simpler.

Claude Code skills turn that chore into a repeatable job. A skill can read your sitemap or your content folder, map who links to whom, flag orphans, propose links with varied anchors, and then edit the Markdown files in your repo directly. This guide covers the skills worth installing, what each one does, how to install it, and where a paid plugin like Link Whisper still makes more sense.

Every repo stat below was pulled from the GitHub API on 2026-11-01. Every price was checked on the vendor page that day, or marked “pricing not public” when it could not be confirmed.

What are Claude Code skills for internal linking?

Short answer: Claude Code skills for internal linking are SKILL.md instruction folders that teach Claude Code how to audit and improve the links between your own pages. They find orphan pages, suggest contextual links, vary anchor text, and can edit files across a repo. Most are free and open source on GitHub. Paid tools mostly come as WordPress plugins or SEO data subscriptions you connect through MCP.

A skill is a folder with a SKILL.md file and optional reference files or scripts. Claude Code loads it from ~/.claude/skills (available in every project) or .claude/skills (one project only), or from a plugin installed through a /plugin marketplace. If that is new to you, start with what Claude Code skills are and how they load.

For internal linking, skills fall into three groups:

TypeWhat it gives ClaudeExample
Strategy skillRules: anchor variety, hub-and-spoke, link from strong pages to weak oneskostja94 internal-links, MadAppGang link-strategy
Audit workflow skillA step-by-step crawl and report processInfrasity orphan-pages-internal-linking-opportunities
Agent or data connectorA subagent or MCP server that supplies link dataseomachine internal-linker agent, Ahrefs MCP

The difference matters. A strategy skill makes Claude’s suggestions better, but it does not crawl anything. An audit workflow tells Claude exactly which pages to fetch and what to output. A data connector gives Claude numbers it cannot get alone, like which pages have backlinks or search impressions.

Takeaway: pair one strategy skill with one audit workflow, then add data only if you need it.

Why internal linking is worth automating

Short answer: internal links decide how crawlers discover pages and how readers move through a site. Google’s own documentation says it finds pages through links and uses anchor text to understand them. On a site with hundreds of posts, no person can hold the whole link graph in their head, so orphans and repetitive anchors build up quietly.

Google’s link guidance (Google Search Central, “Link best practices”) asks for crawlable <a href> links and descriptive anchor text that is “reasonably concise” and relevant to the target page. That is the whole game, and it is easy to describe and slow to do.

The three problems that build up

  1. Orphan pages. A post published without any inbound link only gets found through the sitemap. New posts are the usual victims, because nobody goes back to older posts to link forward.
  2. Anchor monotony. When a writer links to the same guide twenty times, it is tempting to reuse the exact keyword every time. Sources that track internal linking, including Internal Link Juicer’s mistakes guide, flag identical anchors on every link as a pattern to avoid.
  3. Flat structure. Without a plan, posts link to whatever the writer remembered, not to the hub page that should collect authority for a topic.

Why Claude Code fits this job

Internal linking is a reading problem. You need to understand what each page is about, notice where a phrase naturally points to another page, and write a sentence-level edit. That is close to what a language model does well. Claude Code adds file access, so the edit lands in your repo instead of in a chat window you copy from.

Plugins like Link Whisper match keywords inside WordPress. Claude Code can read your whole content folder, reason about topical fit, and show a diff before anything changes. The tradeoff: plugins work inside the CMS with a click, while Claude Code needs files, an API, or a crawl.

Takeaway: automate the finding and drafting. Keep a human on the approve button.

The best Claude Code skills for internal linking (free)

Short answer: the strongest free options in November 2026 are Infrasity’s orphan-page audit skill, kostja94’s internal-links skill, Aaron He Zhu’s site-structure-optimizer, MadAppGang’s link-strategy, and the internal-linker agent inside seomachine. Broader SEO suites like claude-seo and coreyhaines31/marketingskills help around the edges but do not ship a dedicated internal-linking skill.

Star counts and last-push dates come from the GitHub API on 2026-11-01. Stars measure attention, not quality, so read each SKILL.md before you trust it.

1. Infrasity orphan-pages-internal-linking-opportunities

  • Source: github.com/Infrasity-Labs/dev-gtm-claude-skills (152 stars, last push 2026-06-28)
  • Price: free
  • What it does: you run /orphan-pages-internal-linking-opportunities example.com. It normalizes the domain, reads robots.txt for the sitemap, fetches the sitemap, maps internal links across blog posts, finds orphans, and writes a self-contained HTML report. Its description says it generates “keyword-backed interlinking briefs via DataForSEO,” so you need DataForSEO credentials for that part.
  • Install: clone the repo and copy skills/orphan-pages-internal-linking-opportunities into ~/.claude/skills/.
  • Best for: a one-shot orphan audit of a live site you do not have as files.
  • Source: github.com/kostja94/marketing-skills, path skills/seo/on-page/internal-links (1,071 stars, last push 2026-10-26)
  • Price: free
  • What it does: a strategy skill. It triggers on phrases like “internal linking,” “anchor text,” “link equity,” and “orphan pages,” then asks Claude to identify hub pages, orphans, and priority pages before recommending links. It points to a separate website-structure skill for information architecture.
  • Install: npx -y skills add kostja94/marketing-skills --skill internal-links --agent claude-code (the command listed on claudemarketplaces.com).
  • Best for: better judgment on any linking task, combined with your own file access.

3. Aaron He Zhu site-structure-optimizer

  • Source: github.com/aaron-he-zhu/aaron-marketing-skills (3,046 stars, last push 2026-11-01)
  • Price: free
  • What it does: this replaced the older internal-linking-optimizer from seo-geo-claude-skills, which is now a signpost repo. The old skill was merged into site-structure-optimizer, and a frozen copy stays at tag v9.9.12. Directory listings for the older version note it plans links from data you supply and does not crawl on its own.
  • Install: npx skills add aaron-he-zhu/aaron-marketing-skills -s site-structure-optimizer
  • Best for: hub-and-spoke planning alongside other site structure work.
  • Source: github.com/MadAppGang/claude-code, path plugins/seo/skills/link-strategy (286 stars, last push 2026-03-15)
  • Price: free
  • What it does: short, opinionated principles: link from high-authority pages to low ones, use descriptive anchors instead of “click here,” build topic clusters. Part of an SEO plugin, so it installs alongside sibling skills.
  • Install: add the repo as a plugin marketplace with /plugin marketplace add MadAppGang/claude-code, then install the seo plugin from /plugin. Check the repo README for the exact marketplace name before you run it.
  • Best for: a lightweight rulebook. The last push was in March, so expect fewer updates.

5. seomachine internal-linker agent

  • Source: github.com/TheCraigHewitt/seomachine (7,565 stars, last push 2026-10-23)
  • Price: free
  • What it does: seomachine is a full Claude Code content workspace. Its .claude/agents/internal-linker.md subagent reads a draft and recommends links using a site map file at context/internal-links-map.md. The shipped example targets Castos pages, so you replace that map with your own.
  • Install: clone the repo and work inside it, or copy the agent file into your project’s .claude/agents/ and build your own internal-links-map.md.
  • Best for: writers who want links added at draft time, before a post ships.

Supporting suites worth knowing

  • AgriciDaniel/claude-seo (25,381 stars, last push 2026-11-01): a large SEO suite with skills such as seo-audit, seo-cluster, and seo-page, plus extensions for Ahrefs, DataForSEO, and Firecrawl. No dedicated internal-linking skill in the tree, but the cluster and audit skills feed hub planning. See Claude Code skills for SEO audits.
  • coreyhaines31/marketingskills (57,803 stars, last push 2026-10-31): has a link-building skill aimed at external links, not internal ones.
  • alirezarezvani/claude-skills (29,110 stars, last push 2026-10-31): lists a site-architecture skill on skills.sh, relevant for hub structure.

Directories that list more options include claudemarketplaces.com, claudskills.com, and skills.sh. Treat directory entries as leads, and always open the source repo.

Short answer: no paid, Claude-specific internal-linking skill pack could be confirmed on Gumroad or Contra as of 2026-11-01. The paid options are WordPress plugins (Link Whisper, Linkilo) and SEO data platforms that expose MCP servers (Ahrefs). Plugins win on one-click CMS edits. Claude Code skills win on cost, flexibility, and static or headless sites.

Link Whisper is a WordPress plugin that suggests internal links while you write and reports orphan pages. Prices on the vendor’s own page (linkwhisper.com, Link Whisper vs Linkilo) on 2026-11-01: $97/year for 1 site, $197/year for 3 sites, $297/year for 10 sites, $497/year for 50 sites (Agency), with a 60-day money-back offer. Third-party listings show other figures, so confirm at checkout.

Linkilo

Linkilo is a competing WordPress plugin. Its pricing page listed Single $59/year (1 site), Plus $149/year (3 sites), Pro $279/year (10 sites), Unlimited $499/year, all with the same features.

Ahrefs MCP

Ahrefs runs a hosted MCP server that Claude Code can connect to with claude mcp add ahrefs https://api.ahrefs.com/mcp/mcp -t http, then /mcp to authenticate, per Ahrefs’ Claude Code docs. The Ahrefs MCP introduction says it requires a Lite plan or higher. Ahrefs plan prices were not re-checked for this post; see ahrefs.com/pricing. API unit limits apply per plan.

Others

  • Linkbot: an automated internal linking SaaS. Third-party listings conflict and the vendor pricing page did not load, so: pricing not public (unconfirmed).
  • DataForSEO, Semrush, Google Search Console MCP servers: useful for adding impressions and keyword data to link decisions. DataForSEO is the provider the Infrasity skill calls. Pricing was not verified here.

Free vs paid comparison

OptionPriceFinds orphansSuggests anchorsBulk editsWorks outside WordPress
Infrasity orphan-pages skillFree (DataForSEO usage extra)Yes, from sitemapYes, in reportNo, report onlyYes
kostja94 internal-linksFreeGuides ClaudeYesThrough Claude Code editsYes
aaron-he-zhu site-structure-optimizerFreeFrom data you supplyYesThrough Claude Code editsYes
MadAppGang link-strategyFreeNoRules onlyThrough Claude Code editsYes
seomachine internal-linkerFreeNo, draft-levelYesPer draftYes
Link Whisper$97 to $497/yearYesYesYes, in WordPressNo
Linkilo$59 to $499/yearYesYesYes, in WordPressNo
Ahrefs MCPAhrefs Lite plan or higherVia Site Audit dataNoNoYes (data only)
LinkbotPricing not publicVendor claims yesVendor claims yesVendor claims yesCheck vendor

Takeaway: if you run WordPress and want a button, buy a plugin. If your content lives in Git, a CMS with an API, or you want control over every anchor, skills are the better fit and cost nothing.

How to run an internal linking workflow in Claude Code

Short answer: build a link inventory, find orphans and weak pages, assign each page to a hub, draft links with varied anchors, review a diff, then apply. Steps one and two can be scripted. Steps four and five need judgment. The whole thing runs best in a Git repo so every change is reversible.

New to installs? Read how to install Claude Code skills first.

For a Markdown or MDX repo, ask Claude to scan content/ or src/pages/ and write a CSV of source, target, anchor. A short grep for ](/ and href="/ covers most cases. For a live site, use the Infrasity skill or a crawler export.

Step 2: Find orphans and dead ends

Compare every URL in sitemap.xml against the target column. Anything missing is an orphan. Pages with outbound links but zero inbound ones are the usual suspects. Pages with no outbound internal links are dead ends.

Step 3: Map hubs and spokes

Group pages by topic. Each group gets one hub, a page that links down to every spoke, and each spoke links back up. If you have no topic map yet, see Claude Code skills for topical maps and keyword clustering skills.

Hub: /blog/claude-code-skills-for-seo
 ├─ /blog/claude-code-skills-for-technical-seo
 ├─ /blog/claude-code-skills-for-schema-markup
 ├─ /blog/claude-code-skills-for-internal-linking
 └─ /blog/claude-code-skills-for-local-seo
Each spoke links back to the hub and to one or two siblings.

For each orphan, ask Claude to search other posts for passages that already discuss the orphan’s topic. A good opportunity is a sentence where the link helps the reader, not one where the keyword happens to appear. Ask for three candidate anchors per opportunity, each phrased differently.

Step 5: Review, then apply in bulk

Have Claude write proposals to a file first: file, line, current sentence, proposed sentence, target. Read it. Delete the weak ones. Then let Claude apply the rest and run git diff. For a CMS like WordPress, Webflow, or Sanity, Claude can call the CMS API with a script you approve, but test on one post before running it across the site.

A prompt you can reuse

Using the internal-links skill: read every .md file in content/blog.
1. List orphan pages (no inbound links from other posts).
2. For each orphan, find up to 3 existing sentences in other posts
   where a link fits naturally.
3. Propose an anchor for each. No anchor may repeat for the same target.
4. Write proposals to links-proposed.csv. Do not edit files yet.

Takeaway: proposals file first, edits second. That one rule prevents most bad bulk changes.

Anchor text variety and avoiding over-optimization

Short answer: vary anchors across exact match, partial match, descriptive phrases, and the page title. Keep links where they help a reader. Do not link the same keyword to the same page dozens of times, and do not stuff every paragraph. Google asks for descriptive, concise anchors and does not publish a hard cap on links per page.

Several SEO blogs repeat that Google’s Gary Illyes said internal links carry no over-optimization penalty. That claim is secondhand in the sources found for this post, so treat it as unconfirmed. The safer reasoning is about readers: a page with a link every second sentence reads like spam, whether or not an algorithm cares.

An anchor mix to aim for

Anchor typeExample (target: internal linking guide)Use it for
Exact matchclaude code skills for internal linkingOne or two links site-wide, from the hub
Partial matchinternal linking skills for ClaudeMost contextual links
Descriptivehow to find orphan pages with Claude CodeLinks from how-to posts
Title or brandour internal linking guideNavigation, related posts
Questionwhich skill handles anchor text?FAQ-style passages

Guardrails to put in the prompt

  • No more than one link to the same target per post.
  • No anchor text reused for the same target across the site.
  • Never link from a heading.
  • Skip a link if the sentence has to be rewritten heavily to fit it.
  • Cap new links per post during a bulk run (pick a number like 3 to 5 and review results).

Numbers like “2 to 5 links per 1,000 words” circulate on vendor blogs, but no primary study behind them was confirmed for this post. Use them as a starting point you can adjust, not a rule.

Takeaway: write the anchor rules into your prompt or your skill, and Claude will follow them on every page.

Short answer: the big ones are letting the model edit without review, linking on keyword match instead of topical fit, ignoring redirects and noindex pages, and running one giant bulk pass instead of small batches. Each one is avoidable with a proposals file and a Git branch.

  1. Applying edits blind. A model can produce a confident sentence that changes the meaning of a paragraph. Always diff.
  2. Linking to redirected or noindex URLs. Feed Claude the final URLs from your sitemap, not the URLs it remembers.
  3. Trusting a strategy skill to crawl. Strategy skills add rules. If you need a crawl, use an audit workflow, a script, or exported data.
  4. Hallucinated targets. Ask Claude to validate every proposed target against the inventory CSV before writing it.
  5. Anchor creep. Without a rule, the same exact-match anchor shows up on every post. Add the “no repeated anchor per target” rule.
  6. One massive pass. Run batches of ten to twenty posts, check rankings and readability, then continue.
  7. Forgetting new posts. Make linking part of drafting. The seomachine agent pattern does this, and so does a step in Claude Code skills for content writers.
  8. Skipping the refresh angle. Old posts are where most new links should go. See content refresh skills.

If none of the public skills match your setup, writing your own is a short job. A SKILL.md that holds your anchor rules, hub list, and output format is often enough. See how to build a Claude Code skill.

Which option should you pick?

Short answer: WordPress owners who want a plugin should pick Link Whisper or Linkilo. Anyone on Markdown, a static site, or a headless CMS should start with kostja94’s internal-links plus a simple inventory script. Add Infrasity’s skill for a live-site orphan audit, and Ahrefs MCP only if you already pay for Ahrefs.

Your situationStart with
WordPress, non-technical teamLink Whisper or Linkilo
Astro, Next.js, Hugo, Jekyll in Gitkostja94 internal-links + inventory CSV
Live site, no repo accessInfrasity orphan-pages skill
Writing new posts dailyseomachine internal-linker agent
Planning topic hubssite-structure-optimizer + topical map skill
Already on AhrefsAhrefs MCP for authority data
Programmatic pages at scaleA custom skill with strict anchor templates, see programmatic SEO skills

For the bigger picture, see Claude Code skills for SEO and Claude Code skills for marketers. Internal links also help AI search engines follow your topical structure, covered in Claude Code skills for GEO.

FAQ

Can Claude Code do internal linking?

Yes. Claude Code can read your content files, map links between pages, suggest new links, and edit the files. Skills give it a consistent method and rules.

What is the best Claude Code skill for internal linking?

For strategy, kostja94’s internal-links. For a live-site orphan audit, Infrasity’s orphan-pages-internal-linking-opportunities. Both are free.

How do I find orphan pages?

Compare every URL in your sitemap against the list of URLs that receive at least one internal link. Anything with zero inbound links is an orphan. A skill or short script can do this.

Are orphan pages bad for SEO?

They are harder for crawlers and readers to find, because the only path to them is the sitemap or external links. Linking them from relevant pages fixes that.

How many internal links should a blog post have?

Google publishes no fixed number. Add links where they help the reader and review density by reading the page.

Repeating the same exact-match anchor everywhere and stuffing links into every paragraph hurts readability and looks manipulative. Vary anchors and link with purpose.

Sometimes. Mix exact, partial, descriptive, and title anchors. Google asks for descriptive, concise anchor text.

For WordPress sites that want in-editor suggestions and a click-to-add workflow, it can be. It starts at $97/year for one site on the vendor’s page. It does not help static or headless sites.

Linkilo is cheaper but still paid. For free, Claude Code skills like internal-links work on any site where Claude can read the content.

Through the WordPress REST API with a script you approve, yes. Test on one post first and keep backups.

Do Claude Code skills crawl my website?

Some do. Infrasity’s skill fetches the sitemap and pages. Strategy skills like link-strategy do not crawl at all.

How do I install a Claude Code skill?

Use npx skills add owner/repo, install a plugin through /plugin, or copy a skill folder into ~/.claude/skills or .claude/skills.

What is a hub-and-spoke internal linking structure?

One hub page covers a broad topic and links to detailed spoke pages. Each spoke links back to the hub and to closely related spokes.

Clear links help crawlers, including AI crawlers, find and group related pages. No source found for this post measures a direct effect on AI citations.

Can I use the Ahrefs MCP server for internal linking?

It supplies data like Site Audit results and page authority, which help prioritize. It needs an Ahrefs Lite plan or higher, and it does not write links for you.

Sources and methodology

No hands-on benchmark of these skills was run for this post. Descriptions come from each skill’s own files. Gumroad and Contra searches turned up no paid internal-linking skill pack that could be verified.

Your next step

Pick one content folder, install internal-links, and run the proposals prompt above on ten posts. Read the CSV, keep the good links, and commit. Then do the next ten.

Ritik Namdev
Written by

Ritik Namdev

Growth · SEO · GEO

Growth marketer documenting a brand-new site's climb into Google and the AI engines - in public, with real numbers. Every tactic here is tested on real sites before it's published.

The Lab · Weekly

One experiment. Every week.

The field notes in your inbox - one thing I tested, the raw numbers behind it, and what it means for getting cited by AI.

Free. One practical SEO + AI search lesson a week. Unsubscribe anytime.

Free forever. Unsubscribe anytime.