---
title: "Internal Linking"
slug: "internal-linking"
category: "seo"
tags: ["seo", "internal-linking", "anchor-text", "link-equity", "site-architecture"]
status: "stable"
last_updated: 2026-05-14
summary: "Anchor text rules, hub-and-spoke architecture, link depth, orphan audits, and the three-click rule."
related: ["[[seo/content]]", "[[seo/content-clusters]]", "[[seo/crawl-budget]]", "[[seo/technical]]", "[[writing/articles]]", "[[seo/glossary]]", "[[seo/audit-checklist]]"]
---

## Overview

Internal links distribute [[glossary/crawl-budget|crawl budget]], route link equity, and tell Google what every page is about. Done right, they are the single highest-impact on-page move after publishing. Done wrong, they orphan pages, dilute equity across irrelevant destinations, and bury cluster pages four clicks deep where crawlers stop visiting.

## Write descriptive anchor text, never "click here"

Anchor text is a strong relevance signal; treat it as a second title for the linked page.

- Anchor text matches the linked page's topic. Link to a page about Postgres backups with "Postgres backup strategies," not "this article."
- Vary anchor phrasing across the site; identical anchors on 50 pages look manipulative.
- Avoid generic anchors: "here," "read more," "learn more." They waste the relevance signal.
- Avoid exact-match anchor text on every internal link to a target. Mix the head term with long-tail variants.

Bad: `Read more about <a href="/postgres-backup">here</a>.`

Better: `See [[backend/postgres]] for the full backup checklist.`

## Keep every page within three clicks of the homepage

Crawl depth correlates with crawl frequency. A page five clicks deep is crawled monthly; a page two clicks deep is crawled daily.

- Homepage to pillar: one click.
- Pillar to cluster page: one click.
- Cluster page to peer cluster page: one click.
- Maximum depth from the homepage to any indexable URL: three clicks.

If a page is four clicks deep, the architecture is wrong; promote the path or split the cluster.

## Use hub-and-spoke, not chain links

Two link patterns produce different equity flows. Pick hub-and-spoke as the default.

- Hub-and-spoke: a pillar (hub) links to every cluster page (spoke); every cluster page links back. Equity concentrates on the hub.
- Chain: page A links to B, B links to C, C links to D. Equity decays at every hop; the last page in the chain gets almost none.

The folder structure on this site is hub-and-spoke by design. Cluster details live in [[seo/content-clusters]].

## Audit for orphans on every build

An orphan is a page with zero inbound internal links. Orphan pages are invisible to crawlers, even when listed in the sitemap.

- Run an orphan check in CI: parse every page's outbound wikilinks, build the inverse index, flag any page with zero inbound links.
- Fix orphans by adding inbound links from at least two pages in the same cluster.
- The pillar page is allowed to be orphaned from cluster pages only if the homepage links to it directly.

## Distribute link equity by linking up and across, not down only

PageRank flows along edges; the architecture decides which pages accumulate it.

- Link up: every cluster page links to its pillar. The pillar accumulates equity from the whole cluster.
- Link across: every cluster page links to two or three siblings. This raises the floor for newer pages.
- Link down: the pillar lists every cluster page. This is the cluster's discovery edge.
- Do not link to deprecated, redirected, or noindex pages. Equity flowing into a noindex page is wasted.

## Sculpt low-value pages out of the link graph

Not every page deserves equity. Login, search results, infinite filter combinations, and archive pages drain crawl budget. See [[seo/crawl-budget]] for the full list.

- Add `rel="nofollow"` to outbound links to user-generated content where spam is a concern.
- `rel="nofollow"` on internal links does not redirect equity in modern Google; it only prevents the link from passing equity. Use sparingly.
- `noindex,follow` on thin pages lets crawlers traverse the page without indexing it.
- Robots.txt-block infinite-parameter URLs entirely.

## Set a per-page outbound link budget

Pages with 100+ outbound links spread equity too thin to matter. Pages with 2 are not part of the graph.

- Editorial pages: 5 to 20 internal outbound links, with at least 3 to the same cluster.
- Pillar pages: one outbound link per cluster page, plus 2 to 3 cross-pillar links.
- Homepage: link to every pillar plus the top 5 most-trafficked cluster pages.
- Footer links count; keep the footer focused on legal pages, not a full sitemap.

## Related

- [[seo/content]]
- [[seo/content-clusters]]
- [[seo/crawl-budget]]
- [[seo/technical]]
- [[writing/articles]]
- [[seo/glossary]]
- [[seo/audit-checklist]]
