Semantic SEO

Internal Linking for Topic Clusters: Rules That Match the Link Graph to the Topic Graph

Most internal-linking advice produces decorative links. A topic cluster needs links that match the topic graph — pages on related entities link to each other, pages on unrelated entities do not, anchor text names the destination entity.

By Dmitry Paranyushkin · Updated

The default internal-linking advice produces sites where every page links to every other page through navigation, related-articles widgets, and footer blocks. The link graph that results says nothing about the topic structure; it is uniform noise. Topic-cluster internal linking does the opposite. It makes the link graph match the topic graph — which is what retrieval systems read as cluster coherence.

The three rules

Rule 1: Link entity-adjacent pages

The cluster contains many pages. Not all of them are entity-adjacent. The pillar links to every perimeter page in the cluster. Each perimeter page links back to the pillar and to two or three sibling pages whose entities are most closely related. The pages whose entities sit at opposite corners of the cluster usually do not link to each other.

The result is a link pattern that mirrors the cluster’s entity-graph topology. The pillar is the high-degree center; perimeter pages form a sparser network with topic-coherent edges between siblings.

Rule 2: Anchor text names the destination entity

The anchor on an internal link should name the entity the destination page covers. “See the four leading indicators of topical authority” works; “click here for more” does not. Anchor text is the structural signal that tells search engines what the link is for — and AI retrieval systems use surrounding-text embeddings, so naming the entity raises the signal in both directions.

Mix exact, conceptual, and comparative anchors across the cluster. Exact anchors use the canonical entity name; conceptual anchors use a paraphrase that points at the same entity; comparative anchors frame the destination as “X vs Y”. The mix prevents over- optimization signals while keeping the destination entity legible.

Rule 3: Substantive context, not widget placement

A topic-coherent link sits inside a sentence that explains why the connection exists. Widget-only links — related articles, footer blocks, sidebar lists — produce weak signal. The sentence context is what makes the link structurally meaningful rather than decorative.

Most cluster pages benefit from 4–8 in-body links to sibling pages plus the canonical link back to the pillar. Beyond ten, individual links lose signal; below four, the cluster reads as sparse.

What the link graph should look like

A working topic cluster produces a recognizable link-graph shape.

  • The pillar is the high-degree center. Most perimeter pages link to it; the pillar links out to most perimeter pages. Internal-link concentration on the pillar makes it the canonical reference for the topic on the site.
  • Perimeter pages form a sparser ring. Each perimeter page links to 2–4 sibling pages whose entities are closely related, plus the pillar.
  • Bridge pages connect across clusters. Pages whose entities sit between two clusters link substantively to pages on both sides. The bridge pages have higher betweenness centrality in the link graph; they are the citation surface in cross-cluster AI answers.

What links should not do

Three common patterns weaken cluster signal even though they look like reasonable linking.

  • Every-page-to-every-page through widgets. The link graph becomes uniform; retrieval systems extract no structure from it.
  • Generic anchor text. “Learn more,” “click here,” “read on” give retrieval systems no signal about what the link is for.
  • Links to commercial pages without topic context. Pillar and cluster pages can link to commercial pages where relevant. They should not link to commercial pages from anchor text that names the commercial intent rather than the topic.

How to audit the link graph

A working cluster passes a simple test. Pull the site’s internal-link data (Screaming Frog, Sitebulb, Ahrefs internal-link reports). Project the link graph for one cluster. The shape should show one high-degree node (the pillar), a ring of moderate-degree nodes (the perimeter), and a few bridges to adjacent clusters. If the graph is uniform — every node about the same degree — the cluster is not yet a cluster.

The fixes are usually small. Remove the most generic widget links. Add 3–5 in-body links per page on entity-adjacent siblings. Rewrite the highest-traffic page’s anchor text on its outbound internal links so the destinations are named explicitly.

Common misconceptions

Frequently asked questions

How many internal links should a pillar page have?
A pillar links to every perimeter page in its cluster, typically 12–25 in-body links. Adjacent-cluster bridges add a few more. Beyond 30 in-body links, the pillar becomes a link list rather than a substantive page.
How many internal links should a cluster page have?
Roughly 4–8 in-body links: the canonical link back to the pillar, plus 2–4 sibling links, plus 1–2 external resources where relevant. Variation by page type is fine; the range is a guideline.
What should internal-link anchor text say?
The entity the destination page covers. Exact entity names on the most important destinations, conceptual paraphrases on supporting destinations, comparative framings on bridges.
Where should internal links go on a page?
In substantive sentences in the page body, where the link explains a connection that the reader would otherwise have to find separately. In-body links carry the strongest signal; widget links carry the weakest.
Do internal links pass authority across clusters?
Yes, conditional on topic coherence. A link between two pages on related entities passes cluster signal in both directions; a link between two unrelated pages dilutes it. Topic- coherent bridges are what carry authority across clusters.
Semantic SEO is what happens when keywords stop being strings and start being entities in a graph. Read the full guide or run a free knowledge graph on your own content.