Technical SEO skill 11 of 13
Internal Linking and Site Architecture SKILL.md
The Internal Linking and Site Architecture skill makes Claude, Codex or another AI agent map your link graph, compare it with the pages that make money, and design a structure where important pages sit close to the homepage and receive descriptive links from related content. It returns a list of specific links to add, change or remove, starting with template changes that reach every page at once.
internal-linking/SKILL.md, version 1.1.0, 1,633 words.
By Afeez Adebayo, Marketing, SEO & Growth Expert with 10+ years of experience.
Created 9 October 2026. Updated 10 October 2026. Free to use under CC BY 4.0.
Internal links do three jobs at once: they help crawlers discover pages, they tell search engines which pages matter most and what they are about, and they guide people to the next useful page. A good structure means important pages sit a few clicks from the homepage, related pages link to each other with descriptive anchors, and no valuable page is left without links.
This skill maps the current link graph, finds where it works against the business, and designs a structure with a specific list of links to add, change or remove.
Operating principles
- Important pages are close and well linked. Money pages should be within three clicks of the homepage and receive links from relevant pages, not only from navigation.
- Anchors describe the destination. Use the words a searcher would use, varied naturally, not "click here" and not the same exact phrase hundreds of times.
- Links point at final, indexable URLs. No internal links to redirects, 404s, noindexed or canonicalised pages.
- Structure follows topics and intent. Group pages so a hub covers a topic and every supporting page links back to it.
- Every link earns its place. Navigation with hundreds of links dilutes the signal and the user's attention.
Architecture patterns
| Pattern | How it works | Good for |
|---|---|---|
| Hub and spoke (topic cluster) | A hub page covers the topic and links to every supporting page; each supporting page links back and to close siblings | Content sites, SaaS resources, service businesses |
| Category tree | Home to category to subcategory to item, with breadcrumbs | E-commerce, marketplaces, directories |
| Programmatic grid | Template pages linked by dimension (location, route, product type) through index pages | Large templated sites |
| Flat with strong navigation | Few levels, most pages linked from menus | Small sites under a few hundred pages |
When to use, and when not to
Use it for orphan pages, important pages that rank poorly, slow discovery of new pages, new sections or clusters, navigation redesigns, and after migrations or content pruning.
Don't use it for external link building, for canonical decisions between duplicates (canonicalization) or for filter URL control (faceted-navigation-parameters).
Inputs to ask for, in one message
- A full crawl with inlinks, outlinks, anchor text, click depth, status code and indexability per URL.
- Search Console Performance by page (clicks, impressions, average position) for 3 to 12 months.
- The XML sitemap URL list (to find pages not reached by links).
- Revenue or conversion value by page or page type.
- The navigation, footer and any related-content or breadcrumb components, and how they are generated.
- Topic or keyword groups if a content plan exists.
Raw SKILL.md file
This is the exact file agents read, including the credit header and licence notice. Save it as internal-linking/SKILL.md.
--- name: internal-linking description: "Audit and design internal linking and site architecture: URL and folder structure, click depth, orphan pages, hub and spoke topic clusters, anchor text, navigation and footer links, breadcrumbs, pagination, related-content modules, links to redirects or noindexed pages, and routing link equity to the pages that make money. Use whenever someone mentions internal links, site structure, information architecture, orphan pages, click depth, topic clusters, pillar pages, anchor text, breadcrumbs, mega menus, pages Google finds slowly, or asks how to make important pages rank better without new backlinks." license: CC-BY-4.0 metadata: author: Afeez Adebayo author_url: https://afeezadebayo.com author_linkedin: https://www.linkedin.com/in/afeez-adebayo/ author_x: https://x.com/za_icon source: https://afeezadebayo.com/skills-md/marketing/technical-seo/internal-linking/ category: marketing subcategory: technical-seo version: "1.1.0" created: "2026-10-09" updated: "2026-10-10" --- # Internal Linking and Site Architecture Internal links do three jobs at once: they help crawlers discover pages, they tell search engines which pages matter most and what they are about, and they guide people to the next useful page. A good structure means important pages sit a few clicks from the homepage, related pages link to each other with descriptive anchors, and no valuable page is left without links. This skill maps the current link graph, finds where it works against the business, and designs a structure with a specific list of links to add, change or remove. ## Operating principles 1. **Important pages are close and well linked.** Money pages should be within three clicks of the homepage and receive links from relevant pages, not only from navigation. 2. **Anchors describe the destination.** Use the words a searcher would use, varied naturally, not "click here" and not the same exact phrase hundreds of times. 3. **Links point at final, indexable URLs.** No internal links to redirects, 404s, noindexed or canonicalised pages. 4. **Structure follows topics and intent.** Group pages so a hub covers a topic and every supporting page links back to it. 5. **Every link earns its place.** Navigation with hundreds of links dilutes the signal and the user's attention. ## Architecture patterns | Pattern | How it works | Good for | |---|---|---| | Hub and spoke (topic cluster) | A hub page covers the topic and links to every supporting page; each supporting page links back and to close siblings | Content sites, SaaS resources, service businesses | | Category tree | Home to category to subcategory to item, with breadcrumbs | E-commerce, marketplaces, directories | | Programmatic grid | Template pages linked by dimension (location, route, product type) through index pages | Large templated sites | | Flat with strong navigation | Few levels, most pages linked from menus | Small sites under a few hundred pages | ## When to use, and when not to Use it for orphan pages, important pages that rank poorly, slow discovery of new pages, new sections or clusters, navigation redesigns, and after migrations or content pruning. Don't use it for external link building, for canonical decisions between duplicates (`canonicalization`) or for filter URL control (`faceted-navigation-parameters`). ## Inputs to ask for, in one message 1. A full crawl with inlinks, outlinks, anchor text, click depth, status code and indexability per URL. 2. Search Console Performance by page (clicks, impressions, average position) for 3 to 12 months. 3. The XML sitemap URL list (to find pages not reached by links). 4. Revenue or conversion value by page or page type. 5. The navigation, footer and any related-content or breadcrumb components, and how they are generated. 6. Topic or keyword groups if a content plan exists. ## Workflow ### Step 1. Map depth and orphans From the crawl, chart URLs by click depth. Compare crawled URLs against sitemap and analytics landing pages: URLs in the sitemap or analytics but not found by the crawler are orphans. Decide for each orphan: link it, merge it, or retire it. ### Step 2. Compare links with value List the top pages by revenue or conversions. For each, record unique inlinks, the share from in-content links, click depth and anchor variety. Pages that make money but receive few contextual links are the first targets. ### Step 3. Find wasted links Flag internal links to redirects, 4xx, 5xx, noindexed and canonicalised URLs; parameter URLs linked from navigation; and very large menus or footers repeated on every page. ### Step 4. Find striking-distance pages From Search Console, list pages with high impressions and average positions roughly between 5 and 20. More relevant internal links with descriptive anchors are often the cheapest way to move them. ### Step 5. Design the target structure For each topic or category: name the hub, list the supporting pages, and define the links each page must have (up to hub, across to siblings, down to children). Keep URL folders aligned with the structure where possible, but don't change URLs only for neatness. ### Step 6. Write the link plan Produce a list of specific changes: source page, target page, suggested anchor, placement (body, related module, navigation, breadcrumb). Fix template-level links first, because one change reaches every page. ### Step 7. Re-crawl and measure After changes, re-crawl to confirm depth, orphan count and broken links. Track clicks and impressions for target pages over the following 4 to 12 weeks. ## Link sources and their weight | Source | Notes | |---|---| | In-content links | Strongest contextual signal; place them where the topic is discussed | | Breadcrumbs | Show hierarchy to users and search engines; pair with BreadcrumbList markup | | Navigation | Defines the top of the structure; keep it to the pages that matter most | | Related-content modules | Useful at scale if they choose by topic, not at random or by date only | | Footer | Weakest; fine for policies and key hubs, not for long keyword lists | | Pagination | Needed so crawlers reach deep items; use plain links between pages | ## Anchor text rules - Describe the target page in natural words: "redirect chain audit" rather than "read more". - Vary anchors across pages; repeating one exact-match phrase sitewide looks manufactured and helps no reader. - Make image links count with descriptive `alt` text. - Keep internal links followed; `nofollow` on internal links wastes the signal and doesn't save crawl budget. ## Crawlable link requirements Search engines follow `<a>` elements with an `href` that resolves to a URL. Links built with buttons, `onclick` handlers or `#` fragments, or inserted only after a user action, are often not followed. See `javascript-seo` if the site relies on JavaScript navigation. ## Worked example A B2B SaaS site had 240 blog posts and 12 product feature pages. Feature pages were linked only from the main menu, while blog posts linked to each other by date. The crawl showed feature pages had 6 to 9 unique inlinks each, and 38 posts were orphans. The plan created four topic hubs, linked each post to its hub and to the most relevant feature page with descriptive anchors, added breadcrumbs, and merged 11 thin orphans into stronger posts. Feature pages rose to 40 to 70 unique inlinks each. Over the next three months, impressions for feature-page queries grew, and two feature pages moved from page two to page one (Search Console, comparing the 28 days before and after). ## Platform notes - **WordPress:** use the block editor's link search for in-content links, add breadcrumbs through the SEO plugin, and replace random "related posts" plugins with topic-based ones. Check that tag and author archives don't create thousands of thin, linked pages. - **Shopify:** collections are the hubs; link from collection descriptions to sub-collections and from product descriptions to related collections. Make product links in collections point at `/products/handle`. - **Headless and JavaScript sites:** generate links on the server as real `<a href>` elements; check that menus are in the raw HTML. - **Large templated sites:** build index pages (by city, category, letter) so every template page is reachable within a few clicks, and include "nearby" or "related" links chosen by data. ## Output format ``` # Internal linking and architecture review: <site>, <date> ## Summary ## Current state: depth chart, orphan count, broken internal links, top pages by inlinks ## Target structure (hubs, clusters, categories) ## Link plan | Source URL | Target URL | Anchor | Placement | Reason | Priority | ## Template changes (navigation, breadcrumbs, related modules) ## Measurement plan and re-check dates ``` ## Common mistakes - Mega menus linking to hundreds of pages from every URL. - Linking internally to redirects and parameter URLs. - Orphaned landing pages built for campaigns and never linked. - Using the same exact-match anchor everywhere. - "Related posts" chosen by date rather than topic. - Restructuring URLs for tidiness and creating a migration nobody planned. ## Questions to ask before you recommend changes - Which pages make the most money, and which should rank that don't? - Who controls navigation, templates and in-content links? - Can related-content modules be driven by topic or taxonomy data? - Are there sections being retired that still receive links? ## Self-check before you answer - Did I compare link distribution against business value? - Does every proposed link point at a final, indexable URL? - Are anchors descriptive and varied? - Did I prioritise template-level changes over one-off edits? ## Official documentation - Link best practices for Google (crawlable links and anchor text): https://developers.google.com/search/docs/crawling-indexing/links-crawlable - SEO Starter Guide (site hierarchy and navigation): https://developers.google.com/search/docs/fundamentals/seo-starter-guide - Breadcrumb structured data: https://developers.google.com/search/docs/appearance/structured-data/breadcrumb - URL structure best practices: https://developers.google.com/search/docs/crawling-indexing/url-structure --- Created by Afeez Adebayo, Marketing, SEO & Growth Expert Website: https://afeezadebayo.com LinkedIn: https://www.linkedin.com/in/afeez-adebayo/ X: https://x.com/za_icon Source: https://afeezadebayo.com/skills-md/marketing/technical-seo/internal-linking/ Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). You may copy, share and adapt this skill, including for commercial use, as long as you credit Afeez Adebayo and link to the source URL above. Keep this notice in any copy or adapted version.
Workflow
Step 1. Map depth and orphans
From the crawl, chart URLs by click depth. Compare crawled URLs against sitemap and analytics landing pages: URLs in the sitemap or analytics but not found by the crawler are orphans. Decide for each orphan: link it, merge it, or retire it.
Step 2. Compare links with value
List the top pages by revenue or conversions. For each, record unique inlinks, the share from in-content links, click depth and anchor variety. Pages that make money but receive few contextual links are the first targets.
Step 3. Find wasted links
Flag internal links to redirects, 4xx, 5xx, noindexed and canonicalised URLs; parameter URLs linked from navigation; and very large menus or footers repeated on every page.
Step 4. Find striking-distance pages
From Search Console, list pages with high impressions and average positions roughly between 5 and 20. More relevant internal links with descriptive anchors are often the cheapest way to move them.
Step 5. Design the target structure
For each topic or category: name the hub, list the supporting pages, and define the links each page must have (up to hub, across to siblings, down to children). Keep URL folders aligned with the structure where possible, but don't change URLs only for neatness.
Step 6. Write the link plan
Produce a list of specific changes: source page, target page, suggested anchor, placement (body, related module, navigation, breadcrumb). Fix template-level links first, because one change reaches every page.
Step 7. Re-crawl and measure
After changes, re-crawl to confirm depth, orphan count and broken links. Track clicks and impressions for target pages over the following 4 to 12 weeks.
Link sources and their weight
| Source | Notes |
|---|---|
| In-content links | Strongest contextual signal; place them where the topic is discussed |
| Breadcrumbs | Show hierarchy to users and search engines; pair with BreadcrumbList markup |
| Navigation | Defines the top of the structure; keep it to the pages that matter most |
| Related-content modules | Useful at scale if they choose by topic, not at random or by date only |
| Footer | Weakest; fine for policies and key hubs, not for long keyword lists |
| Pagination | Needed so crawlers reach deep items; use plain links between pages |
Anchor text rules
- Describe the target page in natural words: "redirect chain audit" rather than "read more".
- Vary anchors across pages; repeating one exact-match phrase sitewide looks manufactured and helps no reader.
- Make image links count with descriptive
alttext. - Keep internal links followed;
nofollowon internal links wastes the signal and doesn't save crawl budget.
Crawlable link requirements
Search engines follow <a> elements with an href that resolves to a URL. Links built with buttons, onclick handlers or # fragments, or inserted only after a user action, are often not followed. See javascript-seo if the site relies on JavaScript navigation.
Worked example
A B2B SaaS site had 240 blog posts and 12 product feature pages. Feature pages were linked only from the main menu, while blog posts linked to each other by date. The crawl showed feature pages had 6 to 9 unique inlinks each, and 38 posts were orphans. The plan created four topic hubs, linked each post to its hub and to the most relevant feature page with descriptive anchors, added breadcrumbs, and merged 11 thin orphans into stronger posts. Feature pages rose to 40 to 70 unique inlinks each. Over the next three months, impressions for feature-page queries grew, and two feature pages moved from page two to page one (Search Console, comparing the 28 days before and after).
Platform notes
- WordPress: use the block editor's link search for in-content links, add breadcrumbs through the SEO plugin, and replace random "related posts" plugins with topic-based ones. Check that tag and author archives don't create thousands of thin, linked pages.
- Shopify: collections are the hubs; link from collection descriptions to sub-collections and from product descriptions to related collections. Make product links in collections point at
/products/handle. - Headless and JavaScript sites: generate links on the server as real
<a href>elements; check that menus are in the raw HTML. - Large templated sites: build index pages (by city, category, letter) so every template page is reachable within a few clicks, and include "nearby" or "related" links chosen by data.
Output format
# Internal linking and architecture review: <site>, <date>
## Summary
## Current state: depth chart, orphan count, broken internal links, top pages by inlinks
## Target structure (hubs, clusters, categories)
## Link plan
| Source URL | Target URL | Anchor | Placement | Reason | Priority |
## Template changes (navigation, breadcrumbs, related modules)
## Measurement plan and re-check datesCommon mistakes
- Mega menus linking to hundreds of pages from every URL.
- Linking internally to redirects and parameter URLs.
- Orphaned landing pages built for campaigns and never linked.
- Using the same exact-match anchor everywhere.
- "Related posts" chosen by date rather than topic.
- Restructuring URLs for tidiness and creating a migration nobody planned.
Questions to ask before you recommend changes
- Which pages make the most money, and which should rank that don't?
- Who controls navigation, templates and in-content links?
- Can related-content modules be driven by topic or taxonomy data?
- Are there sections being retired that still receive links?
Self-check before you answer
- Did I compare link distribution against business value?
- Does every proposed link point at a final, indexable URL?
- Are anchors descriptive and varied?
- Did I prioritise template-level changes over one-off edits?
Official documentation
- Link best practices for Google (crawlable links and anchor text): https://developers.google.com/search/docs/crawling-indexing/links-crawlable
- SEO Starter Guide (site hierarchy and navigation): https://developers.google.com/search/docs/fundamentals/seo-starter-guide
- Breadcrumb structured data: https://developers.google.com/search/docs/appearance/structured-data/breadcrumb
- URL structure best practices: https://developers.google.com/search/docs/crawling-indexing/url-structure
On this page
- When to use this skill, and when not to
- Example prompts
- Example output
- What the agent needs from you
- How this skill hands off to related skills
- How to run the Internal Linking skill step by step
- Situations this skill handles
- What makes this skill different
- Practical tips from real projects
- Frequently asked questions
- Changelog
When to use this skill, and when not to
Use it when important pages rank poorly despite good content, when new pages are discovered slowly, when a crawl finds orphan pages or deep click depth, when you build a new section or topic cluster, redesign navigation, or clean up after a migration or content pruning. It is often the cheapest way to move pages sitting on page two.
Don’t use it for external link building, for choosing between duplicate URLs (use Canonicalization) or for filter links on category pages (use Faceted Navigation and URL Parameters).
Example prompts
- “Our 12 feature pages rank on page two. Crawl and Search Console data attached. Build an internal link plan.”
- “Find orphan pages by comparing our crawl with the sitemap and GA4 landing pages.”
- “Design topic clusters for our 240 blog posts and tell me which page should be each hub.”
- “Our mega menu has 380 links. Should we cut it, and what replaces it?”
- “Which pages have high impressions and positions 5 to 20 that more internal links could help?”
Example output
The skill returns a fixed structure. A shortened example for an imaginary site:
# Internal linking review: example.com, 10 October 2026 ## Current state Median click depth 4; 38 orphan posts; feature pages receive 6 to 9 unique inlinks, all from navigation. ## Link plan (first 3 of 140) | Source | Target | Anchor | Placement | Priority | | /blog/lifecycle-emails/ | /features/journeys/ | lifecycle email journeys | Body, para 3 | High | | /blog/onboarding-checklist/ | /features/journeys/ | onboarding journeys | Body, para 5 | High | | Guides hub | /blog/onboarding-checklist/ | onboarding checklist | Hub list | Medium |
Each link names its source, target, anchor and placement, so an editor can make the change in minutes and a re-crawl can confirm it.
What the agent needs from you
The skill asks for a full crawl with inlinks, outlinks, anchors, click depth and indexability, Search Console Performance by page, the XML sitemap list, revenue or conversion value by page or page type, how navigation, footer, breadcrumbs and related-content modules are generated, and any existing topic or keyword groups.
How this skill hands off to related skills
Link structure meets other issues along the way. Links to redirects and broken pages go to Redirects and HTTP Status Codes, navigation built from buttons to JavaScript SEO and Rendering, breadcrumb markup to Structured Data, and orphan pages that also aren’t indexed to the Crawlability and Indexation Audit. To see whether Googlebot crawls key pages more often after the changes, it uses Log File Analysis.
How to run the Internal Linking skill step by step
- Install the skill as
internal-linking/SKILL.md. - Export a full crawl with inlinks, outlinks, anchor text, click depth, status and indexability.
- Add Search Console Performance by page and revenue or conversion value by page or page type.
- Share the sitemap list so orphan pages can be found, and describe how navigation, breadcrumbs and related modules are generated.
- Review the target structure and link plan, with source, target, anchor and placement for every link.
- Ship template changes first, then in-content links, and re-crawl to confirm depth and orphan counts.
Situations this skill handles
Internal links do three jobs at once, so problems show up in different ways. The skill handles these cases:
| Situation | What the skill does |
|---|---|
| Money pages linked only from the menu | Adds contextual links from relevant guides with descriptive anchors |
| Dozens of orphan pages | Finds them from sitemap and analytics data, then links, merges or retires each one |
| Mega menu with hundreds of links | Trims navigation to the pages that matter and moves the rest to hubs |
| Related posts chosen by date | Switches modules to topic-based selection |
| Pages stuck on page two | Finds relevant pages to link from, using impressions and positions 5 to 20 |
| Large templated site | Builds index pages so every template page sits within a few clicks |
What makes this skill different
Most internal linking advice is “add more links”. This skill compares your link graph with business value: which pages make money, how many contextual links they receive, how deep they sit and which anchors point at them. Then it writes a specific plan, starting with template changes that reach every page at once.
It also cleans up the links that work against you: links to redirects, noindexed pages, parameter URLs and retired sections. Fixing those often helps crawl efficiency as much as adding new links helps rankings.
Practical tips from real projects
- Anchors describe the destination, in the words a searcher would use, varied naturally.
- Keep internal links followed. nofollow on internal links wastes the signal and doesn’t save crawl budget.
- Breadcrumbs earn their place on any site with more than two levels; pair them with BreadcrumbList markup.
- Footers are weak signals. Use them for policies and key hubs, not keyword lists.
- Re-crawl after every navigation change; menus are where orphans and deep pages are created.
On sites with more than a few hundred pages, start with a simple chart: money pages on one axis, unique contextual inlinks on the other. Pages with high value and few contextual links are the first targets, and the fix is usually a handful of well-placed links from guides that already rank and attract traffic.
Internal links also matter for AI search. Pages that are well linked from related content are easier for crawlers to discover and understand, and clear topic hubs help engines see what a site is known for.
Frequently asked questions
How many internal links should a page have?
There is no fixed number. Important pages should receive links from every relevant page that discusses their topic, and each page should link out where it helps the reader. Hundreds of navigation links on every page dilute both.
Does anchor text matter for internal links?
Yes. Descriptive anchors help search engines and readers understand the destination. Use natural, varied wording rather than “click here” or one exact phrase repeated across the site.
Should I nofollow internal links?
No. nofollow on internal links throws away the signal and doesn’t save crawl budget. Remove links you don’t want rather than nofollowing them.
What is an orphan page?
A page with no internal links pointing to it. Crawlers can only find it through sitemaps or outside links, and it gets little signal. The skill finds orphans by comparing crawl, sitemap and analytics data.
How soon do internal link changes show results?
Google needs to re-crawl the linking pages first. Changes on frequently crawled templates can show within weeks; the skill sets a 4 to 12 week measurement window.
Changelog
- 1.1.0, 10 October 2026: rewritten with architecture patterns, link source weights, anchor rules, striking-distance analysis, a source-to-target link plan format and platform notes for WordPress, Shopify and large templated sites.
- 1.0.0, 9 October 2026: first release.
Use, adapt and share this skill under CC BY 4.0: credit Afeez Adebayo and link to this page.
All Technical SEO skills
- Technical SEO Audit
- Crawlability and Indexation Audit
- Robots.txt and Robots Directives
- XML Sitemaps
- Canonicalization and Duplicate Content
- Redirects and HTTP Status Codes
- Site Migration SEO
- Core Web Vitals and Page Experience
- JavaScript SEO and Rendering
- Structured Data and Schema Markup
- Log File Analysis for SEO
- Faceted Navigation and URL Parameters
- LCP Optimisation
- INP Optimisation
- CLS Optimisation
