Home / Blog / Internal linking for SEO: the complete guide
Complete guide
Internal linking for SEO: the complete guide
Every page you publish is a promise that someone can reach it. Internal links are how you keep that promise — to readers and to search engines.
Internal linking is the practice of connecting 1 page on your website to another with a link. It sounds almost too simple to matter, but it is 1 of the few parts of SEO you fully control. Every internal link tells a search engine 2 things: that the destination page exists, and that the page you linked from thinks it is worth reading. Get this right and your whole site rises together. Get it wrong and your best pages sit unread, unranked, and unfound.
This guide explains what internal linking is, why search engines lean on it so heavily, and the exact workflow to fix the gaps on your own site. It is the long version. Each section links to a focused guide if you want to go deeper on 1 part.
What internal linking actually is
An internal link is any link that points from 1 page on your domain to another page on the same domain. The navigation bar is internal linking. A link from a blog post to a related post is internal linking. A footer link to your pricing page is internal linking. What makes a link internal is only that it stays on your site.
That is different from a backlink, which comes from another website and which you mostly cannot control. The whole appeal of internal links is the opposite: you decide where every 1 of them goes. If you have ever wondered how the 2 compare, the short answer is that backlinks earn you authority and internal links distribute it. You need both, but only 1 of them is yours to shape.
Search engines see your site as a graph — pages are dots, links are the lines between them. A crawler lands on one page it already knows, reads the links on it, and follows them to find more pages and index them. If there is no line leading to a page, the crawler has no way to walk to it at all. That is the entire reason internal linking matters: it is the road network search engines drive on to discover your content.
Why internal links matter for SEO
Internal links do 3 critical jobs at once. They help search engines discover pages, they help search engines understand what a page is about, and they distribute ranking signals across your site. Most site owners only think about the 3rd, but the 1st is where the damage usually hides.
How search engines use internal links
Google Search has to find a page before it can rank it, and the main way Googlebot finds pages is by following links. Google's own documentation is blunt about this: Google Search can only crawl a link if it is a real <a> tag with an href attribute resolving to a real URL that returns an HTTP 200 status. A <button> that loads content with JavaScript, a <span> wired up with an onclick handler, or a link buried 2 clicks behind a menu may never be followed at all. The format is not a detail — it is the difference between a page Googlebot reaches on its next crawl and a page Googlebot never sees.
Once a page is found, the anchor text of the links pointing to it — the visible, clickable words — gives Google Search a strong hint about the topic. 10 internal links that say "internal linking guide" tell Google Search, clearly, what that page is about. 10 generic links that all say "click here" tell it nothing at all. This is why the words you choose for your anchors carry real weight in Google Search ranking, and why thoughtless anchors waste the signal you could pass.
The 3rd job is authority—the core PageRank mechanism. Larry Page and Sergey Brin's original 1998 PageRank paper — still the simplest way to picture it — modelled a link as a vote, where each page passes a share of its own standing to every page it links to. A link from a strong, well-linked page like your homepage is worth more than a link from a thin page 3 levels deep in your site. So when you link from a popular post that already earns 5,000 visits a month to a page that needs help, you are handing some of that strength over deliberately. Google retired the public PageRank toolbar score in 2016, but the underlying idea — that links distribute authority and ranking power — still runs underneath how pages rank in Google Search.
What orphan pages cost you
An orphan page is a published page that nothing on your site links to. No menu, no related-posts block, no in-text link — 0 links from your site. To a reader arriving from elsewhere it looks fine. To search engines it is almost invisible, because there is no road leading to it.
Orphan pages are more common than most people expect. They pile up when you migrate a site, delete a category, redesign a menu, or simply publish faster than you link. The page might be excellent. It might be the exact answer someone is searching for on Google Search. But if no internal link points at it, it will struggle to be crawled by Googlebot, struggle to be indexed, and almost never rank. Finding those orphan pages is usually the highest-return SEO work a site can do, precisely because the content already exists — it is just stranded, invisible to search engines.
Internal links and crawl budget
There is a 2nd, quieter cost to a tangled link structure, and it matters more the larger your site gets. search engines do not crawl every page of every site on every visit. They allocate a rough budget — how many pages they will fetch in a given window — and they spend it on the pages your links lead them to most directly. A page that sits 5 clicks deep, reachable only through a chain of thin category pages, gets visited rarely. A page reachable in 2 clicks from your homepage gets visited often, and re-crawled quickly when you update it.
Internal linking is how you spend that budget on purpose. By linking your most important pages from pages that are themselves well-linked, you pull them closer to the surface — from 5 clicks deep to 2, more frequent crawling, faster indexing of changes. A good target is to keep every page that matters within 3 clicks of the homepage. This is why flattening a deep structure, and linking laterally between related pages instead of only up and down a rigid menu, tends to lift a whole section at once. The pages were always there; you simply made them cheaper for Googlebot to reach. On a 50-page site this is a footnote. On a site with 10,000 URLs it is the difference between your new content being indexed in 1 day and being indexed a month later, if at all.
The anatomy of a good internal link
Not all internal links are equal. A good one has 3 properties, and they are worth holding in mind every time you add 1.
First, descriptive anchor text. The clickable words should describe the page you are linking to. "Read our guide to anchor text" is good; "read more" is wasted. The anchor is a label search engines and readers both rely on — our complete guide to anchor text breaks down the types that work, the mistakes to avoid, and how to audit your own, with worked anchor text examples, a plain-language definition of the term, and the HTML markup behind every link.
Second, contextual relevance. The best internal links sit inside the body of related content, where a reader genuinely might want to follow them. A link from a paragraph about WordPress to a guide on fixing orphan pages in WordPress is earned by the context. A link dropped at random is not.
Third, a sensible source. The page you link from should have some authority of its own, and should be topically related. Linking to a new page from 3 established, relevant posts does far more than linking to it from a buried page no one reads.
There is a 4th, quieter property: the link should be honest. It should point where the anchor says it points, and the destination should reward the click. search engines have spent 20 years learning to punish the alternative.
How many internal links should a page have?
This is the question everyone asks, and the honest answer is that there is no magic number. Google Search once suggested keeping links on a page to a "reasonable" amount, and the practical reading of that is: as many as genuinely help the reader, and no more. A long, thorough guide might earn 15 internal links. A short post might want 3 well-chosen ones.
What you want to avoid is link-stuffing — cramming in links because you read that links are good. That dilutes the signal each link carries and makes the page tiring to read. A useful rule of thumb is 3-5 well-chosen internal links per 1,000 words, but treat it as a floor for thin pages and a ceiling for nothing—the benchmark is reader experience, not a quota. The full reasoning, and the research behind it, is in our guide on how many internal links a page should have.
A practical workflow: from audit to fixed links
Theory is easy. The reason internal linking stays broken on most sites is that the work is tedious: you have to know which pages are stranded, decide where to link them from, and write each anchor by hand. Here is the 4-step workflow that actually fixes it.
Step 1: find your orphan pages
You cannot fix what you cannot see. The first step is a complete list of the pages that have no internal links pointing to them. There are 3 ways to get this. You can use Google Search Console, which knows which of your pages it has seen and how often they appear in search. You can run a desktop crawler like Screaming Frog, which maps your link graph but needs you to feed it analytics data to spot the orphans. Or you can let a tool do the crawl and the cross-reference for you.
The important part is not the tool — it is ranking the results. A list of 200 orphan pages is useless if you cannot tell which ones matter. recto ranks orphan pages by their Google Search Console impressions, so the pages already getting almost found float to the top. Those are the ones worth saving first.
Step 2: pick the right source pages
Once you know which page to rescue, you need to decide where to link it from. The best source page is relevant, already has some authority, and contains a sentence the link can attach to naturally. This is the genuinely hard part, especially on a large site, because the right source might be a post you wrote 3 years ago and forgot. Tools that help you interlink your blog posts—like Link Whisper or recto—earn their keep here, because they surface the candidates you would never remember on your own—the 150+ posts from 2023 buried in your archive.
Step 3: write the anchor
With a source page chosen, you write the anchor — the 3-5 words that will become the link. The best anchors are phrases you have already written, where the link simply attaches to an existing sentence rather than bolting on an awkward "click here to read more." This keeps the page reading like prose and keeps the anchor descriptive. recto is built around this idea: it finds a phrase already in your text that fits the destination, so the link feels like it was always there.
Step 4: publish and verify
The last step is the one most people skip: confirming the link is actually live. It is surprisingly easy to publish an edit that does not take — a cache, a draft that never went live, a plugin that stripped the link. The discipline that separates a finished job from a half-finished one is to re-fetch the page after publishing and check the link is really in the HTML. recto does this automatically: after it pushes a link through the WordPress REST API, it fetches the live page again within seconds and confirms the link is there in the source code before it tells you the job is done.
Internal linking on WordPress
Most of the sites that struggle with orphan pages run on WordPress, so it is worth saying how this works there specifically. WordPress makes it easy to publish and surprisingly easy to strand pages, because every new post, product, and category can exist without anything linking to it—no internal links required by default.
You can add internal links by hand in the Block Editor, which is fine for a handful but punishing at scale. There are plugins that suggest links as you write—tools like Link Whisper and Semrush. And there is the WordPress REST API, which lets a tool insert a link into an existing post programmatically and safely. If you want the mechanics, we have a step-by-step on adding internal links in WordPress and a focused guide on fixing orphan pages on WordPress end to end.
Tools: what to do by hand and what to automate
You can do all of this manually, and for a small site you probably should — it keeps you close to your own content. The trouble starts at scale. A site with hundreds of pages has a link graph no human holds in their head, and the orphan pages tend to be the older, forgotten ones precisely because they are forgotten.
This is where automation helps, and where most tools overreach. The popular ones either rewrite your content with AI — inventing sentences to hang links on — or lock the work behind a monthly subscription fee. recto takes a narrower stance: it never rewrites your posts, it uses anchors from text you already wrote, and it is a one-time purchase rather than a recurring bill. If you are weighing the options, we wrote an honest comparison with Link Whisper, the best-known plugin in this space for internal linking automation.
Common internal linking mistakes
5 mistakes show up again and again. Generic anchors — "click here," "read more" — throw away the topic signal. Orphan pages left to rot after a migration or redesign. Link-stuffing, where a page carries 30 links and means nothing by any of them. Linking only from new content, so your authority never reaches the older pages that need it. And never verifying, so broken or stripped links sit live for months.
Every 1 of these is a quiet failure. None of them throws an error. The page looks fine; it just does not rank. That is what makes internal linking such reliable, overlooked SEO work — the problems are invisible until you go looking for them.
The good news is that the same quietness works in your favour once you start fixing them. You do not need new content, a bigger budget, or a redesign. The pages already exist and the authority already lives somewhere on your site; the job is only to connect the 2. A single well-placed internal link, pointing from a page people already read to a page that was stranded, can move that stranded page from invisible to ranking within 1 crawl cycle. Few SEO tasks have that ratio of effort to result, which is exactly why it is worth doing deliberately rather than by accident.
Go deeper: the internal linking library
This guide is the hub. Each guide below goes deep on one part of the system:
- Foundations: why internal links matter for SEO, and the internal linking tools that find and fix the gaps.
- Pillar pages and structure: what a pillar page is, how to build pillar pages, real pillar page examples, and the site structure templates that hold a topic cluster together.
- Audit and maintenance: run an internal linking analysis, a step-by-step internal link audit, or a quick internal link check — and learn when to trust automatic internal linking.
Where recto fits
recto exists because this workflow is real work and almost nobody does it consistently. It crawls your site, pulls your Google Search Console data, and shows you the orphan pages that are closest to ranking in Google Search. For each one it finds a relevant source page and a phrase already in that page's text to use as the anchor. You approve the link, and recto publishes it through the WordPress REST API and re-fetches the page to confirm it went live. No subscription, no AI rewriting your words — just orphan pages found, ranked, and linked in 3 minutes per post.
Internal linking is not glamorous. It is map-making: drawing the roads that let readers and search engines reach every page you worked hard to publish. Start with the orphans that are closest to being found, link them from the pages that can lend a hand, and verify the work landed. Do that consistently and your whole site gets easier to find in Google Search — one honest link at a time.
Sources
- Google requires crawlable links to discover pages — developers.google.com
- Google's SEO starter guide on site structure and internal links — developers.google.com
- PageRank: links pass authority between pages — en.wikipedia.org
- Google Search Console Links report — support.google.com