Get in touch

Internal linking at scale: hub and spoke for thousands of pages

Updated August 19, 2026 · 10 min read · Search intent : informational · Architecture

On a site of a thousand generated pages, internal linking is not an optimisation. It is the mechanism that decides which pages get crawled, indexed and ranked. Content only counts on pages the crawler reaches.

Hub and spoke internal link architecture
Hub and spoke internal link architecture

A link carries two separate signals

An internal link transmits authority and relevance. Authority dilutes with the number of outbound links on the linking page; relevance depends on anchor text and surrounding context. A good architecture optimises each independently.

The share a page receives depends on the authority of its linking pages divided by their outbound link count. Linking everything to everything is arithmetically the same as linking nothing.

Three tiers, never more than four

TierRoleTypical countOutbound internal links
PillarCovers the topic whole; attracts external links1 per silo15–30
HubGroups a family of variants5–15 per silo20–50
SpokeOne precise intent; a generated pageEverything else4–8

A spoke linking to forty other spokes passes almost nothing to each. Four to eight contextual links beat a thirty-link footer block every time.

Click depth is the hard constraint

Click depth is the minimum number of clicks from the homepage. On large sites the correlation between depth and indexation rate is unambiguous: past four clicks, the indexed share collapses.

Three tiers cover 1,000 pages comfortably: one pillar, ten hubs, a hundred spokes each. For 100,000 the same shape holds with paginated hubs — provided pagination is crawlable and paginated canonicals are self-referencing.

Anchor text distribution

One exact-match anchor repeated identically across 300 pages is a detectable pattern with little upside. A workable mix:

  1. Exact match — 20%. The target query as-is.
  2. Partial match — 60%. The query embedded in a sentence with connecting words.
  3. Contextual — 20%. A rephrasing that describes what the reader will find.

In all three cases the link sits in body copy, at the point where the question it answers actually arises. A link at the end of an article is clicked roughly ten times less than one mid-paragraph.

Finding and fixing orphans

An orphan page sits in the sitemap but receives no internal links. On a poorly designed batch they routinely account for 30% to 60% of the total.

orphans = sitemap_urls - urls_reachable_by_crawl

The fix is never "add a footer link". It is to identify the hub the page logically belongs to and attach it there. If no hub fits, the page should not have been generated — which loops back to the quality gate.

Computing spoke-to-spoke links

On a generated site, links between spokes must be computed rather than random. Three selection criteria, in priority order:

  1. Semantic proximity — same hub, related entities.
  2. Intent complementarity — the logical next page in the reader's journey.
  3. Load balancing — favour pages currently receiving few inbound internal links, so that 10% of pages do not absorb 80% of the signal.

The third criterion is the one most often skipped and the one that matters most at volume. Implementation depends on a stable identifier per page — see URL structure and slug design — and its effect on discovery is covered in crawl budget on large sites.

A monthly audit that takes ten minutes

Frequently asked questions

How many internal links should a page have?

Four to eight contextual outbound links for a spoke page, more for a hub whose job is distribution. The count matters less than the dilution: each extra link reduces the share passed to the others.

Do footer links carry the same weight?

No. A link repeated sitewide in a navigation block passes a much weaker signal than a contextual link in body copy, and carries almost no relevance signal.

What is the maximum acceptable click depth?

Three clicks from the homepage is a good target and four is workable. Beyond that, indexation rates drop sharply on large sites.