An internal linking strategy decides which pages link to which, with what anchor text, so authority flows from the pages that earn links to the pages that earn revenue. Build it around three page types, hubs, supporting posts and money pages, and run it as a routine every time you publish. Treated as a once-a-year audit fix, it starts decaying with the next post you publish.
Why internal links matter more than most teams think
Internal links do three jobs at once:
- Discovery. Crawlers find pages by following links. A page with no internal links depends on the sitemap alone and tends to be crawled less often.
- Context. Anchor text and the copy around a link tell search engines what the destination is about. Ten posts linking to your pricing page with “pricing” say less than ten posts linking to it with descriptive phrases in relevant sentences.
- Priority. Pages that receive many links from important pages are treated as important. Your link graph is a vote you cast for your own site.
The pattern I see most often: the blog collects external links and traffic, while the service or product pages that should rank for commercial terms receive links only from the main navigation. The authority is on the site. It just isn’t pointed anywhere useful.
It’s also one of the few SEO levers you fully control: no outreach, no budget approval.
Mapping hubs, supporting posts and money pages
Before adding a single link, label every indexable URL with a type and a cluster.
| Page type | Examples | Job | Links out to | Gets links from |
|---|---|---|---|---|
| Money page | Service, product, category, pricing, demo pages | Convert | Two to five proof or explainer posts | Hubs, supporting posts, navigation |
| Hub | Topic overview, pillar guide, collection page | Organize a cluster | Every supporting post in the cluster, the money page | Navigation, supporting posts, other hubs |
| Supporting post | How-tos, comparisons, definitions, checklists | Earn long-tail traffic and external links | Its hub, one money page, one to three sibling posts | Hub, siblings, newer posts |
The rules that follow from the map:
- Up: every supporting post links to its hub.
- Across to revenue: every supporting post links to the one money page its reader is most likely to need next. Not three, one.
- Down: the hub links to every supporting post in its cluster, with a sentence of context for each, not a bare list.
- Sideways: siblings link to each other only where a reader would genuinely go next.
Keep the map in a spreadsheet with columns for URL, page type, cluster, target keyword, parent hub, assigned money page and current inlink count. The target keyword column matters more than it looks: each keyword gets one owning page. If two pages want the same term, internal links will reinforce the conflict instead of resolving it, so fix that first with the steps in how to find and fix keyword cannibalization.
Anchor text rules that stay natural
Anchor text is where internal linking either sounds written or sounds engineered. Five rules keep it on the right side:
- Describe the destination. “Click here” and “read more” waste the anchor. The words should tell a reader what they’ll get.
- One phrase, one URL. If “technical SEO audit” links to a checklist post on one page and to a service page on another, you’ve told search engines two pages compete for the same idea. The owning page from your map gets that phrase.
- Vary around the topic. Mix exact phrases, partial matches and natural descriptions. Repeating the identical anchor fifty times adds nothing the first ten didn’t.
- Link in the sentence where the topic comes up. A contextual link in the body beats a “Related links” block tacked onto the end.
- Keep it short and specific. Two to six words usually carry enough meaning without swallowing the sentence.
A quick example for a page about B2B keyword research:
| Weak anchor | Better anchor | Why |
|---|---|---|
| “this guide” | “keyword research for B2B SaaS” | Names the topic |
| “SEO” | “finding terms that turn into pipeline” | Specific to the page, not the whole discipline |
| “keyword research” (also used for another URL) | “B2B keyword research process” | One phrase stays tied to one URL |
Passing authority to commercial pages
Money pages rarely earn external links on their own. People link to useful posts, tools and data, not to service pages. Your job is to route some of that authority onward.
- Find the strong pages. Export pages with the most referring domains from your backlink tool and the most clicks from Search Console. That short list is your authority supply.
- Match each to a money page. For each strong page, pick the commercial page its reader would reasonably need next. A post on fixing crawl errors routes to technical SEO services, not to a paid ads page.
- Place the link where it earns attention. Put it in the body, near the section where the problem comes up, with descriptive anchor text. Links buried in the last paragraph get fewer clicks.
- Don’t overload. Every extra link on a page competes with the others for attention and value. One or two commercial links per post is a sensible default.
- Skip the tricks. Adding nofollow to “save” authority doesn’t redirect it elsewhere, and links that only load after a click, or script-only buttons without an
href, may not be followed at all. Use standard<a href>links in the HTML.
A hypothetical example: a checklist post has links from a few dozen sites, while the matching service page has none and sits on page two. One contextual link from the checklist, plus links from the two most related posts, is often the fastest lift available, and it takes an hour.
Finding orphan and under-linked pages
An orphan page has no internal links pointing to it. A crawler starting from your homepage can’t find it by definition, so you have to compare lists.
- Crawl the site with a desktop crawler and export every URL it reached.
- Pull the URLs from your XML sitemap, the Search Console performance report and your analytics landing pages.
- Any URL in step 2 that’s missing from step 1 is an orphan. Many crawlers can import the sitemap and Search Console data and flag these automatically.
Under-linked pages are harder to spot because they technically have links, just not enough for their importance. Look at unique inlinks and click depth together. As a working rule, money pages should sit within three clicks of the homepage and receive links from their whole cluster.
The quickest wins sit where three signals overlap: a page that ranks in positions 5 to 20, gets meaningful impressions and has only a handful of internal links. Those pages are already relevant; they need more internal votes.
- Every orphan is either linked from its hub, merged into another page or deliberately removed
- Every money page is within three clicks of the homepage
- Every money page receives links from supporting posts in its cluster, not just navigation
- No internal links point to redirects, 404s or non-canonical URLs
- Striking-distance pages (positions 5-20) have at least a few new contextual links
Internal linking is one line in a broader crawl review; the technical SEO audit checklist covers the rest.
Maintaining links as the library grows
Most internal linking decays for one reason: new posts link out to old ones, but nobody goes back to link old posts to the new one. The newest page on the site is usually the most orphaned.
Put these steps in the publishing checklist so they happen by default:
- New post links up to its hub and across to its assigned money page
- Hub page updated with a link and one line of context for the new post
- Two to four existing posts that mention the topic now link to the new post
- Map spreadsheet updated with the new URL, type, cluster and keyword
To find those existing posts, search your own site for the topic phrase (a site: search or your crawler’s custom text search) and look for pages that mention it without linking.
Then a lighter quarterly pass:
- Point links that hit redirects to the final URL, especially after merges, pruning or migrations.
- Compare money-page inlink counts with last quarter. If a commercial page lost links, find the edits that removed them.
Give this an owner. On most teams it lands with whoever runs content; in the technical SEO and content systems work I do, it’s part of the publishing workflow rather than a separate project.
Internal linking for large or programmatic sites
On sites with thousands of pages, hand-placed links stop scaling. The map still applies, but links come from templates and data rules.
- Breadcrumbs and parent links on every template, so each page links up its hierarchy automatically.
- Related-page modules driven by real attributes: same category, same use case, nearby location, compatible product. Random modules change on every page load, and “most recent” modules keep shifting links toward the newest pages instead of the most relevant ones.
- Capped modules. A fixed set of related links, such as five to ten, keeps each link meaningful and the template predictable.
- Reachable leaf pages. Category and hub listings need crawlable pagination or segmented sub-hubs so every page sits a few clicks deep. Infinite scroll without paginated URLs hides pages from crawlers.
- No links wasted on excluded URLs. Don’t point template links at filtered, sorted or parameter URLs you’ve set to noindex or canonicalized elsewhere.
- Editorial links on top. Templates handle coverage; your best supporting posts still deserve hand-placed links to key hubs and money pages.
Monitor the system, not individual pages: track click depth and inlinks by page type after each crawl. When a data feed drops a category or a template loses a module, hundreds of pages can become orphans overnight, and a monthly crawl comparison catches it before rankings do.
Get it built
If your blog earns traffic and links but your commercial pages don’t rank, I can map the site and build the linking system into your publishing workflow. Start with a Growth Audit, $1,500 fixed and credited if we continue. See pricing or get in touch.