Skip to content

SEO strategy

Internal links in SEO: what internal linking is and the rules that matter

Internal linking is the practice of connecting the pages of one website to each other with contextual links, so that readers can move between related pages and so that search engines can discover, understand and rank them in relation to one another.

Last reviewed October 12, 2026 · 7 min read

Reviewed by Yurii, Founder of Structura

It is the cheapest lever in SEO and the one most often left untouched, because nothing visibly breaks when you skip it. A site with no internal links still loads, still reads, still converts. It just quietly buries three quarters of itself.

Google is explicit about the discovery half: "The vast majority of the new pages Google finds every day are through links, making links a crucial resource you need to consider to help your pages be discovered." A page nobody links to is a page that depends entirely on a sitemap entry to exist — and being crawlable is not the same as being considered important.

The second half is about meaning. Each link tells a search engine two things: that the target is worth reaching from here, and — through the anchor text — what the target is about. Google's link guidance is blunt on that point: good anchor text is "descriptive, reasonably concise, and relevant to the page", and "click here" is the canonical example of throwing the signal away.

The third half, if there can be one, is about distribution. Whatever authority a page has earned from external links flows onward through its own outbound internal links. That is how a post that happened to get picked up somewhere can lift the five pages it references — and why a well-linked archive compounds while an unlinked one does not.

The rules that actually matter

Links must be real anchors. Google can only follow a link that is an <a> element with an href attribute resolving to a real URL. A <span> with a click handler, or a button that pushes a route, is invisible to a crawler. This sounds like a solved problem and is still the single most common way a site hides its own pages.

Anchor text is a description, not a slogan. Write the words a reader would use to describe the destination. "Our guide to search intent" beats "read more", and it beats an exact-match keyword phrase repeated on forty pages, which reads as manipulation to the engine and as robotic to the human.

Link from context, not from a footer block. A link inside a paragraph, placed where the reader is likely to want it, is worth more than the same URL in a "related posts" widget — to the reader obviously, and to the engine because surrounding text is part of how the relationship is understood.

Every page should be reachable from another page. Orphan pages — reachable only from the sitemap — are the standard symptom. They accumulate silently on any site that publishes over time, because nobody goes back to the older posts to link forward.

Old pages should link to new ones. Most sites only ever link forward in time: a new post references three old ones and no old post ever mentions the new one. That is backwards. The pages with accumulated authority are the old ones, and they are the ones whose links are worth something.

Depth is a signal, not a rule. "Three clicks from the homepage" is a rule of thumb, not a Google guideline. What it approximates is real: pages buried behind pagination and archive pages get crawled less and understood worse. Fix the burial, not the click count.

How internal linking builds structure

A collection of well-placed links is not the same as a structure. When a site covers a subject properly, the links stop being decoration and start describing a shape — one broad page that frames the subject and a set of deeper pages that each take one part of it, all pointing at each other. That shape is what a pillar page and a content hub formalise, and it is the mechanism behind topical authority: coverage that a search engine can see is coverage, because the links say so.

That is also why an internal-linking pass is the natural first step before any content pruning. Once you can see which pages nothing links to and which pages everything links to, the decisions about what to merge, redirect or keep make themselves.

In the block editor. Select the words that will become the anchor and press Ctrl+K (⌘+K on a Mac), or use the link button in the block toolbar. WordPress's link control then searches your own site as you type: start with a post or page title and pick it from the list, with no URL to copy. Leave "Open in new tab" off for internal links, and leave nofollow off too, for the reason in the FAQ below.

With a suggestions plugin. Yoast SEO Premium shows related posts in a box beside the editor while you write, ranked by how many prominent words they share with your draft, and you drag or copy a link into the text. Yoast also counts each post's internal links in the post list, which is the quickest way to spot a page nothing points to. Rank Math has a Link Suggestions box, switched on under Titles & Meta → Posts in Advanced Mode, that lists related posts by title or focus keyword, with buttons to copy the URL or insert the link; its newer AI Link Genius features are part of Rank Math PRO.

The half the editor does not prompt. Suggestion boxes help with links out of the post you are writing. Links into it from older posts, the direction that carries the most weight, still mean going back to those posts and editing them.

If Structura publishes the post, a campaign with internal link optimization switched on writes contextual links to related posts already live on your site into the body, so the outbound half is done before the draft reaches you. The section below covers what it does after that.

How Structura handles this

Internal linking is one of the parts Structura does automatically, because it is exactly the kind of work that is easy to specify and tedious to sustain.

When Structura drafts a post it has the site's own published archive available as link targets, and it writes contextual links into the body — real anchors, descriptive anchor text, chosen from what the site has actually published rather than invented. The links point at live URLs on your domain, not at placeholders that need fixing afterwards.

It also keeps the archive honest over time. Slugs change, posts get unpublished, taxonomy shifts; a link that was correct on the day it was written can rot. On headless sites, Structura checks every internal link when a post is delivered: an anchor that matches a published post's title is pointed at that post's real URL, and a link to a page that does not exist is removed while its text stays. It does not revisit links inside posts that are already published; that maintenance half of internal linking is still yours.

You can see the whole mechanism, and what else runs alongside it, on the blog SEO software page.

FAQ

There is no correct number, and any specific figure you find is someone's rule of thumb rather than a guideline. Link where a reader would plausibly want to go next. On a long explainer that tends to be a handful; on a short update it might be one. A page with thirty links in the body is usually a page with a navigation problem, not a linking strategy.

No. rel="nofollow" on internal links is almost never right — it tells search engines not to pass signals within your own site, which is the opposite of the point. The historical practice of "PageRank sculpting" with nofollow has not worked for many years.

It helps discovery and it is better than nothing, but it is not a substitute for contextual links. A widget generates the same block on every page, so the relationships it expresses are generic; a link inside a sentence expresses a specific one, and the sentence around it is part of what makes the relationship legible.

Share this post