Internal Linking Strategy: A Repeatable Process for Any Site
An internal linking strategy is a repeatable process for deciding which pages on your site link to which, and with what anchor text, so search engines and readers can find your important pages and see how they relate. The process is short: give every page a role, group pages into topics with a hub for each, set linking rules, add links every time you publish, and audit on a schedule.
Treat it as a process, not a one-off cleanup, because internal links decay. New pages go live with nothing pointing at them, URLs change, and hub pages fall out of date. A routine catches this before it costs you.
What you need
- A list of every indexable URL on the site, exported from the sitemap or a site crawl.
- A site crawler that can compare crawled URLs with sitemap URLs to find orphan pages.
- Edit access to the site's CMS, since linking in to a new page means editing older pages.
Why internal links matter
Google says it "uses links as a signal when determining the relevancy of pages and to find new pages to crawl" (Google Search Central). Its starter guide adds that "Google primarily finds pages through links from other pages it already crawled" (SEO Starter Guide).
Links also signal priority. In its ecommerce documentation, Google writes: "As a general rule, the more links a page has to it within a site, the higher the relative importance of the page" (Google Search Central). Unlike links from other sites, internal links are entirely under your control.
For readers, links are how they move from a question to an answer to a decision. A plan that serves readers tends to serve crawlers as well.
Inventory your pages and give each a role
Export every indexable URL, from your sitemap or a site crawl, and assign each page one role.
| Role | What it is | Should link to | Should get links from |
|---|---|---|---|
| Hub | The broad overview page for a topic | Every supporting page in the topic, plus related commercial pages | Navigation or section pages, and every supporting page |
| Supporting page | A page on one subtopic or question | Its hub, closely related siblings, the relevant commercial page | Its hub, siblings, newer posts on the topic |
| Commercial page | Product, service, category or pricing page | Guides that answer pre-purchase questions | Hubs and supporting pages where the reader is ready to act |
| Utility page | Contact, legal, login, account | Rarely needed in body copy | Navigation and footer |
Pages that fit no role are a finding in themselves. They may be duplicates, outdated, or orphaned.
Group pages into topics
Topics are what make a linking plan coherent. Group supporting pages under the hub they belong to, based on the searches they answer.
If you are starting from keywords rather than existing pages, cluster them by search intent first. XeoRank's keyword research with clusters groups related queries so each cluster maps to one page, which gives you the hub and its supporting pages before you write anything.
When two pages target the same cluster, keep one and either merge the other into it or give it a distinct angle. Links can't fix two pages competing for the same query.
Set linking rules for each role
Write the rules down so anyone who publishes can follow them:
- Every supporting page links to its hub, early on the page where it fits naturally
- Every hub links to all of its supporting pages
- Supporting pages link to siblings only when a reader would plausibly want that page next
- Informational pages link to the commercial page that solves the problem they describe
- Commercial pages link to the guides that answer common pre-purchase questions
Google does not set a quota. Its link guidance says "there's no magical ideal number of links a given page should contain," and it advises against stacking links side by side: "Don't chain up links next to each other; it's harder for your readers to distinguish between links" (Google Search Central). Let usefulness decide how many.
Write anchor text that describes the target
Anchor text tells readers and search engines what the linked page is about. Google's standard is that "good anchor text is descriptive, reasonably concise, and relevant to the page that it's on and to the page it links to." The same page calls "click here" too generic and warns that "keyword stuffing is a violation of our spam policies" (Google Search Central).
In practice:
- Use the words a reader would use to describe the destination
- Vary the phrasing across pages instead of repeating one exact-match phrase everywhere
- Keep the anchor to the phrase that names the destination, not a whole sentence
For example, link the words "how to set up email authentication" to a guide on that topic, rather than "read more" or "this article".
Make every link crawlable
A link only helps if crawlers can follow it. Google's guidance is to use <a> elements with an href attribute, such as <a href="/products/category/shoes">, and it lists a span with an href, or an anchor that navigates through an onclick handler, as not recommended (Google Search Central). Its ecommerce guide makes the same point: "Don't use JavaScript events on other HTML DOM elements for navigation" (Google Search Central).
Point links at the final, canonical version of each URL. Google's advice is direct: "When linking within your site, link to the canonical URL rather than a duplicate URL" (Google Search Central). That rules out links to URLs that redirect, links with tracking parameters, and alternate paths to the same page.
Add links every time you publish
This is the step that makes the strategy repeatable, and the one that is easy to skip. A new page starts with no internal links pointing to it. Linking out from the new page is easy; linking in means editing older pages.
A publishing checklist:
- Link the new page from its hub, and update the hub's summary if the topic has grown
- Find existing pages that mention the topic and add a contextual link from each one where it helps the reader
- Link from the new page to its hub and to the commercial page it supports
- Check that every link points to the final, canonical URL
- If the page matters commercially, consider a link from navigation or a section page
Google's baseline is simple: "Every page you care about should have a link from at least one other page on your site" (Google Search Central). For a page you want to rank, treat that as a floor, not a goal.
To find older pages that mention a topic, search Google with the site: operator plus the topic phrase, or run a text search across your CMS.
Audit on a schedule
Run a fuller check monthly or quarterly, depending on how often you publish. Look for:
- Orphan pages: URLs in your sitemap that no crawled page links to
- Broken internal links that return a not-found error
- Links that point to a redirect instead of the final URL
- Links to non-canonical URLs, such as parameter or alternate-path versions
- Important pages buried many clicks from the homepage
- Hubs that no longer link to all of their supporting pages
A crawler that compares crawled URLs with sitemap URLs will surface orphans quickly. Google Search Console's Links report shows your top internally linked pages, but it has limits: tables are capped at 1,000 rows, and the report "isn't a comprehensive list of every link on your site" (Search Console Help). Use it to sanity-check priorities, not as a full inventory.
An illustrative example
This is a hypothetical site, described to show the process rather than results.
A B2B software company has a hub page on email deliverability and a set of supporting posts written over time by different authors. The audit shows that the hub links to only some of the posts, several posts link to an old hub URL that now redirects, and a few posts target the same question.
The team merges the overlapping posts, updates every link to the hub's current URL, adds the missing links from the hub, and links each post to the pricing page for the deliverability add-on. Then they add the publishing checklist to their editorial template, so the next post doesn't recreate the problem.
Mistakes to avoid
- Using the same exact-match anchor text for every link to a page
- Sending every link to the homepage or to a single sales page
- Adding long footer or sidebar blocks that link to many pages, which tells readers nothing about relevance
- Linking to URLs that redirect, or to parameter versions of a page
- Treating internal linking as a one-time project
Internal links are cheap to add and easy to neglect. Written rules, a publishing checklist and a regular audit keep them working as the site grows.
Related reading
Content Gap Analysis: How to Find What Competitors Cover and You Don't
Content gap analysis compares your pages with competitors' to find topics and questions they answer that you don't. Here is a process that ends in new pages.
Read more →Canonical Tag Best Practices: Setting rel=canonical So Google Uses It
Canonical tag best practices from Google's docs: self-referencing absolute URLs, one method per page, matching sitemaps and links, and mistakes to avoid.
Read more →Content Decay in SEO: How to Spot Pages Losing Clicks Early
Content decay is the slow loss of clicks on pages that used to perform. Catch it early in Search Console, rule out other causes, then refresh, merge or wait.
Read more →Ready to optimize your search rankings?
XeoRank connects to Google Search Console, analyzes content gaps with AI, and gives you actionable fixes — from the terminal or dashboard.