Internal Links

Internal links are how search engines discover your pages and pass ranking signals between them — strategy, anchor text, PageRank, and audits.

First published: Jun 25, 2026 · Last updated: Jul 27, 2026 · Advanced
demand #6 in Website Structure#75 in Technical SEO#99 on the site

Internal links are hyperlinks between pages on the same site, and they do two jobs: they help search engines discover your pages, and they pass ranking signals (PageRank plus anchor-text context) between them. John Mueller calls internal linking 'super critical for SEO.' Descriptive anchor text beats generic 'click here'; there's no magic limit on links per page (the old 100-link rule is a myth); and pages buried more than 3–4 clicks from the homepage get crawled less. Never nofollow your own internal links to 'sculpt' PageRank — that's been dead since 2009, and the equity just evaporates. The highest-ROI audit fixes are orphan pages and broken links.

TL;DR — Internal links do two distinct jobs: discovery (they’re the #1 way Googlebot finds URLs) and signal-passing (PageRank flows along them, and anchor text supplies topical context). Mueller calls internal linking “super critical for SEO.” To be crawlable, a link must be a real <a href> — not an onclick or a router attribute. There’s no documented max links per page (the 100-link rule is a myth), but linking every page to every other page destroys the hierarchy signal. Click depth is your most actionable metric: pages 4+ clicks deep get crawled and weighted less. Never nofollow internal links to sculpt PageRank — dead since 2009; the equity evaporates rather than redistributes. Highest-ROI audit fixes: orphan pages, then broken links, then click depth.

An internal link points from one page on your site to another page on the same site. The technical requirement is the part people skip: to be crawlable by Google, it has to be a standard HTML anchor element with an href. Google is explicit — “Google can only crawl your link if it’s an <a> HTML element… with an href attribute.” Evidence for this claim Google can reliably crawl standard anchor elements with href attributes, making internal links a discovery path. Scope: Google crawlable-link requirements. Confidence: high · Verified: Google Search Central: Crawlable links

These are crawlable:

<a href="https://example.com/shoes/">Running shoes</a>
<a href="/products/category/shoes">Running shoes</a>

These are not crawlable, and they’re how a lot of JavaScript-framework sites quietly orphan their own pages:

<a routerLink="products/category">Shoes</a>          <!-- no href -->
<span href="https://example.com">Shoes</span>        <!-- not an anchor -->
<a onclick="goto('https://example.com')">Shoes</a>   <!-- onclick, no href -->

Martin Splitt’s exasperation on this is well earned: “There is an HTML link tag, you put a URL in the href, that’s how you link and I don’t know why people are reinventing the wheel.” If your “links” are click handlers, the page on the other end may never get discovered.

One nuance: Google does render JavaScript, and a link that only exists after client-side rendering can still be picked up — but rendering is a separate, later stage from the initial crawl. That’s not a reason to skip putting real href values in your source HTML. Rendering can eventually surface a link added by script; it can’t rescue a click handler that never gets a real href at all — that’s still outside the crawlable-link contract above.

This is the single most useful mental model on this page. Internal links serve two separate functions, and a page can have one without the other.

Job one — discovery. Internal links are the primary mechanism by which crawlers find new and updated URLs. Google: “The vast majority of the new pages Google finds every day are through links.” And: “Googlebot discovers new URLs to crawl primarily from links embedded in previously crawled pages.” This is why orphan pages are a discovery dead end — there’s no link for the crawler to follow.

Job two — passing ranking signals. Internal links pass PageRank, Google’s foundational link-based authority signal, from page to page. Mueller summarized both jobs at once: “Essentially, internal linking helps us on the one hand to find pages, so that’s really important. It also helps us to get a bit of context about that specific page.” The “context” comes from the anchor text and from where the page sits in your link graph.

A page can be discoverable (one link points to it) but still weak (only one link points to it). The two jobs scale independently.

Let’s kill a common doubt: PageRank is not dead. The public toolbar score was retired in 2016, but the internal algorithm is alive. Gary Illyes, in 2016: “Did you know that after 18 years we’re still using PageRank (and 100s of other signals) in ranking?” Mueller has confirmed Google computes PageRank for internal links the same way it does for external ones, and that more internal links to a page raise Google’s inferred importance for it.

The practical consequence: internal links are the lever you use to concentrate authority on your priority pages. As I’ve put it in my Pubcon Local 2021 talk, “internal links are links from one page on your site to another page on your site, and these also pass PageRank.” On the Ahrefs side, the rule of thumb is simple — the more internal links a page has, the higher its PageRank, and you direct the flow of PageRank around your site by choosing what to link.

One nuance worth knowing for local SEO: in my Pubcon Local 2021 talk on local link building, internal links seemed to matter more for local queries. My read is that local search has fewer external link signals to go around, so your internal link structure carries proportionally more weight.

Anchor text: context, not keyword-stuffing

Anchor text is a context signal, and quality matters — but quality means descriptive, not keyword-crammed. Google’s guidance: “Good anchor text is: descriptive, reasonably concise, and relevant to the page that it’s on and to the page it links to.” Evidence for this claim Google recommends descriptive, concise, relevant anchor text for internal links. Scope: Google anchor-text best practices. Confidence: high · Verified: Google Search Central: Anchor text The failure mode to fix is generic anchor text — “click here,” “read more,” “learn more” — which tells search engines nothing.

What you should not do is force exact-match keywords into every internal anchor. Mueller, directly on this: you don’t need to change anchor text to “buy your cheese online here,” and keyword-optimizing internal anchors is “not something where you would see a visible effect in search.” Descriptive variation (“email marketing strategies,” “how to set up email automation”) all pointing at the same page is fine and natural. Bing is a little more keyword-forward than Google in its wording, but the principle — descriptive and contextually relevant — holds for both.

Evidence for this claim Google recommends descriptive, concise, relevant anchor text for internal links. Scope: Google anchor-text best practices. Confidence: high · Verified: Google Search Central: Anchor text

Two narrow edge cases worth knowing, so you don’t over-generalize them. First, if an anchor has no visible text at all, Google falls back to reading the link’s title attribute — but that’s a fallback for an otherwise-empty anchor, not a substitute for writing real anchor text on a normal text link. Second, when the clickable content is an image rather than text, Google treats the image’s alt attribute as the anchor text — so a linked image needs a real, destination-describing alt value, the same way a text link needs descriptive words, not a decorative or empty one.

There is no documented maximum from Google. The old “100 links per page” limit is a myth — it traces back to a long-retired technical recommendation, not a ranking rule. Google’s current line: “There’s no magical ideal number of links a given page should contain. However, if you think it’s too much, then it probably is.”

But “more is always better” is also wrong, and for a subtle reason: linking everything to everything destroys the hierarchy signal. Mueller: “if all pages are linked to all other pages on the website, where you essentially have like a complete internal linking across every single page, then there’s no real structure there.” A fully connected graph tells Google nothing about which pages matter most. Selective linking is what creates a readable importance hierarchy. For a typical article, 3–5 contextual links alongside your normal navigation is a sensible starting point.

Click depth is your most actionable metric

Click depth — how many clicks from the homepage a page sits — is Google’s rough proxy for importance. Mueller: “if it’s one click from the homepage… then that tells us that these stores are probably pretty relevant.” And on the flip side, “a flatter site structure is easier for us to crawl. If we have to go through a lot of pages to actually find the content, then that’s going to be a bit harder.”

Pages more than 3–4 clicks deep tend to get crawled less frequently and receive less PageRank. On large sites, reducing click depth — surfacing buried pages through hub pages, related-content modules, and navigation — is often the highest-ROI technical change you can make.

This is the one to get tattooed. PageRank sculpting — adding nofollow to internal links to funnel equity toward “important” pages — has been dead since 2009. Before then, nofollowing a link redistributed its share to the page’s other links. Google changed that: now the PageRank assigned to a nofollowed link evaporates. It doesn’t move anywhere — it’s just gone. So nofollowing internal links doesn’t redirect authority; it destroys it.

Illyes has been blunt that you shouldn’t nofollow your own internal links — it’s “probably never the answer, especially on your own site.” And note the 2019 change: nofollow is now a hint, not a directive, so it doesn’t even reliably stop crawling. If you genuinely need to keep bots out of a URL space (faceted-nav parameter explosions, internal search results), the right tool is robots.txt disallow, not nofollow on links. (For the full link-attribute story — nofollow, sponsored, ugc — see the dedicated nofollow write-up.)

One more myth while we’re here: structured data is not a substitute for internal links. Mueller: “Even if in the structured data you also provide URLs, we don’t use those URLs in the same way as we would use normal internal links on a page.” You still need real HTML links.

And nofollow doesn’t wall the destination off, either. If the same URL is linked elsewhere on your site without nofollow, listed in your sitemap, or already known to Google from a prior crawl, it can still be discovered and crawled through that other path. Nofollow is a qualification on one link, not a destination-wide crawl or index control — which is exactly why it’s the wrong tool for keeping a URL space out of the index in the first place.

One more separation worth keeping straight before you audit: a crawlable internal link only gets a URL found, and possibly crawled — it can’t override what happens to that URL afterward. If the destination redirects, returns an error, carries a noindex tag, or resolves to a different canonical URL, no amount of internal linking makes it independently indexable. Debug those signals — response code, robots access, canonical target, noindex state — on the destination itself, separately from whether the link pointing to it is well-formed.

  1. Orphan pages — the #1 fix. Pages with zero internal links can’t be discovered through your own link graph and receive zero internal PageRank. Find them, link to them from relevant pages.
  2. Broken internal links (4XX). Links pointing at dead URLs waste the signal and the crawl. Fix or repoint them.
  3. Click depth. Find pages buried 4+ clicks deep and pull the important ones closer to the homepage.
  4. Link-equity mapping. Make sure your highest-value pages are receiving the most (and most relevant) internal links — and that you’re not flattening the hierarchy by linking everything to everything.

Tools: Google Search Console (Links report), Ahrefs Site Audit, and Screaming Frog all surface orphans, broken links, and depth.

Where to go next

This is the hub for internal linking. Internal links are one piece of the broader on-page SEO picture — the signals you control on the page itself. From here, the natural neighbors are header tags (the H1–H6 structure that gives a page its outline) and image SEO (alt text, which doubles as the anchor text for image links). Those topics live in the same on-page pillar and will auto-link once published.

Internal links also sit on the boundary with technical SEO: they’re the front half of crawl discovery (the back half being sitemaps and push protocols), and the structure they create is what site architecture and crawl depth are really about. If your internal-link problem is really a crawlability problem, start there.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin an expert quote first.