Guide

Internal Linking: A Practical Guide

Internal linking connects one page on your domain to another, so readers and crawlers can reach it and search engines can see which pages you consider important. A link map records the source, target and anchor of each link, so you can check them after every release.

By the Addition team Updated 8 October 2026 16 min read

What does internal linking change?

Internal links help people and crawlers find pages, while anchor text explains what those pages contain. Use crawlable HTML links and place them in sentences that explain why readers should visit the linked page.

Google says every page you care about should have a link from at least one other page on your site. After you add a URL to your sitemap, link to it from a page your readers already use.

Suppose you add /collections/linen-shirts to an XML sitemap. The URL is now in the sitemap, but nothing on your site links to it.

Add links from your shirts guide and menswear category so readers can reach the collection.

Put links to your important pages inside content that raises the questions they answer.

Google can use click depth and the number of links to a page to infer its relative importance. Use click depth and incoming link counts when you decide which pages need more internal links or shorter paths from your home page.

When you review a page for ecommerce SEO, count its menu links first. A large menu can already provide many links before you add any in the body copy.

The 2025 Web Almanac measured a median of 43 same-site links on desktop pages and 39 on mobile pages. At the 90th percentile, the same study found 174 on desktop and 161 on mobile.

On a B2B site, link from a broad solution page to a use case page that answers the reader's next question.

How do internal links work?

Before you choose a page as a source, open it live and check two things: the link uses standard markup, and its anchor text names the target. Links built only with JavaScript click handlers can fail the first check even when they work in a browser.

Google normally crawls links in <a> elements with href attributes. Use this markup for every link.

  • The recommended examples all use an a element with an href. Relative and absolute URLs both appear in the accepted group.
  • Replace a routerLink attribute or an href on a span with a standard a element that carries an href.

Say your product carousel advances with JavaScript and opens /products/blue-mug after a click. Inspect the rendered HTML.

For example, if the product name sits inside <a href="/products/blue-mug">, you have a standard HTML link.

Google uses anchor text and surrounding words to understand the linked page. Use the anchor to describe the destination and the surrounding sentence to explain why the reader should visit it.

W3C's G91 technique recommends using link text that describes the link's purpose. Replace an isolated "learn more" with text that names sizing, shipping or care.

Vary the anchor text from one link to another. Compare each anchor with the target page's title and the answer at the start of the page to check that the anchor describes its content.

Search Engine Land distinguishes structural links in page templates from contextual links in body copy. Use that distinction to decide whether to edit the template or the paragraph.

Link surfaceWhat it controlsWhat you decide
NavigationRepeated routes across a templateWhich page types to include in the navigation
BreadcrumbWhere the page sits in the site hierarchyWhich parent page the breadcrumb should link to
Contextual body linkA link to a page that answers the reader's next questionWhere to place the link, which page to link to and what anchor text to use
Related content moduleRelated-page recommendations repeated across pagesHow to select related pages and when individual pages need exceptions
Links in page templates help readers navigate the site. Contextual links explain why a linked page matters in that paragraph.

Your category menu helps readers find the collection, and your buying guide explains why it suits their needs.

Reject links that do not fit the source page's topic or lead to a page that does not answer the reader's question.

Build your internal link map

Choose target pages, then search for source pages that discuss the questions they answer, even when those pages never use the target keyword. Review each proposed link before adding it to the map.

List the pages you want indexed and visited by your readers. Give each target an owner and page type.

Record the main question each target answers and how many internal links currently point to it.

For example, your target might be /services/inventory-forecasting. The page offers a forecasting service for operations teams, so an inventory planning article is a better source for a link than a warehouse careers article with high traffic.

Export a list of crawlable HTML pages and the links between them, then compare it with your sitemap and analytics landing page data.

Add URLs from Search Console to find target pages your crawl missed.

Use Screaming Frog's orphan-page workflow to add URLs from sitemaps and landing page exports that the crawl did not find. An orphan page has no link path back to the crawl's starting point.

When a sitemap includes a page with no internal route, choose the page that should link to it.

Use an ecommerce SEO audit when filters, pagination or duplicate templates inflate the inventory.

Use canonical URLs as targets so you do not have to rebuild the map after the first release to replace noncanonical targets.

  1. 1. Finalize the target list

    List indexable pages you want people to use. Remove redirects and duplicate variants. Then exclude search results and targets blocked from indexing before you assign sources.

  2. 2. Group targets by page type

    Group targets by page type, such as categories, products, guides and conversion pages.

  3. 3. Find source candidates

    Search your crawl text and content repository for the problem each target solves. Keep several candidates so you can choose the source page that best matches what the reader needs.

  4. 4. Read both pages

    Check that the target answers a question raised on the source page. If the target page's answer is thin or outdated, revise it before you add more links to it.

  5. 5. Write descriptive anchor text

    Use words that tell readers what they will find on the target page. Place the anchor in a sentence that explains why the linked page is useful, and avoid grouping several links without context.

  6. 6. Assign placement and owner

    Record which paragraph or component will contain the link. Record the template if it controls where the link appears. Give the edit to whoever owns that paragraph or component, so the proposed link goes live in the next release.

  7. 7. Check the published link

    Open the live source and inspect its HTML. Then follow the link and record the final response. Close the row only after those checks pass.

Say you run a Shopify store with a global related-products component. Check links in that shared component separately from links in buying guides.

TargetBest source typeAnchor textOwnerStatus
/collections/linen-shirtsFabric guidelinen shirts for warm weatherContentReady for review
/products/linen-overshirtLinen categorylinen overshirtMerchandisingRendered
/services/inventory-forecastingInventory planning guideinventory forecasting serviceB2B contentTarget needs revision
/guides/shirt-careProduct detail pagehow to wash a linen shirtProduct contentProposed

Ahrefs suggests 3 to 5 contextual links for a typical article. Semrush suggests adding at least 2 or 3 internal links to a new page.

The 2026 WebKnoGraph experiment on arXiv compared automated link selection with selection assisted by experts, using two configurations of the link graph on one live site. Automated selection spread more authority through the link graph but linked pages that were less closely related in meaning.

Links selected with expert review more closely matched the reader's question. Use automation to suggest source pages, then have your editor check whether each target answers a question raised by the source.

What does internal linking cost?

Internal linking mostly costs review time: someone lists the pages, writes the links, ships them and checks them. Estimate the cost of each task for the initial work and each subsequent release.

Base the initial scope on the number of indexable pages.

One navigation change affects every product page and needs broader testing than a paragraph edit.

If five of your pages mention the same phrase, choose the source where your linked page best answers the reader's question.

Suppose you have 600 indexable pages and 1,800 parameter URLs. Exclude parameter URLs that should not be link targets before you estimate the cost of choosing source pages.

Budget separately for your initial setup and your ongoing maintenance. The first pass builds the inventory and priority rules.

For each later release, review new, removed and changed pages.

Review the editorial pages that point to any changed target.

For every approved target, deliver a working link, an accurate anchor, a named owner and a recorded test result.

Allow time for regression testing when you change a shared component. Test Core Web Vitals after a shared link component changes the layout or how users interact with the page.

Follow each link as a buyer would and check that the destination is the next step they expect. Include that check in your cost estimate.

Fix common internal linking failures

A link can still work long after the reason for adding it has gone. First, check that the target loads and delivers what the anchor text describes. Then check where your link appears and who on your team maintains it.

The first mistake is assuming that a crawl has found every page. Supply disconnected URLs from a sitemap or landing page export when your crawl begins at the home page.

Check which disconnected pages you want indexed and which you excluded on purpose.

The second failure is linking to a redirect instead of the final URL. Update links that redirect so they point directly to the final URL.

Say /guides/old-size-chart redirects to /guides/size-chart. Update the source link to point directly to /guides/size-chart.

The third failure is a generic anchor. Replace "Read more" with link text that names the product, definition, comparison or service.

The fourth failure is automated insertion without review. A phrase match can connect two pages that use the same words for different problems.

Search Engine Journal recommends assessing three parts of a link: the source topic, the target topic and the anchor text. Check the three parts Search Engine Journal recommends you assess: source topic, target topic and anchor text.

For example, "model" on an apparel page can mean a person wearing a product. On a forecasting page, it can mean a statistical model.

Reject a phrase match when it sends your reader to the wrong answer.

The fifth mistake is treating a listing in llms.txt as an internal link. List pages in llms.txt for an agent, then add a standard site link for readers and crawlers to follow.

The sixth problem is content that AI tools cannot retrieve. Link to pages with evidence and explanations related to the source page's topic, then test whether AI tools can retrieve your pages for AI Overviews.

FailureWhat you observeNext test
Disconnected targetURL appears outside the crawl graphCheck whether the page should be indexed and choose a page to link to it
Redirected linkSource points to a 3xx responseReplace it with the final canonical URL
Broken targetSource points to a 4xx or 5xx responseRestore the target page or link to a replacement. Otherwise, remove the link.
Generic anchorLink text says "Read more"Replace it with the target name
False phrase matchThe linked page answers a different question from the one discussed on the source pageRead the paragraph around the link and the opening of the target page
Unowned proposalRow remains proposed across releasesAssign an owner for the component and schedule the change for a release

Redirected and broken links often come from a shared template or a migration. Fix the component that generates your links. If your team cannot trace a fault in the deployed HTML, our technical SEO service can trace it.

Keep titles and anchors short enough to read at a glance.

Validate your internal link map after publishing

Mark the map as complete only after confirming that all your links appear on the live source page and that its target delivers what the anchor text describes. Test each link before you review aggregate reports.

Open the source URL in your browser. Find the anchor and read its sentence.

Then follow it and record the target that loads.

For example, follow the anchor "linen shirts for warm weather" in your fabric guide. The destination should be the indexable collection you approved, without a redirect or an empty product list.

  1. 1. Inspect the rendered source

    Confirm the intended anchor appears inside a standard link with an href. Test mobile and desktop when their navigation or modules differ.

  2. 2. Check the destination URL

    Record the response and redirect path. Record the canonical URL and indexing directive. The target should be the approved page. Duplicates and temporary routes fail the check.

  3. 3. Check that the anchor describes the target

    Read the anchor beside the target title and opening answer. If the words promise more than the page delivers, revise the anchor or target.

  4. 4. Crawl the release

    Confirm that the new link appears in the crawl graph and that template changes have not created unexpected links across the site.

  5. 5. Compare URL and link exports

    Compare the new crawl, sitemap, landing page and Search Console exports side by side. Record which URLs and links appear in each.

  6. 6. Record the outcome

    Close the row with the live source and final target. Record the observed anchor and test date. Reopen the row when either page changes.

Check Search Console's Links report against your own crawl. Export the 1,000 rows available in each table and compare them with your crawl.

Open every source page in the Links report, confirm that the link is live and record the source and target URLs in your release log.

  • Compare the report with your own crawl and release record.
  • Open each reported source and verify the current link in its rendered HTML.

Use site search or B2B keyword research to find passages where you could add a link. Check that the passage raises a question your target page answers.

Internal linking questions

A link you add in an editor such as Google Docs or WordPress points wherever the pasted address points, so paste the final canonical URL, not a redirect. The answers below cover the remaining basics: what an internal link is, how to create one and why it matters.

Sources

  1. Google Search Central Link best practices for Google accessed 25 September 2026
  2. Google Search Central Help Google understand your ecommerce site structure accessed 25 September 2026
  3. Google Search Central Sitelinks updated 4 February 2025
  4. Google Search Console Help Links report accessed 25 September 2026
  5. Google Docs Editors Help Work with links and bookmarks accessed 25 September 2026
  6. Semrush Internal links: ultimate guide and strategies 10 September 2026
  7. Ahrefs Internal Links for SEO: An Actionable Guide updated 10 March 2026
  8. Ahrefs On-Page SEO: How to Optimize for Robots and Readers 2026
  9. Backlinko Internal Links: The Definitive Guide updated 5 February 2026
  10. Search Engine Land Internal linking: The complete guide updated 27 November 2025
  11. Search Engine Land Website structure: The complete guide updated 27 November 2025
  12. Search Engine Journal Is Your Internal Linking Helping or Hurting Topical Authority? 5 February 2026
  13. Yoast Internal linking for SEO: Why and how? 12 November 2025
  14. Siteimprove Technical and structural signals that support authority 2026
  15. HTTP Archive SEO, 2025 Web Almanac published 15 January 2026, updated 9 June 2026
  16. W3C Technique G91: Providing link text that describes the purpose of a link updated 25 September 2025
  17. Screaming Frog How To Find Orphan Pages accessed 25 September 2026 This page carries no publication date of its own.
  18. arXiv WebKnoGraph: GNN-Powered Internal Linking 4 June 2026

Questions people ask

What do you mean by internal linking?

Internal linking connects one page on your domain to another. The anchor text describes the destination.

How do you create an internal link?

Choose a page that answers a question raised by the source page, then write descriptive anchor text. Add an <a> element with an href attribute, then follow the link after publishing.

Why is internal linking important for SEO?

Crawlers follow internal links using href attributes, while anchor text provides context about the linked pages. Internal links also signal which pages matter most across your site.

How do you add an internal link in Google Docs?

Google Docs lets you create a link by highlighting text and choosing Insert then Link. Before publishing, check that the link text names the target and the URL is the final canonical URL.