# Internal linking for SaaS

> A system for pushing authority to pages that convert: link rules by template, anchor text patterns, orphan detection and a quarterly link audit pass.

Source: https://saas-marketing.net/guides/saas-internal-linking/
Topic: SaaS SEO
Type: guide
Published: 2026-09-11
Last updated: 2026-09-11
Publisher: SaaS Marketing (saas-marketing.net)
License: CC BY 4.0. Quote or republish with attribution and a link to https://saas-marketing.net/guides/saas-internal-linking/

## Short answer

Internal linking is the cheapest ranking lever a SaaS site has, and it works best as a written contract per template rather than a writer's judgement. Every blog post links up to its cluster hub and across to one commercial page. Every comparison and integration page links back into supporting posts. Anchor text describes the target in natural language rather than repeating the exact keyword. Point new links at pages between positions 8 and 20, where a handful of contextual links can move a page onto page one.

## Key takeaways

- Write link rules per template so the requirement survives writer turnover, agency changes and a CMS migration.
- Pages between positions 8 and 20 respond to internal links faster than anything else on the site.
- Orphaned and near-orphaned URLs are common on SaaS sites past 300 pages, and comparison pages are frequently among them.
- Anchor text should describe the target page in a natural phrase, not repeat the exact keyword on every instance.
- Make related links a required CMS field with a minimum count so nothing publishes without them.
- Internal links cannot rescue a page with no demand, no unique content or no external authority behind the domain.

---

Most SaaS sites spend six figures a year earning external links and then waste them. The authority arrives at a blog post about hiring your first sales rep and stays there, because nothing on that post points anywhere a buyer could convert. Internal linking is how you move it, and it is free.

It is also the only ranking lever you fully control. No outreach, no budget approval, no waiting for a journalist to reply. The reason it stays broken on most sites is that it gets left to writers as a judgement call, and judgement does not survive a freelancer roster, an agency change or a CMS migration.

## Write the link contract per template, not per article

A link contract says what every page of a given type must link to before it can publish. It takes an afternoon to write and it removes the question permanently.

| Template | Must link up to | Must link across to | Must link down to | Minimum body links |
|---|---|---|---|---|
| Blog post | Its cluster hub | One commercial page (feature, comparison or integration) | Two related posts | 4 |
| Cluster hub | The category or solutions page | Two commercial pages | Every post in the cluster | Cluster size + 3 |
| Comparison page | The comparison hub | The pricing page and one feature page | Two supporting posts | 5 |
| Integration page | The integrations hub | The relevant feature page | One use case or tutorial | 4 |
| Use case page | The use case hub | Pricing and one comparison page | Two supporting posts | 5 |
| Docs article | The docs section index | The related feature page | Adjacent docs articles | 3 |
| Glossary entry | The glossary index | The most relevant guide | Two related definitions | 3 |

The rows matter less than the shape. Every page has a defined upward link, a defined commercial link, and a defined downward set. Once that holds, authority flows both ways through the site instead of pooling wherever the last external link landed.

Two rules worth arguing about. Docs should link to marketing pages, which most documentation teams resist on the grounds that documentation is not marketing. A feature page link from an API reference is the single most relevant link that page can receive. And comparison pages should link to pricing, because someone reading a comparison is closer to a decision than anyone else on your site, a point covered in more depth in the [bottom of funnel SEO guide](/guides/bottom-of-funnel-seo-saas/).

List the 15 to 30 URLs that produce trials, demos or revenue. Count the contextual internal links each one currently receives, excluding navigation and footer. On most SaaS sites the distribution is brutal: the homepage and three blog posts hold hundreds, and the comparison pages hold four. That table is the whole brief for the next quarter.

## Anchor text patterns that pass relevance without reading as stuffing

Anchor text tells Google what the destination is about, which is why it is worth doing deliberately and why it goes wrong when someone decides every link should use the exact keyword.

The pattern that works across a site:

- One or two exact-match anchors per target, placed on the most topically relevant pages
- The rest as natural variants: partial match, descriptive phrases, or the page title
- No naked URLs, no click here, no read more as the only anchor to a page
- Anchor text that reads correctly if you remove the link, because that is the test for whether it is natural

Practical example. A page targeting a competitor alternatives query might receive anchors like the competitor's name plus alternatives once, the alternatives comparison twice, a breakdown of the options in this category once, and our comparison of support desk tools once. Five links, five different phrasings, one clear topic.

The failure mode is easy to spot in an audit. Export every internal anchor pointing at a URL and look at the distribution. If 18 of 20 use the identical phrase, a human editor reading three of those posts in a row will notice the seams, and that is usually a better signal than any tool.

**8 to 20** The ranking range where a handful of new contextual internal links moves a page most reliably

## Find the orphans before you add anything new

An orphan has no internal links at all. A near-orphan has one or two, usually from a sitemap-driven listing page nobody reads. Both are common on SaaS sites past 300 URLs, and the pages most often affected are the ones built fastest: comparison pages, landing pages from an old campaign, and programmatic sets published without a real hub.

The detection method takes about 40 minutes:

1. Crawl the full site with Screaming Frog or Sitebulb, then connect Search Console, your analytics and the XML sitemap as data sources
2. Run the orphan URLs report, which surfaces anything present in those sources but absent from the crawl's link graph
3. Export inlinks per URL from the crawl and sort ascending, then treat anything under three contextual inlinks as a near-orphan
4. Join that list to Search Console impressions so you can see which orphans already have demand behind them

Ahrefs Site Audit and Semrush both flag orphans too, and Ahrefs ships an internal link opportunities report that finds pages already mentioning your target phrase without linking. Use it, then review every suggestion by hand, because the tools cannot tell the difference between a relevant mention and an incidental one.

Programmatic page sets deserve their own pass. A 400-page integration set published without a paginated hub linking every child is 400 orphans, and no amount of sitemap submission substitutes for real links. The launch sequence that avoids this is in the [programmatic page launch playbook](/playbooks/programmatic-page-launch/).

## Point new links at page two, not at page one

This is where internal linking stops being hygiene and starts being a lever. Pages that already rank between positions 8 and 20 are the ones that respond. They have demonstrated relevance, Google already understands the topic, and the gap to page one is small enough that a modest signal change closes it.

The prioritisation query takes ten minutes:

- Open Search Console, set the date range to the last 28 days, and filter to pages with average position between 8 and 20
- Sort by impressions descending, because impressions tell you how much traffic is sitting behind the gap
- Cross-reference against your commercial page list and keep the overlap
- For each surviving URL, find 10 to 25 existing pages that mention the topic and add a contextual link

Pages already at position 3 have less to gain and pages at position 45 usually have a content or authority problem that links will not solve. Spending the effort in the middle band is the whole trick.

## A worked example: position 14 to page one on 22 links

This is an anonymised case from a mid-market help desk product. The target was a competitor alternatives page, live for seven months, sitting at an average position of 14.2 with roughly 40 clicks a month. The page itself was good: real feature tables, honest about where the competitor wins, updated pricing.

It had four internal links. Two from the footer, one from the comparison hub, one from a blog post about ticket deflection.

Over five weeks the team added 22 contextual body links from existing posts, chosen by searching the site for pages that already discussed help desk selection, migration or pricing. No new content was published. No external link building ran deliberately, though the page did pick up two external links from a podcast mention in week three, which is the reason this is a case study and not an experiment.

| Week | Average position | Monthly clicks | Trials from the page |
|---|---|---|---|
| 0 | 14.2 | 40 | 1 |
| 3 | 9.8 | 145 | 4 |
| 6 | 6.4 | 390 | 9 |
| 12 | 5.1 | 610 | 14 |

Now the honest part. Three other pages received the same treatment in the same window. One moved from position 11 to position 7. Two did not move at all, and one of those had thinner content than the competitor pages ranking above it, which links were never going to fix. The technique works on maybe half the pages you apply it to, and the half it works on pays for the rest.

What made this one work, as far as anyone can tell: the linking pages were genuinely topically related, the anchors varied, and the target page was already good enough to deserve position 5. Ahrefs built an entire organic programme on this principle of pointing supporting content at commercial pages, which the [Ahrefs product-led SEO teardown](/examples/ahrefs-product-led-seo/) unpacks in detail.

## The surfaces nobody links from: docs, changelog and the help centre

Every SaaS company runs three content surfaces outside marketing's control, and all three are usually sealed off from the pages that make money. Documentation, the changelog and the help centre together often hold more URLs than the blog, attract more external links, and link to almost nothing commercial.

Docs are the biggest missed opportunity. An API reference page for a webhook endpoint is read by exactly the person who should see the integration page, and it typically links only to other docs. Add one contextual link per docs article to the relevant feature or integration page and nothing else changes about the reading experience.

The changelog is the second. Most release notes name a feature and never link to the feature page that sells it. That is a one-line template change: every changelog entry references the product area, and every product area maps to a marketing URL.

Help centre articles are the trickiest, because support teams correctly worry about turning a help article into a sales page. The compromise that works is a single contextual link where the article genuinely touches a capability the reader may not have, rather than a promotional block.

Docs and help articles frequently outrank marketing pages for the same query, which means linking them together can consolidate signals onto the wrong URL. Before adding links in bulk, check which URL currently ranks for each contested term. Where docs win a commercial query, point the docs page at the marketing page rather than the reverse, and consider whether the marketing page deserves to exist at all for that term.

## Make it a CMS field, not an editorial habit

The reason internal linking decays is that it depends on a person remembering. Remove the person from the loop.

In Sanity or Contentful, add a related pages reference field to every content type with a validation rule requiring a minimum of three entries, and block publishing without them. Add a second required field for the cluster hub. Writers then cannot ship a post that floats free of the site, and the rule outlives whoever wrote it.

Webflow has no native validation, so the equivalent is a required multi-reference field plus a pre-publish checklist and a weekly automated crawl that alerts on any URL with fewer than three inlinks. Less elegant, works well enough.

Two things to avoid building. Automated link injection plugins that match keywords across the whole site produce links from irrelevant pages and anchor text that reads like a machine wrote it, which it did. And "related posts" widgets driven by tags are not a substitute for contextual body links, because the link sits outside the content and carries far less relevance.

**Quarterly internal link audit**

## Where internal linking stops working

Links cannot manufacture demand. Point 30 links at a page targeting a query nobody searches and you get a well-linked page with no traffic. That is a keyword selection problem, and it shows up most on products defining a new category.

Links also cannot compensate for a domain with no external authority. On a site with 40 referring domains, internal linking redistributes a small pool, and redistribution has limits. Seed-stage companies in particular need both at once, which is why the [seed stage SaaS SEO playbook](/playbooks/seed-stage-saas-seo/) sequences internal linking alongside early external link acquisition rather than instead of it. The external side is covered properly in the [SaaS link building](/guides/saas-link-building/) guide and the sprint module on [earning links and AI citations](/courses/saas-seo-sprint/04-links-and-citations/).

And links cannot fix a page that loses on merit. If the four results above your comparison page have current pricing, real screenshots and a clear position on who should buy the competitor instead, more links move you from eleventh to ninth and then stop. Fix the page first, using the structure in the [SaaS comparison pages](/guides/saas-comparison-pages/) guide, then add the links.

One more limit worth naming. Above roughly 5,000 URLs, manual internal linking stops scaling and you need programmatic rules in the templates plus a quarterly manual pass on commercial pages only. The [enterprise SaaS SEO playbook](/playbooks/enterprise-saas-seo/) covers how that governance works when three teams publish into the same site.

## Do this in the next two hours

Pull your top 20 commercial URLs and count the contextual internal links each one receives. Pull every page ranking between positions 8 and 20 in Search Console. Find the overlap, then spend an afternoon adding links from existing posts that already mention the topic.

That is a free afternoon with a measurable outcome inside six weeks, and it is the highest return per hour available in SaaS organic search. Once it is running, write the link contract into your CMS so it stays running, then read the [product-led SEO](/guides/product-led-seo/) guide for how to build commercial pages worth linking to and the [SaaS SEO](/saas-seo/) hub for where this sits in the wider programme.

## Frequently asked questions

### How many internal links should a SaaS blog post have?

Three to eight contextual links in the body for a 1,500 word post, plus whatever the template adds. At least one should point up to the cluster hub and at least one across to a commercial page such as a feature, comparison or integration page. More than ten body links in a short post dilutes each one and starts to read like a link farm to a human editor.

### Do internal links actually improve rankings?

Yes, and they are the most reliable on-site lever available. Internal links distribute authority, establish which pages you consider important, and supply anchor text that helps Google understand relevance. Google representatives have repeatedly described internal linking as one of the biggest things a site owner controls. The effect is largest on pages already ranking between positions 8 and 20.

### What is an orphan page in SEO?

A URL with no internal links pointing at it from anywhere on the site, so it can only be discovered through a sitemap or an external link. On SaaS sites these are usually old landing pages, paginated children, programmatic sets published without a hub, and comparison pages built in a hurry. They get crawled rarely and rank poorly relative to their content quality.

### What anchor text should I use for internal links?

A natural phrase that describes the destination, varied across instances. If the target ranks for zendesk alternatives, use that phrase once or twice and use variants like the alternatives comparison or our breakdown of the options elsewhere. Exact-match anchor text on every internal link looks manipulated and, more practically, makes the copy read badly to the humans you want to convert.

### How do I find internal linking opportunities at scale?

Search your own site for the target keyword with a site colon query, or crawl and export body text, then find pages that already mention the phrase without linking to it. Ahrefs Site Audit and Semrush both ship an internal link opportunities report that does this automatically. Review the suggestions manually, because tools suggest links from pages where the mention is incidental.

### Should SaaS product pages link out to blog content?

Sparingly and deliberately. A feature page exists to convert, and sending the reader into a blog post interrupts that. One or two links to genuinely deeper resources at the bottom of the page is reasonable. A sidebar of eight recent posts on a pricing page is a conversion leak dressed as an SEO tactic.

### How often should I audit internal links?

Quarterly for a full pass, with monitoring in between. A quarterly crawl catches orphans created by new publishing, broken links from URL changes, and redirect chains introduced by a rebrand. Weekly automated crawls with alerting on new 404s and new orphan URLs catch the rest before they cost you anything.
