L3 · Category architecture

Internal Linking Architecture: Five Link Types, Three Graph Properties, and What Does Not Belong

An internal link graph is a set of typed edges, not a pile of links — every one performs one of two jobs, and related-posts strips, footer blocks, and tag archives are anti-structural because their edges do neither.

CRAWL PATHROOT

Key takeaways

  • An internal link graph is a set of typed connections, not a pile of links — every edge exists because a specific relationship in the topical map or query network put it there.
  • Every link must do one of two jobs: complete the current query class or move the reader one class forward — a link doing neither is a cost, not a neutral addition.
  • Five link types carry every legitimate edge: hub-to-node, node-to-hub, lateral, contextual bridge, and forward — each with its own job and placement rule.
  • Three graph-wide properties matter more than any single link: no orphans, maximum click depth of three, and an asymmetric direction ratio favouring outer-to-core over core-to-outer.
  • Related-posts strips, footer link blocks, and tag archives are anti-structural, not just weak — they add thousands of edges that no map specified and no query network justified.

EXTRACTIVE SUMMARY

An internal link graph is the set of typed connections between URLs in a semantic content network, where every edge exists because a specific relationship in the topical map or the query network put it there. Every link must perform one of two jobs: complete the current query class or move the reader one class forward. Five link types perform those jobs: hub to node, node to hub, lateral, contextual bridge, and forward. Three graph properties govern the whole structure rather than any single edge: no orphans, maximum click depth of three, and an asymmetric direction ratio favouring outer to core. Anchor text reuses the exact n-gram from the query network, and creative variation splits one strong signal into several weak ones. Three common modules do not belong in the graph at all: related-posts strips, footer link blocks, and tag archives. The graph is audited by counting edges per type and confirming each one has a job.

An internal link graph is the set of typed connections between URLs in a semantic content network, where every edge exists because a specific relationship in the topical map or the query network put it there.

The word typed carries the weight. In an ordinary content library, all internal links are the same kind of object: one page mentions another and links to it. In a semantic content network, a link from a hub to its node is a different object from a bridge crossing the contextual border, and the two are placed for different reasons, in different positions, with different anchor text.

The graph is specified in the topical map before any page is written. Two fields carry it: internal link targets, which lists the outbound edges from each row, and bridge target, which names the core destination each outer row forwards toward.

Every internal link must perform one of two jobs: complete the current query class, or move the reader one query class forward.

Query classes progress along a journey. Informational, then commercial investigation, then transactional. A reader who has just understood what a topical map is has either finished, in which case a link completing that class serves them, or is about to ask how one gets built, in which case a link forwarding them one class serves them.

A link doing neither is a cost rather than a neutral addition. It consumes crawl attention, dilutes the link equity distributed by the page, and adds a relationship the search engine must evaluate and discard. Ten such links on a page of forty mean a quarter of the page’s outbound signal points nowhere useful.

The permitted exception is a backward link to a prerequisite. A page assuming knowledge of a concept may link back to the page teaching it, because comprehension is a precondition for the current class rather than a regression from it.

Five link types carry every legitimate edge in the graph.

Hub to node, descending. A seed hub links to every node beneath it. The job is coverage declaration: the hub asserts the scope of its cluster by enumerating it. Rule: complete enumeration, no selective linking, because a node the hub omits is discoverable only through the sitemap.

Node to hub, ascending. Every node links back to its hub. The job is cluster membership: the node declares which subject it belongs to. Rule: one ascending link per node, to its own hub and not to a sibling’s hub.

Lateral, sibling to sibling. A node links to another node beneath the same hub. The job is completing the current query class for a reader whose next question sits alongside rather than above. Rule: place a lateral link only where correlative query data supports it. Lateral links added by topical resemblance are the most common source of graph noise, because sibling pages always resemble each other.

Contextual bridge, outer to core. An outer section page forwards to a core section page. The job is transporting earned relevance across the contextual border and moving the reader one query class forward. Rule: a justification passage precedes the anchor, stating why the two contexts connect. A bare anchor is not a bridge.

Forward, sequential. A page links to the page serving the query users search next, regardless of hub relationship. The job is anticipating the next search before the reader returns to the search engine. Rule: the target comes from the sequential signal in the query network, and the link is placed at the point in the page where that question arises rather than collected at the bottom.

Placement follows from the job in every case. A link exists to be taken at the moment its need appears, and a link placed after the reader has finished is a link placed after the reader has left.

The three graph properties

Three properties govern the whole graph rather than any individual edge, which means none of them can be fixed one page at a time.

No orphans. Every URL receives at least one inbound internal link. An orphaned page is discovered late, recrawled rarely, and contributes its tuples to the network’s coverage in name only. Orphans accumulate silently through migrations, unpublished drafts that later publish, and nodes added to a map after their hub was written.

Maximum click depth of three. Every URL is reachable within three clicks of the home page. Depth is the crawler’s cost of arrival, and it compounds: a page at depth six is not twice as expensive as one at depth three.

Asymmetric direction ratio. Outer to core links outnumber core to outer links substantially, with three to one a workable floor. The asymmetry is the entire point of the contextual border. Outer pages earn impressions across a wide surface and forward that relevance inward; core pages retain it. A graph where core pages link outward as freely as outer pages link inward leaks authority away from where the money is, and it does so invisibly, because every individual link looks reasonable.

→ Building a semantic content network: what to publish, in what order, over how long

Anchor text

Anchor text reuses the exact n-gram from the query network, in the same term form, every time.

The convention this displaces is anchor variation, taught as a defence against over-optimization and as a matter of writing quality. Varying anchors across “topical map,” “content map,” and “topic map” produces three weak lexical signals where one strong one was available, and adds a resolution step at the point where the graph is supposed to be cheapest to read.

Three subsidiary rules follow. Anchor text describes the destination rather than the current sentence, so “topical map production” rather than “read more about this.” Anchors sit inside the sentence that raises the need rather than in a standalone line. And the same destination carries the same anchor across the network, because a destination with six different anchors is six different things to a parser.

What does not belong in the graph

Three common modules are anti-structural rather than merely weak, and removing them improves the graph.

Related-posts strips. An automated module selecting pages by tag, category, or recency. Every link it produces is untyped, most perform no job, and it places them after the content where the reader has already finished. A related-posts module on 300 pages adds thousands of edges that no map specified and no query network justified.

Footer link blocks. A repeated set of links appearing on every page. Sitewide repetition tells the search engine these links are navigational furniture rather than contextual relationships, and it flattens the very distinctions the typed graph exists to create. A footer holding genuine navigation is fine. A footer holding twenty content links is a related-posts strip in a different position.

Tag archives. Pages generated from a taxonomy that runs parallel to the topical map. Tag archives create a second, competing structure over the same content, produce near-duplicate listing pages that hold no tuples of their own, and are a reliable source of near-duplication cannibalization.

The common fault in all three is that they add edges nobody decided on. The graph’s value is that every edge was a decision, and automation that adds edges by rule removes exactly that property.

→ Content cannibalization: four types, four different fixes

How to audit the graph

Audit the graph by counting edges per type and confirming each one has a job.

Four passes cover it. Crawl the property and export every internal link as a source and destination pair. Classify each edge as one of the five types, and flag every edge that fits none, since unclassifiable edges are the noise the audit is looking for. Compute the three graph properties: orphan count, depth distribution, and the outer to core ratio against core to outer. Sample anchor text by destination and confirm each destination carries one consistent anchor.

The output that matters is the unclassifiable count as a proportion of total edges. A graph built from a map runs low. A graph built by publishing and linking as you go runs high, and the proportion is a reasonable proxy for how much of the structure was decided versus accumulated.

BRIDGE

The five types and the three properties can be applied to an existing property, and doing so is worth the effort. What cannot be done retroactively is the part that makes the graph cheap to maintain: specifying every edge in the map before any page exists, so that each new page arrives knowing its hub, its siblings, its bridge target, and the pages that forward into it.

Retrofitting inverts that. Each new page requires a survey of what already exists, the survey degrades as the property grows, and the graph ends up reflecting what the most recent author remembered. A semantic content network build assigns the internal link targets and the bridge target as map fields, so that the graph is a specification the network is built to rather than a pattern that emerges from it, and building topical authority to rank does not depend on anyone’s recall.

→ Semantic content network builds: architecture before articles

SUPPLEMENTARY CONTENT

How many internal links a page should carry

Link count follows from the typed edges the map assigned rather than from a target. A node typically carries one ascending link, zero to three lateral links where correlative data supports them, and one or two forward links, which puts most nodes between two and six.

A page carrying twenty internal links has almost certainly acquired untyped edges, since no map assigns twenty jobs to one page.

Whether internal links should open in the same tab

Internal links open in the same tab. Forcing new tabs fragments the session and the behaviour the sequential signal was derived from, and it breaks the back navigation readers use to return to a hub.

Whether nofollow helps sculpt internal link equity

Nofollow on internal links does not redistribute equity to other links on the page. The technique was viable long ago and has not worked that way for many years, and using it on internal links now removes a path without benefiting another.

The structural equivalent of sculpting is not linking to the page at all, which is a decision the map should make explicitly rather than a tag applied afterward.

How the graph changes when the map is extended

Adding a node to an existing cluster requires three edits: an ascending link from the new node to its hub, a descending link from the hub to the new node, and any lateral links the correlative data supports. Adding a seed requires the same plus a bridge target.

The hub edit is the one routinely skipped, and skipping it is how orphans enter a graph that was correct when it was specified.

Questions readers ask

Frequently asked questions

How many internal links should a page have?

Link count follows from the typed edges the topical map assigned rather than from a target number. A node typically carries one ascending link to its hub, zero to three lateral links where correlative query data supports them, and one or two forward links, placing most nodes between two and six.

Are related posts modules good for SEO?

Related-posts modules are anti-structural. Every link they produce is untyped, most perform no job, and they place links after the content where the reader has finished. A module running on 300 pages adds thousands of edges that no topical map specified.

Should internal anchor text be varied?

Internal anchor text should reuse the exact n-gram from the query network in the same term form every time. Varying anchors across synonyms produces several weak lexical signals where one strong signal was available, and the same destination should carry the same anchor across the network.

Sourcing

Sources

  1. This is Holistic Radar's own typed-graph internal linking model, describing an internal architecture standard rather than a documented external framework.

Author

Bilal Sameer

Content Systems Lead

Get my free Radar ScanFree Radar Scan